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?
--
Thomas J. Pinkl
1002 Elbow Lane
Warrington, PA 18976
T: (215) 491-0761