Hi, I am afraid this is a problem at the border between distro installation and gcc installation, I hope someone here can shed some light on the best way to proceed. I have successfully compiled the 4.2 branch on other systems, but this one is giving me a catch-22 kind of problem. It's RedHat EL4 on a AMD x86-64 system, I've got all the gcc- and gcc4- packages that the installation system provides, installed. It seems that when I configure and build, using ../gcc/configure --prefix=/usr/local/encap/gcc-4.2.0.0 --program-suffix=v42 -- enable-languages=c,c++,fortran Then it fails to build due to /usr/bin/ld: crti.o: No such file: No such file or directory In this case, it is missing the 32-bit version of crti.o. However, it seems like RedHat's installation system will not give me the option to install the 32 bit version. I've tried both gcc (GCC) 3.4.6 20060404 (Red Hat 3.4.6-3) And gcc4 (GCC) 4.1.0 20060515 (Red Hat 4.1.0-18) The -m32 is being given in the enviroment variables LIBGCC2_CFLAGS and MULTILIB_CFLAGS These are not set in the build shell, but I am not familiar enough to know at what point or for what purpose they do get set. 1. Why is this necessary, I am happy (for now) just to build the pure 64 bit version? Did i miss a flag for that? 2. If this is necessary, perhaps the error should occur during the configuration step, the simplest program compiled with -m32 will not work on this system so it should be easy to detect. 3. I'm not sure even how to bootstrap this, how can I make my own 32 bit crti.o and whatever else is needed to create the new one? I anticipate I'd just have the same problem building. 4. Anyone know the magic incantation to force RedHat to allow parallel installation of the 32 and 64 bit files? Sure, I'll ask redhat people, too. Thanks. Robert Here's the error as shown when re-running 'make' [root@mt-xe04 build]# make [ -f stage_final ] || echo stage3 > stage_final make[1]: Entering directory `/xe04tmp/sources/gcc_42_svn/build' make[2]: Entering directory `/xe04tmp/sources/gcc_42_svn/build' make[3]: Entering directory `/xe04tmp/sources/gcc_42_svn/build' rm -f stage_current make[3]: Leaving directory `/xe04tmp/sources/gcc_42_svn/build' make[2]: Leaving directory `/xe04tmp/sources/gcc_42_svn/build' make[2]: Entering directory `/xe04tmp/sources/gcc_42_svn/build' make[3]: Entering directory `/xe04tmp/sources/gcc_42_svn/build/libiberty' make[4]: Entering directory `/xe04tmp/sources/gcc_42_svn/build/libiberty/testsuite' make[4]: Nothing to be done for `all'. make[4]: Leaving directory `/xe04tmp/sources/gcc_42_svn/build/libiberty/testsuite' make[3]: Leaving directory `/xe04tmp/sources/gcc_42_svn/build/libiberty' make[3]: Entering directory `/xe04tmp/sources/gcc_42_svn/build/intl' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/xe04tmp/sources/gcc_42_svn/build/intl' make[3]: Entering directory `/xe04tmp/sources/gcc_42_svn/build/build-x86_64-unknown-linux-gnu/libibe rty' make[4]: Entering directory `/xe04tmp/sources/gcc_42_svn/build/build-x86_64-unknown-linux-gnu/libibe rty/testsuite' make[4]: Nothing to be done for `all'. make[4]: Leaving directory `/xe04tmp/sources/gcc_42_svn/build/build-x86_64-unknown-linux-gnu/libibe rty/testsuite' make[3]: Leaving directory `/xe04tmp/sources/gcc_42_svn/build/build-x86_64-unknown-linux-gnu/libibe rty' make[3]: Entering directory `/xe04tmp/sources/gcc_42_svn/build/build-x86_64-unknown-linux-gnu/fixinc ludes' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/xe04tmp/sources/gcc_42_svn/build/build-x86_64-unknown-linux-gnu/fixinc ludes' make[3]: Entering directory `/xe04tmp/sources/gcc_42_svn/build/libcpp' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/xe04tmp/sources/gcc_42_svn/build/libcpp' make[3]: Entering directory `/xe04tmp/sources/gcc_42_svn/build/libdecnumber' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/xe04tmp/sources/gcc_42_svn/build/libdecnumber' make[3]: Entering directory `/xe04tmp/sources/gcc_42_svn/build/gcc' make \ CFLAGS="-g -fkeep-inline-functions -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wmissing-format-attribute -fno-common " \ CONFIG_H="config.h auto-host.h ../../gcc/gcc/../include/ansidecl.h" \ MAKEOVERRIDES= \ -f libgcc.mk all make[4]: Entering directory `/xe04tmp/sources/gcc_42_svn/build/gcc' make GCC_FOR_TARGET="/sources/gcc_42_svn/build/./gcc/xgcc -B/sources/gcc_42_svn/build/./gcc/ -B/usr/local/encap/gcc-4.2.0.0/x86_64-unknown-linux-gnu/bin/ -B/usr/local/encap/gcc-4.2.0.0/x86_64-unknown-linux-gnu/lib/ -isystem /usr/local/encap/gcc-4.2.0.0/x86_64-unknown-linux-gnu/include -isystem /usr/local/encap/gcc-4.2.0.0/x86_64-unknown-linux-gnu/sys-include" \ AR_FOR_TARGET="ar" \ AR_CREATE_FOR_TARGET="ar rc" \ AR_EXTRACT_FOR_TARGET="ar x" \ AR_FLAGS_FOR_TARGET="" \ CC="gcc4" CFLAGS="-g -fkeep-inline-functions -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wmissing-format-attribute -fno-common " \ BUILD_PREFIX="" \ BUILD_PREFIX_1="" \ LANGUAGES="" \ LIBGCC2_CFLAGS="-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 " \ MULTILIB_CFLAGS="" T= crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o crtfastmath.o make[5]: Entering directory `/xe04tmp/sources/gcc_42_svn/build/gcc' make[5]: `crtbegin.o' is up to date. make[5]: `crtend.o' is up to date. make[5]: `crtbeginS.o' is up to date. make[5]: `crtendS.o' is up to date. make[5]: `crtbeginT.o' is up to date. make[5]: `crtfastmath.o' is up to date. make[5]: Leaving directory `/xe04tmp/sources/gcc_42_svn/build/gcc' /sources/gcc_42_svn/build/./gcc/xgcc -B/sources/gcc_42_svn/build/./gcc/ -B/usr/local/encap/gcc-4.2.0.0/x86_64-unknown-linux-gnu/bin/ -B/usr/local/encap/gcc-4.2.0.0/x86_64-unknown-linux-gnu/lib/ -isystem /usr/local/encap/gcc-4.2.0.0/x86_64-unknown-linux-gnu/include -isystem /usr/local/encap/gcc-4.2.0.0/x86_64-unknown-linux-gnu/sys-include -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/./libgcc.map -o ./libgcc_s.so.1.tmp libgcc/./_muldi3_s.o libgcc/./_negdi2_s.o libgcc/./_lshrdi3_s.o libgcc/./_ashldi3_s.o libgcc/./_ashrdi3_s.o libgcc/./_cmpdi2_s.o libgcc/./_ucmpdi2_s.o libgcc/./_clear_cache_s.o libgcc/./_enable_execute_stack_s.o libgcc/./_trampoline_s.o libgcc/./__main_s.o libgcc/./_absvsi2_s.o libgcc/./_absvdi2_s.o libgcc/./_addvsi3_s.o libgcc/./_addvdi3_s.o libgcc/./_subvsi3_s.o libgcc/./_subvdi3_s.o libgcc/./_mulvsi3_s.o libgcc/./_mulvdi3_s.o libgcc/./_negvsi2_s.o libgcc/./_negvdi2_s.o libgcc/./_ctors_s.o libgcc/./_ffssi2_s.o libgcc/./_ffsdi2_s.o libgcc/./_clz_s.o libgcc/./_clzsi2_s.o libgcc/./_clzdi2_s.o libgcc/./_ctzsi2_s.o libgcc/./_ctzdi2_s.o libgcc/./_popcount_tab_s.o libgcc/./_popcountsi2_s.o libgcc/./_popcountdi2_s.o libgcc/./_paritysi2_s.o libgcc/./_paritydi2_s.o libgcc/./_powisf2_s.o libgcc/./_powidf2_s.o libgcc/./_powixf2_s.o libgcc/./_powitf2_s.o libgcc/./_mulsc3_s.o libgcc/./_muldc3_s.o libgcc/./_mulxc3_s.o libgcc/./_multc3_s.o libgcc/./_divsc3_s.o libgcc/./_divdc3_s.o libgcc/./_divxc3_s.o libgcc/./_divtc3_s.o libgcc/./_fixunssfsi_s.o libgcc/./_fixunsdfsi_s.o libgcc/./_fixunsxfsi_s.o libgcc/./_fixsfdi_s.o libgcc/./_fixunssfdi_s.o libgcc/./_floatdisf_s.o libgcc/./_floatundisf_s.o libgcc/./_fixdfdi_s.o libgcc/./_fixunsdfdi_s.o libgcc/./_floatdidf_s.o libgcc/./_floatundidf_s.o libgcc/./_fixxfdi_s.o libgcc/./_fixunsxfdi_s.o libgcc/./_floatdixf_s.o libgcc/./_floatundixf_s.o libgcc/./_fixtfdi_s.o libgcc/./_fixunstfdi_s.o libgcc/./_floatditf_s.o libgcc/./_floatunditf_s.o libgcc/./_divdi3_s.o libgcc/./_moddi3_s.o libgcc/./_udivdi3_s.o libgcc/./_umoddi3_s.o libgcc/./_udiv_w_sdiv_s.o libgcc/./_udivmoddi4_s.o libgcc/./unwind-dw2_s.o libgcc/./unwind-dw2-fde-glibc_s.o libgcc/./unwind-sjlj_s.o libgcc/./gthr-gnat_s.o libgcc/./unwind-c_s.o -lc && rm -f ./libgcc_s.so && if [ -f ./libgcc_s.so.1 ]; then mv -f ./libgcc_s.so.1 ./libgcc_s.so.1.backup; else true; fi && mv ./libgcc_s.so.1.tmp ./libgcc_s.so.1 && ln -s libgcc_s.so.1 ./libgcc_s.so make GCC_FOR_TARGET="/sources/gcc_42_svn/build/./gcc/xgcc -B/sources/gcc_42_svn/build/./gcc/ -B/usr/local/encap/gcc-4.2.0.0/x86_64-unknown-linux-gnu/bin/ -B/usr/local/encap/gcc-4.2.0.0/x86_64-unknown-linux-gnu/lib/ -isystem /usr/local/encap/gcc-4.2.0.0/x86_64-unknown-linux-gnu/include -isystem /usr/local/encap/gcc-4.2.0.0/x86_64-unknown-linux-gnu/sys-include" \ AR_FOR_TARGET="ar" \ AR_CREATE_FOR_TARGET="ar rc" \ AR_EXTRACT_FOR_TARGET="ar x" \ AR_FLAGS_FOR_TARGET="" \ CC="gcc4" CFLAGS="-g -fkeep-inline-functions -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wmissing-format-attribute -fno-common " \ BUILD_PREFIX="" \ BUILD_PREFIX_1="" \ LANGUAGES="" \ LIBGCC2_CFLAGS="-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 -m32 " \ MULTILIB_CFLAGS=" -m32" T=32/ 32/crtbegin.o 32/crtend.o 32/crtbeginS.o 32/crtendS.o 32/crtbeginT.o 32/crtfastmath.o make[5]: Entering directory `/xe04tmp/sources/gcc_42_svn/build/gcc' make[5]: `32/crtbegin.o' is up to date. make[5]: `32/crtend.o' is up to date. make[5]: `32/crtbeginS.o' is up to date. make[5]: `32/crtendS.o' is up to date. make[5]: `32/crtbeginT.o' is up to date. make[5]: `32/crtfastmath.o' is up to date. make[5]: Leaving directory `/xe04tmp/sources/gcc_42_svn/build/gcc' /sources/gcc_42_svn/build/./gcc/xgcc -B/sources/gcc_42_svn/build/./gcc/ -B/usr/local/encap/gcc-4.2.0.0/x86_64-unknown-linux-gnu/bin/ -B/usr/local/encap/gcc-4.2.0.0/x86_64-unknown-linux-gnu/lib/ -isystem /usr/local/encap/gcc-4.2.0.0/x86_64-unknown-linux-gnu/include -isystem /usr/local/encap/gcc-4.2.0.0/x86_64-unknown-linux-gnu/sys-include -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/_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/_fixunssfsi_s.o libgcc/32/_fixunsdfsi_s.o libgcc/32/_fixunsxfsi_s.o libgcc/32/_fixsfdi_s.o libgcc/32/_fixunssfdi_s.o libgcc/32/_floatdisf_s.o libgcc/32/_floatundisf_s.o libgcc/32/_fixdfdi_s.o libgcc/32/_fixunsdfdi_s.o libgcc/32/_floatdidf_s.o libgcc/32/_floatundidf_s.o libgcc/32/_fixxfdi_s.o libgcc/32/_fixunsxfdi_s.o libgcc/32/_floatdixf_s.o libgcc/32/_floatundixf_s.o libgcc/32/_fixtfdi_s.o libgcc/32/_fixunstfdi_s.o libgcc/32/_floatditf_s.o libgcc/32/_floatunditf_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: crti.o: No such file: No such file or directory collect2: ld returned 1 exit status make[4]: *** [32/libgcc_s.so] Error 1 make[4]: Leaving directory `/xe04tmp/sources/gcc_42_svn/build/gcc' make[3]: *** [stmp-multilib] Error 2 make[3]: Leaving directory `/xe04tmp/sources/gcc_42_svn/build/gcc' make[2]: *** [all-stage1-gcc] Error 2 make[2]: Leaving directory `/xe04tmp/sources/gcc_42_svn/build' make[1]: *** [stage1-bubble] Error 2 make[1]: Leaving directory `/xe04tmp/sources/gcc_42_svn/build' make: *** [all] Error 2