crossdev --arch=i686 --kernel --unstable on a PowerPG failed at InstallGccBootstrap() /var/tmp/portage/crossdevbuild/gcc-3.3.3/buildboothere-i686/gcc/xgcc -B/var/tmp/portage/crossdevbuild/gcc-3.3.3/buildboothere-i686/gcc/ -B/opt/crossdev/i686/i686-pc-linux-gnu/bin/ -B/opt/crossdev/i686/i686-pc-linux-gnu/lib/ -isystem /opt/crossdev/i686/i686-pc-linux-gnu/include -O2 -DIN_GCC -DCROSS_COMPILE -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -fPIC -DHAVE_SYSLOG -g -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -fno-stack-protector -fno-stack-protector-all -D_LIBC_PROVIDES_SSP_ -I. -I. -I../../gcc -I../../gcc/. -I../../gcc/config -I../../gcc/../include -fexceptions -c ../../gcc/unwind-dw2-fde-glibc.c -o libgcc/./unwind-dw2-fde-glibc.o In file included from ../../gcc/unwind-dw2.c:26: ../../gcc/unwind-pe.h: In function `size_of_encoded_value': ../../gcc/unwind-pe.h:76: warning: implicit declaration of function `abort' In file included from ../../gcc/unwind-dw2-fde-glibc.c:47: ../../gcc/unwind-pe.h: In function `size_of_encoded_value': ../../gcc/unwind-pe.h:76: warning: implicit declaration of function `abort' ../../gcc/unwind-dw2.c: In function `extract_cie_info': ../../gcc/unwind-dw2.c:252: warning: implicit declaration of function `strlen' In file included from ../../gcc/unwind-dw2-fde-glibc.c:298: ../../gcc/unwind-dw2-fde.c: In function `get_cie_encoding': ../../gcc/unwind-dw2-fde.c:274: warning: implicit declaration of function `strlen' ../../gcc/unwind-dw2.c: In function `uw_frame_state_for': ../../gcc/unwind-dw2.c:933: warning: implicit declaration of function `memset' ../../gcc/unwind-dw2.c:947: error: structure has no member named `esp' ../../gcc/unwind-dw2.c:947: error: structure has no member named `eax' ../../gcc/unwind-dw2.c:947: error: structure has no member named `ebx' ../../gcc/unwind-dw2.c:947: error: structure has no member named `ecx' ../../gcc/unwind-dw2.c:947: error: structure has no member named `edx' ../../gcc/unwind-dw2.c:947: error: structure has no member named `esi' ../../gcc/unwind-dw2.c:947: error: structure has no member named `edi' ../../gcc/unwind-dw2.c:947: error: structure has no member named `ebp' ../../gcc/unwind-dw2.c:947: error: structure has no member named `eip' ../../gcc/unwind-dw2.c: In function `uw_install_context_1': ../../gcc/unwind-dw2.c:1383: warning: implicit declaration of function `memcpy' make[2]: *** [libgcc/./unwind-dw2.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: Leaving directory `/var/tmp/portage/crossdevbuild/gcc-3.3.3/buildboothere-i686/gcc' make[1]: *** [libgcc.a] Error 2 make[1]: Leaving directory `/var/tmp/portage/crossdevbuild/gcc-3.3.3/buildboothere-i686/gcc' make: *** [all-gcc] Error 2 * InstallGccBootstrap(): Failed to compile! crossdev.conf: CROSS_HOME="/opt/crossdev" CROSS_ROOTBIN="root" CROSS_TMPBIT="crossdevbuild" DELAY_TIME=15 MIN_KV="2.4.16" USE_COLOR="yes" SPARCABI=v9 MIPSISA=-mips3 MIPSABI=32 USE_SANDBOX="yes" emerge info: ortage 2.0.50-r8 (default-ppc-2004.1, gcc-3.3.3, glibc-2.3.3.20040420-r0, 2.4.26-pegasos) ================================================================= System uname: 2.4.26-pegasos ppc 7457, altivec supported Gentoo Base System version 1.4.16 distcc 2.14 powerpc-unknown-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.3 [enabled] Autoconf: sys-devel/autoconf-2.59-r4 Automake: sys-devel/automake-1.8.5 ACCEPT_KEYWORDS="ppc ~ppc" AUTOCLEAN="yes" CFLAGS="-O2 -pipe -mcpu=7450 -mtune=7450 -maltivec -mabi=altivec -fno-strict-aliasing" CHOST="powerpc-unknown-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/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -pipe -mcpu=7450 -mtune=7450 -maltivec -mabi=altivec -fno-strict-aliasing" DISTDIR="/usr/portage/distfiles" FEATURES="buildpkg ccache cvs sandbox userpriv usersandbox" GENTOO_MIRRORS="http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ http://trumpetti.atm.tut.fi/gentoo/ ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo ftp://mirror.switch.ch/mirror/gentoo/ ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="3ds X X509 Xaw3d aalib acl alsa altivec apache2 arts artswrappersuid asterisk async audiofile berkdb bindist canna cap caps cdr client composite crypt cscope cups curl dga djbfft dnd doc dv dvd editor encode escreen expat f77 faac faad fam fbcon fbdev ffmpeg fftw flac flash fluidsynth fmod foomaticdb freetds freetype gcj gd gd-external gif gimpprint ginac glut gmtfull gmthigh gmtsuppl gmttria gnome-libs gphoto2 gpm gstreamer gtk gtk2 gtkhtml guile idea ieee1394 imagemagick imlib imlib2 jabber java javacomm javascript jbig jikes joystick jpeg junit justify kde ladcca lcms ldap ldirectord leim libcaca libdsk libg libsamplerate libwww lufsusermount lzw-tiff mad matroska mcal md5sum migemo mikmod mitshm mmap mng monkey mono motif mozaccess mozcalendar mozilla mozinterfaceinfo mozp3p mozsvg mozxmlterm mpeg mpeg4 msn mule mysql nas ncurses net objc offensive oggvorbis ooo-kde openal opengl openssh oscar oss pam pcre pda pdflib perl pg-hier pg-vacuumdelay php physfs pic plotutils png portaudio ppc ppds pwdb python qt quicktime radeon readline regexp rogue ruby samba scanner sdl server sheep skey slang slp socks5 softmmu sox speex spell ssl stencil-buffer t1lib tcltk tcpd tetex theora tiff timidity tlen tools transcode truetype type1 usb utf8 video_cards_radeon videos wmf wsconvert wxwin wxwindows xatrix xface xfs xine xinerama xml xml2 xmms xosd xv xvid yahoo zeo zlib"
And this is what I got on an x86 when running --arch=ppc --unstable: /var/tmp/portage/crossdevbuild/gcc-3.3.3_pre20040408/buildboothere-ppc/gcc/xgcc -B/var/tmp/portage/crossdevbuild/gcc-3.3.3_pre20040408/buildboothere-ppc/gcc/ -B/opt/crossdev/ppc/powerpc-unknown-linux-gnu/bin/ -B/opt/crossdev/ppc/powerpc-unknown-linux-gnu/lib/ -isystem /opt/crossdev/ppc/powerpc-unknown-linux-gnu/include -O2 -DIN_GCC -DCROSS_COMPILE -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -fPIC -g -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I. -I../../gcc -I../../gcc/. -I../../gcc/config -I../../gcc/../include -fexceptions -c ../../gcc/unwind-dw2-fde-glibc.c -o libgcc/./unwind-dw2-fde-glibc.o In file included from ../../gcc/unwind-dw2.c:26: ../../gcc/unwind-pe.h: In function `size_of_encoded_value': ../../gcc/unwind-pe.h:76: warning: implicit declaration of function `abort' ../../gcc/unwind-dw2.c: In function `extract_cie_info': ../../gcc/unwind-dw2.c:252: warning: implicit declaration of function `strlen' ../../gcc/unwind-dw2.c: In function `uw_frame_state_for': ../../gcc/unwind-dw2.c:933: warning: implicit declaration of function `memset' ../../gcc/unwind-dw2.c:947: error: structure has no member named `regs' ../../gcc/unwind-dw2.c:947: error: structure has no member named `regs' ../../gcc/unwind-dw2.c:947: error: structure has no member named `regs' ../../gcc/unwind-dw2.c:947: error: structure has no member named `regs' ../../gcc/unwind-dw2.c: In function `uw_install_context_1': ../../gcc/unwind-dw2.c:1244: warning: implicit declaration of function `memcpy' make[2]: *** [libgcc/./unwind-dw2.o] Error 1 make[2]: *** Waiting for unfinished jobs.... In file included from ../../gcc/unwind-dw2-fde-glibc.c:47: ../../gcc/unwind-pe.h: In function `size_of_encoded_value': ../../gcc/unwind-pe.h:76: warning: implicit declaration of function `abort' In file included from ../../gcc/unwind-dw2-fde-glibc.c:298: ../../gcc/unwind-dw2-fde.c: In function `get_cie_encoding': ../../gcc/unwind-dw2-fde.c:274: warning: implicit declaration of function `strlen' make[2]: Leaving directory `/var/tmp/portage/gcc-3.3.3_pre20040408-r1/work/gcc-20040408/buildboothere-ppc/gcc' make[1]: *** [stmp-multilib] Error 2 make[1]: Leaving directory `/var/tmp/portage/gcc-3.3.3_pre20040408-r1/work/gcc-20040408/buildboothere-ppc/gcc' make: *** [all-gcc] Error 2 * InstallGccBootstrap(): Failed to compile! emerge info: Portage 2.0.50-r5 (default-x86-1.4, gcc-3.3.2, glibc-2.3.3_pre20040207-r0, 2.4.22-gentoo-r7) ================================================================= System uname: 2.4.22-gentoo-r7 i686 Pentium III (Coppermine) Gentoo Base System version 1.4.6 distcc 2.13 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.3 [enabled] Autoconf: sys-devel/autoconf-2.59-r3 Automake: sys-devel/automake-1.8.3 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=pentium3 -O2 -pipe" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/afs/C /etc/afs/afsws /etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=pentium3 -O2 -pipe -fmemoize-lookups -fsave-memoized" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache cvs sandbox userpriv usersandbox" GENTOO_MIRRORS="ftp://ftp.uninett.no/pub/linux/Gentoo ftp://ftp.rhnet.is/pub/gentoo/ http://ftp.rhnet.is/pub/gentoo/ ftp://trumpetti.atm.tut.fi/gentoo/ http://trumpetti.atm.tut.fi/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="3ds S3TC X Xaw3d aavm acl acpi acpi4linux afs alsa apache2 apm arts avi berkdb bindist bonobo cdr clamav crypt cscope cups dga dillo directfb dvd encode esd faad fam fbcon fbdev ffmpeg fftw flac flash foomaticdb freetype gd gdbm gif gimpprint ginac gnome gnomedb gpm gstreamer gtk gtk2 gtkhtml imagemagick imlib imlib2 ipv6 java javascript jikes joystick jpeg kde kerberos ladcca lcms ldap libg++ libwww lids linguas_en linguas_sv ltsp mad matroska md5sum mikmod mmap mmx mng mono motif mozcalendar mozilla mozsvg mpeg mpi nas ncurses nls nvidia oav objc odbc offensive oggvorbis openal opengl oss pam parse-clocks pdflib perl pic plotutils png pnp ppds prebuilt prelude python qhull qt quicktime readline ruby samba sasl sdl slang sox spell sqlite sse ssl svga t1lib tcltk tcpd tetex threading tiff truetype type1 usb wmf wxwindows x86 xface xine xml xml2 xmms xosd xv xvid zlib"
This is unsolvable at the current time because of the way I use headers. Currently, crossdev snags headers from the kernel as well as from /usr/include. In theory, the correct mechanism would be to build glibc just a little bit to get usable headers out of it, but last time I gave this a shot, I didn't get very far. I'll probably try it again in the future, but until then, you really can't build x86 compilers on non-x86 hosts.
*** Bug 41988 has been marked as a duplicate of this bug. ***
It also failed building ppc on x86 (I had to do some manual modifications since the gcc-3.3.3_pre* dir didn't correspond with the ebuild-name). Log is attached in the second comment.