[Botan-devel] Build Problems with VC7 and Botan 1.6.3

Helms, Jim jhelms at drti.com
Mon Nov 12 15:40:00 EST 2007


Thank you, Jack!

Compiles fine now.

Regards,
Jim

-----Original Message-----
From: botan-devel-bounces at randombit.net
[mailto:botan-devel-bounces at randombit.net] On Behalf Of Jack Lloyd
Sent: Monday, November 12, 2007 3:38 PM
To: Botan development list
Subject: Re: [Botan-devel] Build Problems with VC7 and Botan 1.6.3

Hi Jim,

Argh, I had forgotten that this fix didn't go into 1.6.3 but actually
was checked in a week after that release. Try this change:

#
#
# patch "src/x509stat.cpp"
#  from [b130151797ab920e8508203fd382c49100d8d86e]
#    to [ad0ea0d4cc9ef4a1aa9ae278b80ffce29d47f237]
#
============================================================
--- src/x509stat.cpp   b130151797ab920e8508203fd382c49100d8d86e
+++ src/x509stat.cpp   ad0ea0d4cc9ef4a1aa9ae278b80ffce29d47f237
@@ -41,8 +41,8 @@ X509_GlobalState::X509_GlobalState()
          {                                                   \
          Certificate_Extension* make(const OID& oid)         \
             {                                                \
-            if(OIDS::name_of(oid, NAME))                     \
-               return new Cert_Extension::TYPE();            \
+            if(Botan::OIDS::name_of(oid, NAME))              \
+               return new Botan::Cert_Extension::TYPE();     \
             return 0;                                        \
             }                                                \
          };

I need to roll up a 1.6.4 with this fix applied.

The code there is actually fine, there is a bug in VC 2003 where for
some reason it doesn't see those names unless they are explicitly
qualified with the namespace name, despite the fact that the calls are
inside the namespace. I think this was fixed in VC 2005.

-Jack

