Thanks Victor,

I got it by editing libeay32.def but the effect is the same.

I also fixed it with the following patch to mkdef.pl

--- util/mkdef.pl       2006-06-10 02:01:14.000000000 +1000
+++ mkdef.pl    2006-11-16 09:42:53.000000000 +1000
@@ -754,6 +754,8 @@
                                        $def .= "int i2d_$1_NDEF(void);";
                                } elsif 
(/^\s*DECLARE_ASN1_SET_OF\s*\(\s*(\w*)\s*\)/) {
                                        next;
+                               } elsif 
(/^\s*IMPLEMENT_ASN1_SET_OF\s*\(\s*(\w*)\s*\)/) {
+                                       next;
                                } elsif 
(/^\s*DECLARE_ASN1_PRINT_FUNCTION\s*\(\s*(\w*)\s*\)/) {
                                        $def .= "int $1_print_ctx(void);";
                                        next;

This results in this macro being marked as NOEXIST.
Note: its just a copy of the lines above for 'DECLARE_ASN1_SET_OF' which 
is also an empty macro so I assume they should be handled the same.

Cheers,

Simon McMahon.




"Victor B. Wagner" <[EMAIL PROTECTED]> 
Sent by: [EMAIL PROTECTED]
11/15/2006 05:56 PM
Please respond to
openssl-dev@openssl.org


To
openssl-dev@openssl.org
cc

Subject
Re: Windows build fail of openssl-SNAP-20061114






On 2006.11.15 at 15:47:40 +1000, Simon McMahon wrote:

> Hi,
> 
> Using MSVC++ 6.0
> 
> I followed all the instructions in install.w32 including:
> > perl util\mkdef.pl crypto ssl update
> to get the "things not having numbers assigned" error to go away. Then:
> > ms\do_ms
> worked ok. Then:
>  > nmake -f ms\ntdll.mak
> built the .c files but failed on the link:
>         rc /fo"tmp32dll\libeay32.res" /d CRYPTO ms\version32.rc
>         link /nologo /subsystem:console /opt:ref /dll 
> /out:out32dll\libeay32.dll
>  /def:ms/LIBEAY32.def @C:\DOCUME~1\simonm\LOCALS~1\Temp\nma02892.
> LIBEAY32.def : error LNK2001: unresolved external symbol 
> IMPLEMENT_ASN1_SET_OF
> out32dll\libeay32.lib : fatal error LNK1120: 1 unresolved externals
> LINK : fatal error LNK1141: failure during build of exports file
> NMAKE : fatal error U1077: 'link' : return code '0x475'
> Stop.
> 
> I went back to openssl-0.9.8d and it built OK for me.
> 
> Any suggestions?

Manually edit libeay.num file after running
mkdef.pl crypto ssl update and just remove line containing
IMPLEMENT_ASN1_SET_OF.

It is not a function, it is a macro, but for some reason I've not found
time to investigate, mkdef consider it a function. 

It is not a problem for those who wish just build OpenSSL. It is problem
for people who wish to add new functions and make mkdef.pl see them.

Really, someone who have deep understanding of mkdef.pl work should
check header files, find out what's wrong with IMPLEMENT_ASN1_SET_OF
macro - why mkdef consider it a function, but handles other such macros
(there are lot of them) appropriately, and fix either header or mkdef.pl

> 
> ______________________________________________________________________
> OpenSSL Project                                 http://www.openssl.org
> Development Mailing List                       openssl-dev@openssl.org
> Automated List Manager                           [EMAIL PROTECTED]
> 
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           [EMAIL PROTECTED]


______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to