Forgive me if I am wrong, but I didn't think the FIPS 2.0 code base could be used with anything else but MS VC on Windows!?
The user guide does not state this explicitly as far as I can see, but the instructions - for building the canister and linking against it - only mention MSVC based commands, which would lead me to believe that MinGW/MSYS are not approved/tested (only for canister I mean). See section 4.3, and section 4.3.1 specifically. 4.3.1 Building the FIPS Object Module from Source Build the FIPS Object Module from source: ms\do_fips [no-asm] where the no-asm option may or may not be present depending on the platform (see ยง3.2.1). Note that as a condition of the FIPS 140-2 validation no other user specified configuration options may be specified. Regards, Carl ________________________________________ From: owner-openssl-us...@openssl.org [owner-openssl-us...@openssl.org] on behalf of Thomas J Pinkl [t...@pinkl.com] Sent: 11 September 2013 15:50 To: openssl-users@openssl.org Subject: OpenSSL 1.0.1e build failure using MinGW, multiple definition of OPENSSL_Uplink I'm trying to build a FIPS capable OpenSSL 1.0.1e on a 32-bit Windows XP box using MinGW + Msys. The FIPS module is version 2.0.5 and it builds and installs successfully using ./config; make; make install. I configured OpenSSL 1.0.1e with: ./Configure mingw shared fips And ran: make depend; make I then get this error: 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 Can anyone provide some guidance? -- Thomas J. Pinkl ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List openssl-users@openssl.org Automated List Manager majord...@openssl.org ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List openssl-users@openssl.org Automated List Manager majord...@openssl.org