From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30673 invoked by alias); 19 Mar 2007 21:33:16 -0000 Received: (qmail 30659 invoked by uid 22791); 19 Mar 2007 21:33:13 -0000 X-Spam-Check-By: sourceware.org Received: from mx.transitive.com (HELO pennyblack.transitives.com) (217.207.128.220) by sourceware.org (qpsmtpd/0.31) with ESMTP; Mon, 19 Mar 2007 21:33:06 +0000 Received: from [192.168.1.82] (helo=[192.168.1.82]) by pennyblack.transitives.com with esmtp (Exim 4.50) id 1HTPME-00014L-3s; Mon, 19 Mar 2007 21:25:35 +0000 Subject: Cross Linux/x86 to Solaris2.10/x86-64 compiler build problem From: Alex Bennee To: gcc Cc: binutils Content-Type: text/plain Date: Mon, 19 Mar 2007 21:46:00 -0000 Message-Id: <1174339982.27206.10.camel@okra.transitives.com> Mime-Version: 1.0 X-Mailer: Evolution 2.8.2 Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes Mailing-List: contact gcc-help-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-help-owner@gcc.gnu.org X-SW-Source: 2007-03/txt/msg00256.txt.bz2 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 -share= d -nodefaultlibs -Wl,--soname=3Dlibgcc_s.so.1 -Wl,--version-script=3Dlibgcc= /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 l= ibgcc/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/_addvdi= 3_s.o libgcc/amd64/_subvsi3_s.o libgcc/amd64/_subvdi3_s.o libgcc/amd64/_mul= vsi3_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/_clz= di2_s.o libgcc/amd64/_ctzsi2_s.o libgcc/amd64/_ctzdi2_s.o libgcc/amd64/_pop= count_tab_s.o libgcc/amd64/_popcountsi2_s.o libgcc/amd64/_popcountdi2_s.o l= ibgcc/amd64/_paritysi2_s.o libgcc/amd64/_paritydi2_s.o libgcc/amd64/_powisf= 2_s.o libgcc/amd64/_powidf2_s.o libgcc/amd64/_powixf2_s.o libgcc/amd64/_pow= itf2_s.o libgcc/amd64/_mulsc3_s.o libgcc/amd64/_muldc3_s.o libgcc/amd64/_mu= lxc3_s.o libgcc/amd64/_multc3_s.o libgcc/amd64/_divsc3_s.o libgcc/amd64/_di= vdc3_s.o libgcc/amd64/_divxc3_s.o libgcc/amd64/_divtc3_s.o libgcc/amd64/_fi= xunssfsi_s.o libgcc/amd64/_fixunsdfsi_s.o libgcc/amd64/_fixunsxfsi_s.o libg= cc/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/_fl= oatdidf_s.o libgcc/amd64/_fixxfdi_s.o libgcc/amd64/_fixunsxfdi_s.o libgcc/a= md64/_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/a= md64/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 am= d64/libgcc_s.so.1 ]; then mv -f amd64/libgcc_s.so.1 amd64/libgcc_s.so.1.bac= kup; 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=3D`pwd` crossrc=3D"$path/.." host=3Di686-pc-gnu target=3Di686-sun-solaris2.10 prefix=3D$crosssrc/build-install sysroot=3D$crosssrc/sysroot syslibs=3D$sysroot/usr/lib sysincludes=3D$sysroot/usr/include ./configure -prefix=3D$prefix --target=3D$target --with-gnu-as --with-gnu-ld --with-libs=3D$syslibs --with-headers=3D$sysincludes --enable-languages=3Dc= ,c ++ --with-cpu=3Dopteron And I'm using the latest binutils CVS as I've been told the linker already supports this cross-compile option.=20 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) =3D -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) =3D -1 ENOENT (No such file or directory) [pid 4382] open("/export/toolchain/build-install/i686-sun-solaris2.10/lib/amd64/libc.s= o", O_RDONLY|O_LARGEFILE) =3D -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) =3D -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) =3D -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) =3D -1 ENOENT (No such file or directory) [pid 4382] open("/lib/64/libc.so", O_RDONLY|O_LARGEFILE) =3D -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=3D`pwd` crossrc=3D"$path/.." host=3Di686-pc-gnu target=3Di686-sun-solaris2.10 prefix=3D$crosssrc/build-install sysroot=3D$crosssrc/sysroot syslibs=3D$sysroot/usr/lib sysincludes=3D$sysroot/usr/include ./configure -prefix=3D$prefix --target=3D$target --with-gnu-as --with-gnu-ld --with-libs=3D$syslibs --with-headers=3D$sysincludes --enable-languages=3Dc= ,c ++ --with-cpu=3Dopteron Regards, --=20 Alex, homepage: http://www.bennee.com/~alex/ By doing just a little every day, you can gradually let the task completely overwhelm you.