On Mon, Nov 12, 2007 at 03:25:52PM -0500, Helms, Jim wrote:
> Hello,
>
>
>
> I'm having some trouble building Botan 1.6.3 on my Windows machine.
The
> perl script ran fine, but when I go to actually nmake the file I get
the
> following errors:
>
>
>
> src\x509stat.cpp(53) : error C2326: 'Botan::Certificate_Extension
> *Botan::X509_GlobalState::__ctor::Key_Usage_Prototype::make(const
> Botan::OID &)' : function cannot access 'Botan::OIDS'
>
> src\x509stat.cpp(53) : error C2326: 'Botan::Certificate_Extension
> *Botan::X509_GlobalState::__ctor::Key_Usage_Prototype::make(const
> Botan::OID &)' : function cannot access 'Botan::Cert_Extension'
>
> src\x509stat.cpp(54) : error C2326: 'Botan::Certificate_Extension
>
*Botan::X509_GlobalState::__ctor::Basic_Constraints_Prototype::make(cons
> t Botan::OID &)' : function cannot access 'Botan::OIDS'
>
> src\x509stat.cpp(54) : error C2326: 'Botan::Certificate_Extension
>
*Botan::X509_GlobalState::__ctor::Basic_Constraints_Prototype::make(cons
> t Botan::OID &)' : function cannot access 'Botan::Cert_Extension'
>
> src\x509stat.cpp(55) : error C2326: 'Botan::Certificate_Extension
> *Botan::X509_GlobalState::__ctor::Subject_Key_ID_Prototype::make(const
> Botan::OID &)' : function cannot access 'Botan::OIDS'
>
> src\x509stat.cpp(55) : error C2326: 'Botan::Certificate_Extension
> *Botan::X509_GlobalState::__ctor::Subject_Key_ID_Prototype::make(const
> Botan::OID &)' : function cannot access 'Botan::Cert_Extension'
>
> src\x509stat.cpp(56) : error C2326: 'Botan::Certificate_Extension
>
*Botan::X509_GlobalState::__ctor::Authority_Key_ID_Prototype::make(const
> Botan::OID &)' : function cannot access 'Botan::OIDS'
>
> src\x509stat.cpp(56) : error C2326: 'Botan::Certificate_Extension
>
*Botan::X509_GlobalState::__ctor::Authority_Key_ID_Prototype::make(const
> Botan::OID &)' : function cannot access 'Botan::Cert_Extension'
>
> src\x509stat.cpp(57) : error C2326: 'Botan::Certificate_Extension
>
*Botan::X509_GlobalState::__ctor::Extended_Key_Usage_Prototype::make(con
> st Botan::OID &)' : function cannot access 'Botan::OIDS'
>
> src\x509stat.cpp(57) : error C2326: 'Botan::Certificate_Extension
>
*Botan::X509_GlobalState::__ctor::Extended_Key_Usage_Prototype::make(con
> st Botan::OID &)' : function cannot access 'Botan::Cert_Extension'
>
> src\x509stat.cpp(58) : error C2326: 'Botan::Certificate_Extension
>
*Botan::X509_GlobalState::__ctor::Issuer_Alternative_Name_Prototype::mak
> e(const Botan::OID &)' : function cannot access 'Botan::OIDS'
>
> src\x509stat.cpp(58) : error C2326: 'Botan::Certificate_Extension
>
*Botan::X509_GlobalState::__ctor::Issuer_Alternative_Name_Prototype::mak
> e(const Botan::OID &)' : function cannot access
'Botan::Cert_Extension'
>
> src\x509stat.cpp(59) : error C2326: 'Botan::Certificate_Extension
>
*Botan::X509_GlobalState::__ctor::Subject_Alternative_Name_Prototype::ma
> ke(const Botan::OID &)' : function cannot access 'Botan::OIDS'
>
> src\x509stat.cpp(59) : error C2326: 'Botan::Certificate_Extension
>
*Botan::X509_GlobalState::__ctor::Subject_Alternative_Name_Prototype::ma
> ke(const Botan::OID &)' : function cannot access
'Botan::Cert_Extension'
>
> src\x509stat.cpp(60) : error C2326: 'Botan::Certificate_Extension
> *Botan::X509_GlobalState::__ctor::CRL_Number_Prototype::make(const
> Botan::OID &)' : function cannot access 'Botan::OIDS'
>
> src\x509stat.cpp(60) : error C2326: 'Botan::Certificate_Extension
> *Botan::X509_GlobalState::__ctor::CRL_Number_Prototype::make(const
> Botan::OID &)' : function cannot access 'Botan::Cert_Extension'
>
> src\x509stat.cpp(61) : error C2326: 'Botan::Certificate_Extension
>
*Botan::X509_GlobalState::__ctor::Certificate_Policies_Prototype::make(c
> onst Botan::OID &)' :function cannot access 'Botan::OIDS'
>
> src\x509stat.cpp(61) : error C2326: 'Botan::Certificate_Extension
>
*Botan::X509_GlobalState::__ctor::Certificate_Policies_Prototype::make(c
> onst Botan::OID &)' :function cannot access 'Botan::Cert_Extension'
>
>
>
> I looked at the code and everything looks alright there, so I'm hoping
> this is a simple environment problem on my end.  Here are my INCLUDE
and
> LIB variables:
>
>
>
> INCLUDE=C:\Program Files\Microsoft Visual Studio .NET
> 2003\Vc7\include;C:\Program Files\Microsoft Visual Studio .NET
> 2003\Vc7\PlatformSDK\Include;C:\Program Files\Microsoft Visual Studio
> .NET 2003\SDK\v1.1\include\
>
>
>
> LIB=C:\Program Files\Microsoft Visual Studio .NET
> 2003\Vc7\lib;C:\Program Files\Microsoft Visual Studio .NET
> 2003\Vc7\PlatformSDK\Lib;C:\Program Files\Microsoft
>
>  Visual Studio .NET 2003\SDK\v1.1\Lib\
>
>
>
> I recently switched from a VC6 environment up to VC7, so I may well
have
> missed something important.
>
>
>
> Thank you for your help.
>
> Jim Helms
>

> _______________________________________________
> botan-devel mailing list
> botan-devel at randombit.net
> http://www.randombit.net/mailman/listinfo/botan-devel

_______________________________________________
botan-devel mailing list
botan-devel at randombit.net
http://www.randombit.net/mailman/listinfo/botan-devel


More information about the botan-devel mailing list