It looks like the current openssl does not properly detect chroot'd environments. It sees a 64-bit kernel, and tries to build 64-bit userland libraries when it should build 32-bit userland libraries. Reproducible: Always Steps to Reproduce: 1. Build a AMD64 environment, include 32-bit compatability/emulation in the kernel. 2. Install an Athlon-xp stage2 tarball into a directory and chroot to that directory (env-update && source /etc/profile) 3. Install the newest portage tree. 4. emerge sync 5a. emerge system 5b. emerge world Dies on openssl. Actual Results: amd64-dev / # emerge openssl Calculating dependencies ...done! >>> emerge (1 of 1) dev-libs/openssl-0.9.7d to / >>> md5 src_uri ;-) openssl-0.9.7d.tar.gz >>> md5 src_uri ;-) openssl-0.9.6m.tar.gz >>> Unpacking source... >>> Unpacking openssl-0.9.7d.tar.gz to /var/tmp/portage/openssl-0.9.7d/work >>> Unpacking openssl-0.9.6m.tar.gz to /var/tmp/portage/openssl-0.9.7d/work * Applying openssl-0.9.7d-gentoo.diff... [ ok ] >>> Source unpacked. Operating system: x86_64-whatever-linux2 Configuring for linux-x86_64 Configuring for linux-x86_64 IsWindows=0 CC =gcc CFLAG =-fPIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_NO_KRB5 -m64 -DL_ENDIAN -DTERMIO -Wall -DMD32_REG_T=int -O3 -march=athlon-xp -mmmx -msse2 -mfpmath=sse -pipe -fomit-frame-pointer EX_LIBS =-ldl BN_ASM =asm/x86_64-gcc.o DES_ENC =des_enc.o fcrypt_b.o BF_ENC =bf_enc.o CAST_ENC =c_enc.o RC4_ENC =rc4_enc.o RC5_ENC =rc5_enc.o MD5_OBJ_ASM = SHA1_OBJ_ASM = RMD160_OBJ_ASM= PROCESSOR = RANLIB =/usr/bin/ranlib ARFLAGS = PERL =/usr/bin/perl SIXTY_FOUR_BIT_LONG mode DES_UNROLL used DES_INT used RC4 uses uchar RC4_CHUNK is unsigned long BF_PTR2 used Makefile => Makefile.ssl e_os2.h => include/openssl/e_os2.h [File exists] making links in crypto... make[1]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto' Makefile => Makefile.ssl crypto.h => ../include/openssl/crypto.h [File exists] tmdiff.h => ../include/openssl/tmdiff.h [File exists] opensslv.h => ../include/openssl/opensslv.h [File exists] opensslconf.h => ../include/openssl/opensslconf.h [File exists] ebcdic.h => ../include/openssl/ebcdic.h [File exists] symhacks.h => ../include/openssl/symhacks.h [File exists] ossl_typ.h => ../include/openssl/ossl_typ.h [File exists] Makefile => Makefile.ssl making links in crypto/md2... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/md2' Makefile => Makefile.ssl md2.h => ../../include/openssl/md2.h [File exists] md2test.c => ../../test/md2test.c [File exists] make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/md2' making links in crypto/md4... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/md4' Makefile => Makefile.ssl md4.h => ../../include/openssl/md4.h [File exists] md4test.c => ../../test/md4test.c [File exists] md4.c => ../../apps/md4.c [File exists] make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/md4' making links in crypto/md5... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/md5' Makefile => Makefile.ssl md5.h => ../../include/openssl/md5.h [File exists] md5test.c => ../../test/md5test.c [File exists] make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/md5' making links in crypto/sha... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/sha' Makefile => Makefile.ssl sha.h => ../../include/openssl/sha.h [File exists] shatest.c => ../../test/shatest.c [File exists] sha1test.c => ../../test/sha1test.c [File exists] make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/sha' making links in crypto/mdc2... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/mdc2' Makefile => Makefile.ssl mdc2.h => ../../include/openssl/mdc2.h [File exists] mdc2test.c => ../../test/mdc2test.c [File exists] make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/mdc2' making links in crypto/hmac... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/hmac' Makefile => Makefile.ssl hmac.h => ../../include/openssl/hmac.h [File exists] hmactest.c => ../../test/hmactest.c [File exists] make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/hmac' making links in crypto/ripemd... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/ripemd' Makefile => Makefile.ssl ripemd.h => ../../include/openssl/ripemd.h [File exists] rmdtest.c => ../../test/rmdtest.c [File exists] make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/ripemd' making links in crypto/des... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/des' Makefile => Makefile.ssl des.h => ../../include/openssl/des.h [File exists] des_old.h => ../../include/openssl/des_old.h [File exists] destest.c => ../../test/destest.c [File exists] make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/des' making links in crypto/rc2... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/rc2' Makefile => Makefile.ssl rc2.h => ../../include/openssl/rc2.h [File exists] rc2test.c => ../../test/rc2test.c [File exists] make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/rc2' making links in crypto/rc4... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/rc4' Makefile => Makefile.ssl rc4.h => ../../include/openssl/rc4.h [File exists] rc4test.c => ../../test/rc4test.c [File exists] make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/rc4' making links in crypto/rc5... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/rc5' Makefile => Makefile.ssl rc5.h => ../../include/openssl/rc5.h [File exists] rc5test.c => ../../test/rc5test.c [File exists] make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/rc5' making links in crypto/idea... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/idea' Makefile => Makefile.ssl idea.h => ../../include/openssl/idea.h [File exists] ideatest.c => ../../test/ideatest.c [File exists] make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/idea' making links in crypto/bf... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/bf' Makefile => Makefile.ssl blowfish.h => ../../include/openssl/blowfish.h [File exists] bftest.c => ../../test/bftest.c [File exists] make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/bf' making links in crypto/cast... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/cast' Makefile => Makefile.ssl cast.h => ../../include/openssl/cast.h [File exists] casttest.c => ../../test/casttest.c [File exists] make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/cast' making links in crypto/bn... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/bn' Makefile => Makefile.ssl bn.h => ../../include/openssl/bn.h [File exists] bntest.c => ../../test/bntest.c [File exists] exptest.c => ../../test/exptest.c [File exists] make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/bn' making links in crypto/ec... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/ec' Makefile => Makefile.ssl ec.h => ../../include/openssl/ec.h [File exists] ectest.c => ../../test/ectest.c [File exists] make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/ec' making links in crypto/rsa... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/rsa' Makefile => Makefile.ssl rsa.h => ../../include/openssl/rsa.h [File exists] rsa_test.c => ../../test/rsa_test.c [File exists] make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/rsa' making links in crypto/dsa... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/dsa' Makefile => Makefile.ssl dsa.h => ../../include/openssl/dsa.h [File exists] dsatest.c => ../../test/dsatest.c [File exists] make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/dsa' making links in crypto/dh... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/dh' Makefile => Makefile.ssl dh.h => ../../include/openssl/dh.h [File exists] dhtest.c => ../../test/dhtest.c [File exists] make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/dh' making links in crypto/dso... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/dso' Makefile => Makefile.ssl dso.h => ../../include/openssl/dso.h [File exists] make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/dso' making links in crypto/engine... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/engine' Makefile => Makefile.ssl engine.h => ../../include/openssl/engine.h [File exists] enginetest.c => ../../test/enginetest.c [File exists] make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/engine' making links in crypto/aes... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/aes' Makefile => Makefile.ssl aes.h => ../../include/openssl/aes.h [File exists] make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/aes' making links in crypto/buffer... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/buffer' Makefile => Makefile.ssl buffer.h => ../../include/openssl/buffer.h [File exists] make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/buffer' making links in crypto/bio... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/bio' Makefile => Makefile.ssl bio.h => ../../include/openssl/bio.h [File exists] make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/bio' making links in crypto/stack... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/stack' Makefile => Makefile.ssl stack.h => ../../include/openssl/stack.h [File exists] safestack.h => ../../include/openssl/safestack.h [File exists] make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/stack' making links in crypto/lhash... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/lhash' Makefile => Makefile.ssl lhash.h => ../../include/openssl/lhash.h [File exists] make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/lhash' making links in crypto/rand... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/rand' Makefile => Makefile.ssl rand.h => ../../include/openssl/rand.h [File exists] randtest.c => ../../test/randtest.c [File exists] make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/rand' making links in crypto/err... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/err' Makefile => Makefile.ssl err.h => ../../include/openssl/err.h [File exists] make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/err' making links in crypto/objects... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/objects' Makefile => Makefile.ssl objects.h => ../../include/openssl/objects.h [File exists] obj_mac.h => ../../include/openssl/obj_mac.h [File exists] make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/objects' making links in crypto/evp... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/evp' Makefile => Makefile.ssl evp.h => ../../include/openssl/evp.h [File exists] evp_test.c => ../../test/evp_test.c [File exists] cp evptests.txt ../../test make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/evp' making links in crypto/asn1... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/asn1' Makefile => Makefile.ssl asn1.h => ../../include/openssl/asn1.h [File exists] asn1_mac.h => ../../include/openssl/asn1_mac.h [File exists] asn1t.h => ../../include/openssl/asn1t.h [File exists] make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/asn1' making links in crypto/pem... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/pem' Makefile => Makefile.ssl pem.h => ../../include/openssl/pem.h [File exists] pem2.h => ../../include/openssl/pem2.h [File exists] make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/pem' making links in crypto/x509... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/x509' Makefile => Makefile.ssl x509.h => ../../include/openssl/x509.h [File exists] x509_vfy.h => ../../include/openssl/x509_vfy.h [File exists] make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/x509' making links in crypto/x509v3... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/x509v3' Makefile => Makefile.ssl x509v3.h => ../../include/openssl/x509v3.h [File exists] make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/x509v3' making links in crypto/conf... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/conf' Makefile => Makefile.ssl conf.h => ../../include/openssl/conf.h [File exists] conf_api.h => ../../include/openssl/conf_api.h [File exists] make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/conf' making links in crypto/txt_db... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/txt_db' Makefile => Makefile.ssl txt_db.h => ../../include/openssl/txt_db.h [File exists] make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/txt_db' making links in crypto/pkcs7... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/pkcs7' Makefile => Makefile.ssl pkcs7.h => ../../include/openssl/pkcs7.h [File exists] make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/pkcs7' making links in crypto/pkcs12... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/pkcs12' Makefile => Makefile.ssl pkcs12.h => ../../include/openssl/pkcs12.h [File exists] make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/pkcs12' making links in crypto/comp... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/comp' Makefile => Makefile.ssl comp.h => ../../include/openssl/comp.h [File exists] make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/comp' making links in crypto/ocsp... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/ocsp' Makefile => Makefile.ssl ocsp.h => ../../include/openssl/ocsp.h [File exists] make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/ocsp' making links in crypto/ui... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/ui' Makefile => Makefile.ssl ui.h => ../../include/openssl/ui.h [File exists] ui_compat.h => ../../include/openssl/ui_compat.h [File exists] make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/ui' making links in crypto/krb5... make[2]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/krb5' Makefile => Makefile.ssl krb5_asn.h => ../../include/openssl/krb5_asn.h [File exists] make[2]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto/krb5' make[1]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto' making links in ssl... make[1]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/ssl' Makefile => Makefile.ssl ssl.h => ../include/openssl/ssl.h [File exists] ssl2.h => ../include/openssl/ssl2.h [File exists] ssl3.h => ../include/openssl/ssl3.h [File exists] ssl23.h => ../include/openssl/ssl23.h [File exists] tls1.h => ../include/openssl/tls1.h [File exists] kssl.h => ../include/openssl/kssl.h [File exists] ssltest.c => ../test/ssltest.c [File exists] make[1]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/ssl' making links in apps... make[1]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/apps' Makefile => Makefile.ssl make[1]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/apps' making links in test... make[1]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/test' Makefile => Makefile.ssl make[1]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/test' making links in tools... make[1]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/tools' Makefile => Makefile.ssl make[1]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/tools' generating dummy tests (if needed)... make[1]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/test' make[1]: Nothing to be done for `generate'. make[1]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/test' Configured for linux-x86_64. * Compiling openssl-0.9.7d making all in crypto... make[1]: Entering directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto' ( echo "#ifndef MK1MF_BUILD"; \ echo ' /* auto-generated by crypto/Makefile.ssl for crypto/cversion.c */'; \ echo ' #define CFLAGS "gcc -fPIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_NO_KRB5 -m64 -DL_ENDIAN -DTERMIO -Wall -DMD32_REG_T=int -O3 -march=athlon-xp -mmmx -msse2 -mfpmath=sse -pipe -fomit-frame-pointer"'; \ 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 -fPIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_NO_KRB5 -m64 -DL_ENDIAN -DTERMIO -Wall -DMD32_REG_T=int -O3 -march=athlon-xp -mmmx -msse2 -mfpmath=sse -pipe -fomit-frame-pointer -c -o cryptlib.o cryptlib.c cc1: sorry, unimplemented: 64-bit mode not compiled in make[1]: *** [cryptlib.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make[1]: Leaving directory `/var/tmp/portage/openssl-0.9.7d/work/openssl-0.9.7d/crypto' make: *** [sub_all] Error 1 !!! ERROR: dev-libs/openssl-0.9.7d failed. !!! Function src_compile, Line 139, Exitcode 2 !!! (no error message) amd64-dev / # emerge info Portage 2.0.50-r1 (default-x86-2004.0, gcc-3.3.2, glibc-2.3.2-r9, 2.6.5-gentoo-r1) ================================================================= System uname: 2.6.5-gentoo-r1 x86_64 AMD Athlon(tm) 64 Processor 3400+ Gentoo Base System version 1.4.3.13 Autoconf: sys-devel/autoconf-2.58-r1 Automake: sys-devel/automake-1.8.3 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O3 -march=athlon-xp -mmmx -msse2 -mfpmath=sse -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/lib/mozilla/def lts/pref /usr/share/config /var/bind /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -march=athlon-xp -mmmx -msse2 -mfpmath=sse -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="3dnow apm avi crypt foomaticdb gdbm libwww mmx motif mysql ncurses nls pam perl python readline sdl slang sse sse2 ssl tcpd x86 xml2 zlib" amd64-dev / # cat /proc/version Linux version 2.6.5-gentoo-r1 (root@amd64-dev) (gcc version 3.3.3 20040217 (Gentoo Linux 3.3.3, propolice-3.3-7)) #4 Mon Apr 26 05:20:29 CDT 2004 amd64-dev / # cat /proc/cpuinfo processor : 0 vendor_id : AuthenticAMD cpu family : 15 model : 4 model name : AMD Athlon(tm) 64 Processor 3400+ stepping : 8 cpu MHz : 2202.872 cache size : 1024 KB fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext lm 3dnowext 3dnow bogomips : 4308.99 TLB size : 1088 4K pages clflush size : 64 cache_alignment : 64 address sizes : 40 bits physical, 48 bits virtual power management: ts fid vid ttp Expected Results: I expected it to build for the 32-bit chroot environment. It's trying to build a 64-bit binary. If I add "-m32" to my make.conf CFLAGS, the build makes it further but still dies. It's not grab the right environment arch from portage.
when hou chroot into a 32bit chroot, you need to "linux32 chroot /directory". linux32 is what makes your arch return i686 instead of x86_64. this should all be thouroughly documented in our tech notes on amd64.gentoo.org
OK. It's that tiny little link in the "Documentation" row of that table. I thought that one page was the some whole of the document. It's very easy to miss that link to "Tech Notes." Perhaps this should be a documentation enhancement request instead. Thank you.