Hi, I'm not sure if this is a binutils problem or something funky in my configure for gcc. gcc fails to link while building libgcc: /export/toolchain/gcc-4.1.2.git/host-i686-pc-linux-gnu/gcc/xgcc -B/export/toolchain/gcc-4.1.2.git/host-i686-pc-linux-gnu/gcc/ -B/export/toolchain/build-install/i686-sun-solaris2.10/bin/ -B/export/toolchain/build-install/i686-sun-solaris2.10/lib/ -isystem /export/toolchain/build-install/i686-sun-solaris2.10/include -isystem /export/toolchain/build-install/i686-sun-solaris2.10/sys-include -O2 -O2 -g3 -DIN_GCC -DCROSS_COMPILE -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -shared -nodefaultlibs -Wl,--soname=libgcc_s.so.1 -Wl,--version-script=libgcc/amd64/libgcc.map -o amd64/libgcc_s.so.1.tmp -m64 libgcc/amd64/_muldi3_s.o libgcc/amd64/_negdi2_s.o libgcc/amd64/_lshrdi3_s.o libgcc/amd64/_ashldi3_s.o libgcc/amd64/_ashrdi3_s.o libgcc/amd64/_cmpdi2_s.o libgcc/amd64/_ucmpdi2_s.o libgcc/amd64/_clear_cache_s.o libgcc/amd64/_enable_execute_stack_s.o libgcc/amd64/_trampoline_s.o libgcc/amd64/__main_s.o libgcc/amd64/_absvsi2_s.o libgcc/amd64/_absvdi2_s.o libgcc/amd64/_addvsi3_s.o libgcc/amd64/_addvdi3_s.o libgcc/amd64/_subvsi3_s.o libgcc/amd64/_subvdi3_s.o libgcc/amd64/_mulvsi3_s.o libgcc/amd64/_mulvdi3_s.o libgcc/amd64/_negvsi2_s.o libgcc/amd64/_negvdi2_s.o libgcc/amd64/_ctors_s.o libgcc/amd64/_ffssi2_s.o libgcc/amd64/_ffsdi2_s.o libgcc/amd64/_clz_s.o libgcc/amd64/_clzsi2_s.o libgcc/amd64/_clzdi2_s.o libgcc/amd64/_ctzsi2_s.o libgcc/amd64/_ctzdi2_s.o libgcc/amd64/_popcount_tab_s.o libgcc/amd64/_popcountsi2_s.o libgcc/amd64/_popcountdi2_s.o libgcc/amd64/_paritysi2_s.o libgcc/amd64/_paritydi2_s.o libgcc/amd64/_powisf2_s.o libgcc/amd64/_powidf2_s.o libgcc/amd64/_powixf2_s.o libgcc/amd64/_powitf2_s.o libgcc/amd64/_mulsc3_s.o libgcc/amd64/_muldc3_s.o libgcc/amd64/_mulxc3_s.o libgcc/amd64/_multc3_s.o libgcc/amd64/_divsc3_s.o libgcc/amd64/_divdc3_s.o libgcc/amd64/_divxc3_s.o libgcc/amd64/_divtc3_s.o libgcc/amd64/_fixunssfsi_s.o libgcc/amd64/_fixunsdfsi_s.o libgcc/amd64/_fixunsxfsi_s.o libgcc/amd64/_fixsfdi_s.o libgcc/amd64/_fixunssfdi_s.o libgcc/amd64/_floatdisf_s.o libgcc/amd64/_fixdfdi_s.o libgcc/amd64/_fixunsdfdi_s.o libgcc/amd64/_floatdidf_s.o libgcc/amd64/_fixxfdi_s.o libgcc/amd64/_fixunsxfdi_s.o libgcc/amd64/_floatdixf_s.o libgcc/amd64/_fixtfdi_s.o libgcc/amd64/_fixunstfdi_s.o libgcc/amd64/_floatditf_s.o libgcc/amd64/_divdi3_s.o libgcc/amd64/_moddi3_s.o libgcc/amd64/_udivdi3_s.o libgcc/amd64/_umoddi3_s.o libgcc/amd64/_udiv_w_sdiv_s.o libgcc/amd64/_udivmoddi4_s.o libgcc/amd64/unwind-dw2_s.o libgcc/amd64/unwind-dw2-fde_s.o libgcc/amd64/unwind-sjlj_s.o libgcc/amd64/gthr-gnat_s.o libgcc/amd64/unwind-c_s.o -lc && rm -f amd64/libgcc_s.so && if [ -f amd64/libgcc_s.so.1 ]; then mv -f amd64/libgcc_s.so.1 amd64/libgcc_s.so.1.backup; else true; fi && mv amd64/libgcc_s.so.1.tmp amd64/libgcc_s.so.1 && ln -s libgcc_s.so.1 amd64/libgcc_s.so /export/toolchain/build-install/bin/i686-sun-solaris2.10-ld: cannot find -lc collect2: ld returned 1 exit status make[3]: *** [amd64/libgcc_s.so] Error 1 make[3]: Leaving directory `/export/toolchain/gcc-4.1.2.git/host-i686-pc-linux-gnu/gcc' make[2]: *** [stmp-multilib] Error 2 make[2]: Leaving directory `/export/toolchain/gcc-4.1.2.git/host-i686-pc-linux-gnu/gcc' make[1]: *** [all-gcc] Error 2 make[1]: Leaving directory `/export/toolchain/gcc-4.1.2.git' make: *** [all] Error 2 I've configured gcc with the following: path=`pwd` crossrc="$path/.." host=i686-pc-gnu target=i686-sun-solaris2.10 prefix=$crosssrc/build-install sysroot=$crosssrc/sysroot syslibs=$sysroot/usr/lib sysincludes=$sysroot/usr/include ./configure -prefix=$prefix --target=$target --with-gnu-as --with-gnu-ld --with-libs=$syslibs --with-headers=$sysincludes --enable-languages=c,c ++ --with-cpu=opteron And I'm using the latest binutils CVS as I've been told the linker already supports this cross-compile option. strace'ing the build it seems to search a series of options before it fails: [pid 4382] open("/export/toolchain/build-install/i686-sun-solaris2.10/bin/libc.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) [pid 4382] open("/export/toolchain/build-install/i686-sun-solaris2.10/bin/libc.a", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) [pid 4382] open("/export/toolchain/build-install/i686-sun-solaris2.10/lib/amd64/libc.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) [pid 4382] open("/export/toolchain/build-install/i686-sun-solaris2.10/lib/amd64/libc.a", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) [pid 4382] open("/export/toolchain/build-install/lib/../i686-sun-solaris2.10/lib/amd64/libc.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) [pid 4382] open("/export/toolchain/build-install/lib/../i686-sun-solaris2.10/lib/amd64/libc.a", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) [pid 4382] open("/lib/64/libc.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) Are these files that should of been copied over into the build directory by binutils from the --with-libs I passed it or should they be referencing sysroot directly. binutils was configured with: path=`pwd` crossrc="$path/.." host=i686-pc-gnu target=i686-sun-solaris2.10 prefix=$crosssrc/build-install sysroot=$crosssrc/sysroot syslibs=$sysroot/usr/lib sysincludes=$sysroot/usr/include ./configure -prefix=$prefix --target=$target --with-gnu-as --with-gnu-ld --with-libs=$syslibs --with-headers=$sysincludes --enable-languages=c,c ++ --with-cpu=opteron Regards, -- Alex, homepage: http://www.bennee.com/~alex/ By doing just a little every day, you can gradually let the task completely overwhelm you.