Hi,

I have experienced the enclosed failure during building of
openssl-1.0.0-beta4 by 32-bit native compiler from mingw-w64.sf.net project.

At the beginning it might be good to summarize how many mingws we
currently have:
#1) 32-bit gcc-3.x toolchan from mingw.org project
#2) 32-bit gcc-4.x toolchan from mingw.org project
#3) 32-bit gcc-4.x toolchan from mingw-w64.sf.net project
#4) 64-bit gcc-4.x toolchan from mingw-w64.sf.net project

Yes, it might be slightly confusing but mingw-w64 project delivers not
only 64-bit Windows toolchain but also 32-bit one.

The main difference is that #1+#2 group uses completely different
c-runtime than group #3+#4.

Compiling openssl-1.0.0-beta4 works fine with compilers: #1 and #2
Tested by: "perl ./Configure shared mingw" + "make")

Compiling openssl-1.0.0-beta4 with #4 works with no-asm option
Tested by: "perl ./Configure shared no-asm mingw64" + "make"
I have used compiler binaries from:
http://download.sourceforge.net/mingw-w64/mingw-w64-bin_x86_64-mingw_20091101_sezero.zip

Compiling openssl-1.0.0-beta4 with #3 does not work - see enclosed error.
Tested by: "perl ./Configure shared mingw" + "make"
I have used compiler binaries from:
http://download.sourceforge.net/mingw-w64/mingw-w32-bin_i686-mingw_20091101_sezero.zip

In theory compiler #3 uses exactly the same c-runtime headers as
compiler #4 so there is no obvious (at least obvious to me) reason why
#4 works and #3 does not.

My investigation led to some #define/#undef X509_NAME clash between
c-runtime headers (wincrypt.h, ...) and openssl but I was not able to
prepare a sane patch to fix it.

I would appreciate any help with this issue.

Thanks.

--
kmx

#####
gcc -I.. -I../.. -I../asn1 -I../evp -I../../include  -D_WINDLL
-DOPENSSL_USE_APP
LINK -DOPENSSL_PIC -DOPENSSL_THREADS  -DDSO_WIN32 -mno-cygwin -DL_ENDIAN
-DOPENS
SL_NO_CAPIENG -fomit-frame-pointer -O3 -march=i486 -Wall
-DOPENSSL_BN_ASM_PART_W
ORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM
-DSHA512_
ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DWHIRLPOOL_ASM   -c -o err_all.o
err_all.c

In file included from err_all.c:96:
../../include/openssl/ocsp.h:206: error: expected
specifier-qualifier-list befor
e '(' token
../../include/openssl/ocsp.h:350: error: expected
specifier-qualifier-list befor
e '(' token
../../include/openssl/ocsp.h:416: error: expected declaration specifiers
or '...
' before '(' token
../../include/openssl/ocsp.h:427: error: expected declaration specifiers
or '...
' before '(' token
../../include/openssl/ocsp.h:487: error: expected declaration specifiers
or '...
' before '(' token
make[2]: *** [err_all.o] Error 1
make[2]: Leaving directory `/z/_tmp/openssl-1.0.0-beta4/crypto/err'
make[1]: *** [subdirs] Error 1
make[1]: Leaving directory `/z/_tmp/openssl-1.0.0-beta4/crypto'
make: *** [build_crypto] Error 1
#####

Hi,

I have experienced the enclosed failure during building of openssl-1.0.0-beta4 by 32-bit native compiler from mingw-w64.sf.net project.

At the beginning it might be good to summarize how many mingws we currently have:
#1) 32-bit gcc-3.x toolchan from mingw.org project
#2) 32-bit gcc-4.x toolchan from mingw.org project
#3) 32-bit gcc-4.x toolchan from mingw-w64.sf.net project
#4) 64-bit gcc-4.x toolchan from mingw-w64.sf.net project

Yes, it might be slightly confusing but mingw-w64 project delivers not only 64-bit Windows toolchain but also 32-bit one.

The main difference is that #1+#2 group uses completely different c-runtime than group #3+#4.

Compiling openssl-1.0.0-beta4 works fine with compilers: #1 and #2
Tested by: "perl ./Configure shared mingw" + "make")

Compiling openssl-1.0.0-beta4 with #4 works with no-asm option
Tested by: "perl ./Configure shared no-asm mingw64" + "make"
I have used compiler binaries from:
http://download.sourceforge.net/mingw-w64/mingw-w64-bin_x86_64-mingw_20091101_sezero.zip

Compiling openssl-1.0.0-beta4 with #3 does not work - see enclosed error.
Tested by: "perl ./Configure shared mingw" + "make"
I have used compiler binaries from:
http://download.sourceforge.net/mingw-w64/mingw-w32-bin_i686-mingw_20091101_sezero.zip

In theory compiler #3 uses exactly the same c-runtime headers as compiler #4 so there is no obvious (at least obvious to me) reason why #4 works and #3 does not.

My investigation led to some #define/#undef X509_NAME clash between c-runtime headers (wincrypt.h, ...) and openssl but I was not able to prepare a sane patch to fix it.

I would appreciate any help with this issue.

Thanks.

--
kmx

#####
gcc -I.. -I../.. -I../asn1 -I../evp -I../../include  -D_WINDLL -DOPENSSL_USE_APP
LINK -DOPENSSL_PIC -DOPENSSL_THREADS  -DDSO_WIN32 -mno-cygwin -DL_ENDIAN -DOPENS
SL_NO_CAPIENG -fomit-frame-pointer -O3 -march=i486 -Wall -DOPENSSL_BN_ASM_PART_W
ORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_
ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DWHIRLPOOL_ASM   -c -o err_all.o err_all.c

In file included from err_all.c:96:
../../include/openssl/ocsp.h:206: error: expected specifier-qualifier-list befor
e '(' token
../../include/openssl/ocsp.h:350: error: expected specifier-qualifier-list befor
e '(' token
../../include/openssl/ocsp.h:416: error: expected declaration specifiers or '...
' before '(' token
../../include/openssl/ocsp.h:427: error: expected declaration specifiers or '...
' before '(' token
../../include/openssl/ocsp.h:487: error: expected declaration specifiers or '...
' before '(' token
make[2]: *** [err_all.o] Error 1
make[2]: Leaving directory `/z/_tmp/openssl-1.0.0-beta4/crypto/err'
make[1]: *** [subdirs] Error 1
make[1]: Leaving directory `/z/_tmp/openssl-1.0.0-beta4/crypto'
make: *** [build_crypto] Error 1
#####

Reply via email to