- gcc-bootstrap always failes to compile the first time because HEADERS_DIR (inside the crossdev.sh script) inits empty when headers are not yet unpacked. - From second time on, glibc always fails to compile for alpha, also when using 2.3.2-r9 which runs stable on alpha. - When using glibc-2.3.3_pre20031222, GLIBC_DIR does not init right. - Typo in crossdev.sh, missing space before ] in: if [ "${CMDKERNEL}" != "yes"]; then - crossdev-status.sh minor bugs: /usr/bin/crossdev-status.sh: line 291: [18]=0: command not found /usr/bin/crossdev-status.sh: line 297: [18]=0: command not found I fixed all this and can now build a full toolchain on athlon-xp for alpha. Also when fixing this I added some features, so one can do for instance: crossdev.sh --arch=alpha --headers=2.4.19-r1 --gcc=3.3.2-r2 --glibc=2.3.2-r9 --pflags The --pflags option is for using the CFLAGS from portage. Use this if you think they are better than crossdev.sh normally provides ;-) The patched crossdev.sh and crossdev-status.sh can be downloaded from http://cyberx.ath.cx/crossdev-0.3-patched.tar.bz2 Reproducible: Always Steps to Reproduce: 1.emerge /usr/portage/sys-devel/crossdev/crossdev-0.3.ebuild 2.rm -rf /var/tmp/portage/* /home/crossdev/* 3.crossdev.sh --arch=alpha 4.crossdev.sh --arch=alpha Actual Results: First time: make[2]: *** [libgcc/./unwind-dw2.o] Error 1 make[2]: Leaving directory `/var/tmp/portage/crossdevbuild/gcc-3.2.3/buildboothe re-alpha/gcc' make[1]: *** [libgcc.a] Error 2 make[1]: Leaving directory `/var/tmp/portage/crossdevbuild/gcc-3.2.3/buildboothe re-alpha/gcc' make: *** [all-gcc] Error 2 * gcc-bootstrap failed to compile! Second time: make[2]: *** [/var/tmp/portage/crossdevbuild/glibc-2.3.2/buildhere-alpha/posix/vfork.o] Error 1 make[2]: Leaving directory `/var/tmp/portage/crossdevbuild/glibc-2.3.2/posix' make[1]: *** [posix/subdir_lib] Error 2 make[1]: Leaving directory `/var/tmp/portage/crossdevbuild/glibc-2.3.2' make: *** [all] Error 2 * glibc failed to compile! Expected Results: * >>> -------------------------------------------------------------------------------------------- * >>> i686-pc-linux-gnu -> alpha-unknown-linux-gnu cross-compile toolchain complete! * >>> Toolchain was installed in /home/crossdev/alpha * >>> To make use of the newly installed toolchain, append /home/crossdev/alpha/bin to the end of your $PATH. * >>> -------------------------------------------------------------------------------------------- Portage 2.0.49-r20 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r3, 2.4.24) ================================================================= System uname: 2.4.24 i686 AMD Athlon(tm) XP 2600+ Gentoo Base System version 1.4.3.10 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O2 -march=athlon-xp -pipe" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-O2 -march=athlon-xp -pipe" DISTDIR="/data/linux/gentoo/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="http://ftp.snt.utwente.nl/pub/os/linux/gentoo http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ http://gentoo.inode.at/ http://gentoo.mirror.sdv.fr" MAKEOPTS="-j1" PKGDIR="/data/linux/gentoo/packages/athlon-xp" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.nl.gentoo.org/gentoo-portage" USE="X apm arts avi berkdb bonobo cdr crypt cups directfb encode esd foomaticdb gdbm gif gnome gpm gtk gtk2 imlib java jpeg ldap libg++ libwww mad mikmod motif mozilla mpeg ncurses oggvorbis opengl oss pam pdflib perl png python quicktime readline ruby sdl slang ssl svga tcpd truetype x86 xml2 xmms xv zlib"
Wow, this is neat, have to poke at it later on. I mainly worked on crossdev on my x86 box, which just went "boom" yesterday, so I won't be able to scrutinize this for a bit until I get that box back up and finish up some things in mips-land. The added flags to specify specific versions is the more interesting to look at. Have to see how you implemented that little bit of logic.
been fixed; in crossdev-0.4.