I had success compiling and integrating 1.0.2 on Centos Linux 5.10 i686, however for Windows 7 64 bit, my 64 bit compilation of 1.0.2 did not succeed at the first attempt. Instead for our Windows 7 build , I downloaded openssl-1.0.11 and compiled it as a 32 bit library and integrated with our project libraries and that succeeded. I followed these as a guide for Visual Studio:
http://developer.covenanteyes.com/building-openssl-for-visual-studio/ Not sure if this helps your situation, but it worked for me Very respectfully, Omon Edeki [email protected] https://www.linkedin.com/pub/omon-edeki/8/38b/912 Director, Software Development Nowell Development 512-903-2950 -----Original Message----- From: openssl-dev [mailto:[email protected]] On Behalf Of Jesus Cea Sent: Thursday, March 19, 2015 5:51 PM To: OpenSSL Developer ML Subject: [openssl-dev] 64 bit compilacion seems to fail with some PERL versions When compiling a 64 bit OpenSSL 1.0.2a with a 32 bit PERL interpreter I get this error: """ ./config zlib-dynamic shared make [...] /usr/local/bin/perl asm/ghash-x86_64.pl elf > ghash-x86_64.s Integer overflow in hexadecimal number at asm/../../perlasm/x86_64-xlate.pl line 201, <> line 890. gcc -I.. -I../.. -I../modes -I../asn1 -I../evp -I../../include -fPIC -DOPENSSL_PIC -DZLIB_SHARED -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -m64 -O3 -Wall -DL_ENDIAN -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -c -o ghash-x86_64.o ghash-x86_64.s ghash-x86_64.s: Assembler messages: ghash-x86_64.s:890: Error: junk `.15473355479995e+19' after expression <builtin>: recipe for target 'ghash-x86_64.o' failed make[2]: *** [ghash-x86_64.o] Error 1 """ In line 890 I have this: """ subq $48,%rcx movq $1.15473355479995e+19,%rax <<<<<<<<<<<<<<<<<< movdqu 48(%rsi),%xmm14 movdqu 64(%rsi),%xmm15 """ Comparing that line in other machines where compilation is done correctly, I see this: """ movq $11547335547999543296,%rax """ Notice that "11547335547999543296" is approximately 1.15473355479995e+19 in scientific notation. When doing "perl -e 'print(11547335547999543296)' I get: 11547335547999543296 in one machine (64 bits), but 1.15473355479995e+19 in the other machine (32 bits). The number is being promoted to scientific notation and compilation will fail. Yes, in Solaris I can mix 32 and 64 bit binaries in the same running system. It is standard practice and the reason I am compiling OpenSSL both in 32 and in 64 bits. Replacing the scientific notation value with "11547335547999543296" the code compiles correctly and the tests complete 100% OK. In the 64 bit PERL version "11547335547999543296" is printed correctly as an integer but "21547335547999543296" (first digit changed) is printed as 2.15473355479995e+19. I think that depending of implementation details (the value when an integer is "promoted" to floating point) of the PERL interpreter is bad practice and should be avoided. Maybe using literal string, of splitting the number in two halfs. -- Jesús Cea Avión _/_/ _/_/_/ _/_/_/ [email protected] - http://www.jcea.es/ _/_/ _/_/ _/_/ _/_/ _/_/ Twitter: @jcea _/_/ _/_/ _/_/_/_/_/ jabber / xmpp:[email protected] _/_/ _/_/ _/_/ _/_/ _/_/ "Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ "My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/ "El amor es poner tu felicidad en la felicidad de otro" - Leibniz _______________________________________________ openssl-dev mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev
