Hi all,
When bootstrapping gcc 4.1.1 on my AMB64 system, I run into some
troubles that seem to be connected to the linker not finding 32-bit
versions of some libraries by the available C compiler (gcc 4.0.3 on
Kubuntu). This is the place where the make process breaks down:
./xgcc -B./ -B/home/sidney/gccbuild/gcc-4.1.1-native.rootdir/x86_64-
unknown-linux-gnu/bin/ -isystem /home/sidney/gccbuild/gcc-4.1.1-
native.rootdir/x86_64-unknown-linux-gnu/include -isystem /home/sidney/
gccbuild/gcc-4.1.1-native.rootdir/x86_64-unknown-linux-gnu/sys-
include -L/home/sidney/gccbuild/gcc-4.1.1-native.objdir/gcc/../ld -
O2 -O2 -g -O2 -DIN_GCC -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/32/libgcc.map -o 32/
libgcc_s.so.1.tmp -m32 libgcc/32/_muldi3_s.o libgcc/32/_negdi2_s.o
libgcc/32/_lshrdi3_s.o libgcc/32/_ashldi3_s.o libgcc/32/_ashrdi3_s.o
libgcc/32/_cmpdi2_s.o libgcc/32/_ucmpdi2_s.o libgcc/32/_floatdidf_s.o
libgcc/32/_floatdisf_s.o libgcc/32/_fixunsdfsi_s.o libgcc/32/
_fixunssfsi_s.o libgcc/32/_fixunsdfdi_s.o libgcc/32/_fixdfdi_s.o
libgcc/32/_fixunssfdi_s.o libgcc/32/_fixsfdi_s.o libgcc/32/
_fixxfdi_s.o libgcc/32/_fixunsxfdi_s.o libgcc/32/_floatdixf_s.o
libgcc/32/_fixunsxfsi_s.o libgcc/32/_fixtfdi_s.o libgcc/32/
_fixunstfdi_s.o libgcc/32/_floatditf_s.o libgcc/32/_clear_cache_s.o
libgcc/32/_enable_execute_stack_s.o libgcc/32/_trampoline_s.o libgcc/
32/__main_s.o libgcc/32/_absvsi2_s.o libgcc/32/_absvdi2_s.o libgcc/32/
_addvsi3_s.o libgcc/32/_addvdi3_s.o libgcc/32/_subvsi3_s.o libgcc/32/
_subvdi3_s.o libgcc/32/_mulvsi3_s.o libgcc/32/_mulvdi3_s.o libgcc/32/
_negvsi2_s.o libgcc/32/_negvdi2_s.o libgcc/32/_ctors_s.o libgcc/32/
_ffssi2_s.o libgcc/32/_ffsdi2_s.o libgcc/32/_clz_s.o libgcc/32/
_clzsi2_s.o libgcc/32/_clzdi2_s.o libgcc/32/_ctzsi2_s.o libgcc/32/
_ctzdi2_s.o libgcc/32/_popcount_tab_s.o libgcc/32/_popcountsi2_s.o
libgcc/32/_popcountdi2_s.o libgcc/32/_paritysi2_s.o libgcc/32/
_paritydi2_s.o libgcc/32/_powisf2_s.o libgcc/32/_powidf2_s.o libgcc/
32/_powixf2_s.o libgcc/32/_powitf2_s.o libgcc/32/_mulsc3_s.o libgcc/
32/_muldc3_s.o libgcc/32/_mulxc3_s.o libgcc/32/_multc3_s.o libgcc/32/
_divsc3_s.o libgcc/32/_divdc3_s.o libgcc/32/_divxc3_s.o libgcc/32/
_divtc3_s.o libgcc/32/_divdi3_s.o libgcc/32/_moddi3_s.o libgcc/32/
_udivdi3_s.o libgcc/32/_umoddi3_s.o libgcc/32/_udiv_w_sdiv_s.o libgcc/
32/_udivmoddi4_s.o libgcc/32/unwind-dw2_s.o libgcc/32/unwind-dw2-fde-
glibc_s.o libgcc/32/unwind-sjlj_s.o libgcc/32/gthr-gnat_s.o libgcc/32/
unwind-c_s.o -lc && rm -f 32/libgcc_s.so && if [ -f 32/libgcc_s.so.
1 ]; then mv -f 32/libgcc_s.so.1 32/libgcc_s.so.1.backup; else true;
fi && mv 32/libgcc_s.so.1.tmp 32/libgcc_s.so.1 && ln -s libgcc_s.so.1
32/libgcc_s.so
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libc.so when
searching for -lc
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libc.a when
searching for -lc
/usr/bin/ld: skipping incompatible /usr/bin/../lib/libc.so when
searching for -lc
/usr/bin/ld: skipping incompatible /usr/bin/../lib/libc.a when
searching for -lc
/usr/bin/ld: skipping incompatible /usr/lib/libc.so when searching
for -lc
/usr/bin/ld: skipping incompatible /usr/lib/libc.a when searching for
-lc
/usr/bin/ld: cannot find -lc
collect2: ld returned 1 exit status
make[3]: *** [32/libgcc_s.so] Error 1
make[3]: Leaving directory `/home/sidney/gccbuild/gcc-4.1.1-
native.objdir/gcc'
make[2]: *** [stmp-multilib] Error 2
make[2]: Leaving directory `/home/sidney/gccbuild/gcc-4.1.1-
native.objdir/gcc'
make[1]: *** [stage1_build] Error 2
make[1]: Leaving directory `/home/sidney/gccbuild/gcc-4.1.1-
native.objdir/gcc'
make: *** [bootstrap] Error 2
As I am not really interested in the biarch capability anyway, I am
looking for a way to direct the bootstrap process to skip all that
and just build me a 64-bit capable compiler. Ideally, there would be
a ./configure flag to prevent building a biarch compiler.
I looked in the docs but I cannot find an easy way to do this.
Does anyone know how this can be done?
Cheerio, Sidney