Re: rebuilding OpenSSL under Strawberry Perl
[email protected] (kmx) Thu, 12 Sep 2013 22:17:45 +0200
| Newsgroups | perl.win32.vanilla |
|---|---|
| Message-ID | <[email protected]> |
I can reproduce your failure. My first build was 64bit and went fine. I am afraid it is an issue with openssl-fips and/or openssl configure script or makefile. -- kmx On 10.9.2013 18:37, Thomas J Pinkl wrote: > On 09/10/2013 04:35 AM, kmx wrote: >> openssl-fips-2.0.5 seems to build fine for me, here is how you can do it: > > kmx, thanks for taking the time to help with this. My build is failing > at step 6 (see below). > >> 1/ download MSYS environment from >> http://sourceforge.net/projects/perlmingw/files/MSYS%20Environment%20for%20End%20Users/ >> >> >> 2/ unpack standard-msys-20111122.7z into - e.g. c:\dev\msys >> >> 3/ make sure you have gcc compiler from strawberry perl in your PATH - >> e.g. c:\strawberry\c\bin >> >> 4/ unpack sources >> openssl-fips-2.0.5.tag.gz into e.g. c:\dev\openssl-fips-2.0.5 >> openssl-1.0.1e.tar.gz into c:\dev\openssl-1.0.1e >> >> 5/ start c:\dev\msys\msys.bat >> >> 6/ in MSYS prompt >> $ cd /c/dev/openssl-fips-2.0.5 >> $ ./Configure mingw64 shared --prefix=/c/dev/output >> $ make >> $ make install >> $ cd /c/dev/openssl-1.0.1e >> $ ./Configure mingw64 shared fips --with-fipsdir=/c/dev/output >> --prefix=/c/dev/output >> $ make depend >> $ make >> $ make install_sw >> >> NOTE: for 32bit Windows use "./Configure mingw ..." instead of >> "./Configure mingw64 ..." > > I am using "mingw" since I'm on a 32-bit system. I used "/c/OpenSSL" as > the prefix and fipsdir. > > The "make" for openssl-1.0.1e fails for me with: > > make[4]: Entering directory `/c/dev/openssl-1.0.1e' > Creating library file: libcrypto.dll.a > libcrypto.a(uplink.o):uplink.c:(.text+0x30): multiple definition of > `OPENSSL_Uplink' > c:/OpenSSL/lib/fipscanister.o:uplink.c:(.text+0x3ac20): first defined > here libcrypto.a(uplink-x86.o):uplink-x86.s:(.data+0x0): multiple > definition of `OPENSSL_UplinkTable' > c:/OpenSSL/lib/fipscanister.o:uplink-x86.s:(.data+0x140): first defined > here > c:/sbperl/c/bin/../lib/gcc/i686-w64-mingw32/4.6.3/../../../../i686-w64-mingw32/bin/ld.exe: > c:/OpenSSL/lib/fipscanister.o: bad reloc address 0xa in section > `.text.unlikely' > collect2: ld returned 1 exit status > make[4]: *** [link_a.cygwin] Error 1 > make[4]: Leaving directory `/c/dev/openssl-1.0.1e' > make[3]: *** [do_cygwin-shared] Error 2 > make[3]: Leaving directory `/c/dev/openssl-1.0.1e' > make[2]: *** [libcrypto.dll.a] Error 2 > make[2]: Leaving directory `/c/dev/openssl-1.0.1e' > make[1]: *** [shared] Error 2 > make[1]: Leaving directory `/c/dev/openssl-1.0.1e/crypto' > make: *** [build_crypto] Error 1 > > Any ideas? > >> 7/ take the results from c:\dev\output >> >> In strawberry perl we do a bit of kung-fu with *.a renaming >> libcrypto.dll.a >> libeay32.a >> libssl.dll.a >> libssleay32.a >> libssl.dll.a >> libssl32.a (yes, duplicity) >> + we completely drop static libraries libcrypto.a, libssl.a >> -- >> kmx > > What are the .dll.a files then? > >