emerge-wrapper (part of crossdev) sets the wrong E_MACHINE for i386,...,i686 and no CHOST (leaves it as atom __CHOST__). in make.conf there will be CHOST=__CHOST__ E_MACHINE=EM_X86 for all of them. compiling allways throws (confusing) errors, telling * Wrong EM_TYPE. Expected EM_X86 EM_386 ./usr/lib/libform.so.5.7 EM_386 ./usr/lib/libpanel.so.5.7 EM_386 ./usr/lib/libmenu.so.5.7 ... then. changing it to E_MACHINE=i386 corrects this behaviour. the patch for emerge-wrapper is pretty simple. --- emerge-wrapper.orig 2011-01-21 18:41:44.060000001 +0100 +++ emerge-wrapper 2011-01-21 20:29:59.910000002 +0100 @@ -53,6 +53,7 @@ hppa) E_MACHINE=PARISC ;; ia64) E_MACHINE=IA_64 ;; m68k) E_MACHINE=68K ;; + i?86) E_MACHINE=386 ;; *) E_MACHINE=`echo ${ARCH} | tr '[:lower:]' '[:upper:]'` ;; esac E_MACHINE="EM_${E_MACHINE}" @@ -69,6 +70,7 @@ -e "s:__E_MACHINE__:${E_MACHINE}:g" \ -e "s:__ARCH__:${ARCH}:g" \ -e "s:__CBUILD__:${CBUILD}:g" \ + -e "s:__CHOST__:${CHOST}:g" \ "${conf}" [[ ${EM_MACHINE} == "EM_UNKNOWN" ]] \ && sed -i '/^E_MACHINE/s:^:#:' "${conf}" Reproducible: Always Steps to Reproduce: 1. crossdev -S -t i585-pc-linux-gnu 2. emerge-i585-pc-linux-gnu bash
Created attachment 260458 [details, diff] patch for emerge-wrapper
Created attachment 260484 [details, diff] patch for emerge-wrapper "typo" in last patch, this one is correct (tested), sorry
Created attachment 260485 [details, diff] patch for emerge-wrapper, corrects setting of E_MACHINE and CHOST
pretty sure this is already fixed http://git.overlays.gentoo.org/gitweb/?p=proj/crossdev.git;a=commitdiff;h=70b4fc772af4ddf78819fd84eb95211c3aee5be5