Hi all,
I'm not sure if anyone else has done this before but I'm trying to get
openssl to compile using mingw 64bit.
I do a normal configure for mingw 32bit:
./configure zlib no-asm no-shared threads mingw
And then change the Makefile to support mingw 64bit:
sed -i 's/-march=i486//g' Makefile
awk -F= '{ if ($1 == "CC") {print "CC=x86_64-w64-mingw32-gcc"} else {print
;} }' Makefile >Makefile.new
cp Makefile.new Makefile
awk -F= '{ if ($1 == "AR") {print "AR=x86_64-w64-mingw32-ar rc"} else {print
;}}' Makefile >Makefile.new
cp Makefile.new Makefile
awk -F= '{ if ($1 == "RANLIB") {print "RANLIB=x86_64-w64-mingw32-ranlib"}
else {print ;} }' Makefile >Makefile.new
cp Makefile.new Makefile
But I get this error after compiling for a while:
x86_64-w64-mingw32-gcc -I.. -I../.. -I../asn1 -I../evp -I../../include
-DZLIB -
DOPENSSL_THREADS -DDSO_WIN32 -mno-cygwin -DL_ENDIAN -DOPENSSL_NO_CAPIENG
-fomit
-frame-pointer -O3 -Wall -c -o err_all.o err_all.c
In file included from err_all.c:96:0:
../../include/openssl/ocsp.h:206:3: error: expected specifier-qualifier-list
bef
ore '(' token
../../include/openssl/ocsp.h:350:2: error: expected specifier-qualifier-list
bef
ore '(' token
../../include/openssl/ocsp.h:413:10: error: expected declaration specifiers
or '
...' before '(' token
../../include/openssl/ocsp.h:424:47: error: expected declaration specifiers
or '
...' before '(' token
../../include/openssl/ocsp.h:484:37: error: expected declaration specifiers
or '
...' before '(' token
make[2]: *** [err_all.o] Error 1
The error has something to do with X509_NAME type. mingw64bit is based on
gcc 4.5.0. Available at http://mingw-w64.sourceforge.net
I'm using openssl-1.0.0-beta3 here.
Would it be possible to add 'mingw64' to the configure script? It would be
basically the same as 'mingw' except exclude the -march=i486 directive and
assume no-asm.
Thanks.