On Debian (and probably other), if I execute: tar xf ../update/gcc-4.4.0.tar.bz2 cd gcc-4.4.0/ tar xf ../../update/mpfr-2.4.1.tar.bz2 tar xf ../../update/gmp-4.3.1.tar.bz2 tar xf ../../update/binutils-2.19.1.tar.bz2 mv gmp-4.3.1 gmp mv mpfr-2.4.1 mpfr mv binutils-2.19.1 binutils mkdir -v ../gcc-build cd ../gcc-build mkdir /home/etienne/cross-tools /home/etienne/tools ../gcc-4.4.0/configure --prefix=/home/etienne/cross-tools \ --host="$(echo $MACHTYPE)" --target="powerpc-unknown-linux-gnu" \ --disable-multilib --with-local-prefix=/home/etienne/tools \ --disable-nls --disable-shared --disable-threads --enable-languages=c make all-gcc
(echo $MACHTYPE gives: i486-pc-linux-gnu) First error: if [ x"" != x ]; then \ gcc -c -DHAVE_CONFIG_H -g -O2 -I. -I../../gcc-4.4.0/libiberty/../include -W -Wall -Wwrite-strings -Wc++-compat -Wstrict-prototypes -pedantic ../../gcc-4.4.0/libiberty/strncmp.c -o pic/strncmp.o; \ else true; fi gcc -c -DHAVE_CONFIG_H -g -O2 -I. -I../../gcc-4.4.0/libiberty/../include -W -Wall -Wwrite-strings -Wc++-compat -Wstrict-prototypes -pedantic ../../gcc-4.4.0/libiberty/strncmp.c -o strncmp.o rm -f ./libiberty.a pic/./libiberty.a i486-pc-linux-gnu-ar rc ./libiberty.a \ ./regex.o ./cplus-dem.o ./cp-demangle.o ./md5.o ./sha1.o ./alloca.o ./argv.o ./choose-temp.o ./concat.o ./cp-demint.o ./dyn-string.o ./fdmatch.o ./fibheap.o ./filename_cmp.o ./floatformat.o ./fnmatch.o ./fopen_unlocked.o ./getopt.o ./getopt1.o ./getpwd.o ./getruntime.o ./hashtab.o ./hex.o ./lbasename.o ./lrealpath.o ./make-relative-prefix.o ./make-temp-file.o ./objalloc.o ./obstack.o ./partition.o ./pexecute.o ./physmem.o ./pex-common.o ./pex-one.o ./pex-unix.o ./safe-ctype.o ./sort.o ./spaces.o ./splay-tree.o ./strerror.o ./strsignal.o ./unlink-if-ordinary.o ./xatexit.o ./xexit.o ./xmalloc.o ./xmemdup.o ./xstrdup.o ./xstrerror.o ./xstrndup.o ./mkstemps.o ./strncmp.o make[1]: i486-pc-linux-gnu-ar: Command not found make[1]: *** [libiberty.a] Error 127 make[1]: Leaving directory `/home/etienne/gcc-build/gcc-build/libiberty' make: *** [all-libiberty] Error 2 etie...@eqng:~/gcc-build/gcc-build$ If I create i486-pc-linux-gnu-ar pointing to ar in /usr/bin: # ln -vs /usr/bin/ar /usr/bin/i486-pc-linux-gnu-ar `/usr/bin/i486-pc-linux-gnu-ar' -> `/usr/bin/ar' and rerun the same script: gcc -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual -Wold-style-definition -Wc++-compat -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -DHAVE_CONFIG_H -o xgcc gcc.o opts-common.o gcc-options.o gccspec.o \ intl.o prefix.o version.o ../libcpp/libcpp.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a cp xgcc gcc-cross gcc -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual -Wold-style-definition -Wc++-compat -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -DHAVE_CONFIG_H -I. -I. -I../../gcc-4.4.0/gcc -I../../gcc-4.4.0/gcc/. -I../../gcc-4.4.0/gcc/../include -I../../gcc-4.4.0/gcc/../libcpp/include -I/home/etienne/tmp/gcc-build/./gmp -I/home/etienne/tmp/gcc-4.4.0/gmp -I/home/etienne/tmp/gcc-build/./mpfr -I/home/etienne/tmp/gcc-4.4.0/mpfr -I../../gcc-4.4.0/gcc/../libdecnumber -I../../gcc-4.4.0/gcc/../libdecnumber/dpd -I../libdecnumber ../../gcc-4.4.0/gcc/cppspec.c -o cppspec.o gcc -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual -Wold-style-definition -Wc++-compat -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -DHAVE_CONFIG_H -o cpp gcc.o opts-common.o gcc-options.o cppspec.o \ intl.o prefix.o version.o ../libcpp/libcpp.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a powerpc-unknown-linux-gnu-gcc -dumpspecs > tmp-specs /bin/sh: powerpc-unknown-linux-gnu-gcc: command not found make[1]: *** [specs] Error 127 make[1]: Leaving directory `/home/etienne/tmp/gcc-build/gcc' make: *** [all-gcc] Error 2 etie...@eqng:~/tmp/gcc-build$ I just need todo: cd /home/etienne/tmp/gcc-build/gcc gcc-cross -dumpspecs > tmp-specs make cd .. make all-gcc make install-gcc install-binutils and I get a working compiler. Exactly the same 2 problems on gcc-4.3.3. Regards, Etienne. -- Summary: 2 small problems when building cross compiler Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: etienne_lorrain at yahoo dot fr GCC build triplet: i486-pc-linux-gnu GCC host triplet: i486-pc-linux-gnu GCC target triplet: powerpc-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40634