This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Cross Linux/x86 to Solaris2.10/x86-64 compiler build problem


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]