I'm running a 32-bit chroot on an x86_64 machine. That is, the kernel can 
execute
64 and 32 bit binaries, but everything has been compiled with -m32 within the 
chroot. All the installed packages including gcc and glibc have just been 
recompiled with -m32 with the compilation done within the chroot. (They were 
formerly compiled with -march=i486.) OpenSSL configure somehow decides to build 
for x86_64 anyway and forces -m64 into CFLAGS, resulting in a gcc error.

Configured for linux-x86_64.
making all in crypto...
make[1]: Entering directory `/usr/src/openssl-0.9.8g/crypto'
( echo "#ifndef MK1MF_BUILD"; \
        echo '  /* auto-generated by crypto/Makefile for crypto/cversion.c */'; 
\
        echo '  #define CFLAGS "gcc -O -march=pentium3m -pipe -DPIC -fPIC -O3  
-fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H 
-m64 -DL_ENDIAN -DTERMIO  -Wall -DMD32_REG_T=int -DMD5_ASM"'; \
        echo '  #define PLATFORM "linux-x86_64"'; \
        echo "  #define DATE \"`LC_ALL=C LC_TIME=C date`\""; \
        echo '#endif' ) >buildinf.h
gcc -I. -I.. -I../include -O -march=pentium3m -pipe -DPIC -fPIC -O3  -fPIC 
-DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 
-DL_ENDIAN -DTERMIO  -Wall -DMD32_REG_T=int -DMD5_ASM   -c -o cryptlib.o 
cryptlib.c
cryptlib.c:1: sorry, unimplemented: 64-bit mode not compiled in
make[1]: *** [cryptlib.o] Error 1
make[1]: Leaving directory `/usr/src/openssl-0.9.8g/crypto'
make: *** [build_crypto] Error 1

Full configure and compile log attached.

Attachment: openssl-compile.log
Description: Binary data

Reply via email to