[Bug libstdc++/40974] cannot build gcc-4.4.1: fenv_t has not been declared
--- Comment #8 from booleandomain at gmail dot com 2009-08-07 11:58 --- Created an attachment (id=18316) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18316action=view) x86_64-unknown-linux-gnu/libstdc++-v3/include/fenv.h -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40974
[Bug libstdc++/40974] cannot build gcc-4.4.1: fenv_t has not been declared
--- Comment #9 from booleandomain at gmail dot com 2009-08-07 12:00 --- Created an attachment (id=18317) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18317action=view) x86_64-unknown-linux-gnu/libstdc++-v3/include/tr1/fenv.h -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40974
[Bug libstdc++/40974] cannot build gcc-4.4.1: fenv_t has not been declared
--- Comment #10 from booleandomain at gmail dot com 2009-08-07 12:03 --- Created an attachment (id=18318) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18318action=view) build-stage1 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40974
[Bug libstdc++/40974] cannot build gcc-4.4.1: fenv_t has not been declared
--- Comment #2 from booleandomain at gmail dot com 2009-08-06 19:21 --- My goal is to build a GNU/Linux system similar to CLFS (cross-lfs.org), where the host and the target are the same physical machine. I'm not an expert, but anyway it seems that the C++ cross-compiler is trying to build the stdtr1c++.h header, which asks for tr1/cfenv. tr1/cfenv asks for bits/c++config.h (that defines _GLIBCXX_HAVE_FENV_H 1 and _GLIBC_USE_C99_FENV_TR1 1), then it asks for fenv.h and finally it asks for tr1_impl/cfenv. Since _GLIBCXX_USE_C99_FENV_TR1 is set to 1, tr1_impl/cfenv uses fenv_t and (don't know why) it fails. The fenv.h file in gcc build directory is only 71 bytes long, while the fenv.h provided by glibc is 4670 bytes long (don't know if this is ok). I'm not a C++ expert, so I don't know what fenv_t neither where to look for it. I also tried to --disable-c99 for both the cross-compiler and the target compiler, but the problem is still there. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40974
[Bug libstdc++/40974] cannot build gcc-4.4.1: fenv_t has not been declared
--- Comment #3 from booleandomain at gmail dot com 2009-08-06 20:20 --- I added the --disable-libstdcxx-pch option to the configure command for the target gcc compiler, and now make works. Now I'm no longer sure if this is a bug or my fault... -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40974
[Bug libstdc++/40974] New: cannot build gcc-4.4.1: fenv_t has not been declared
-build' make: *** [all] Error 2 The configure command contained the following options: --prefix=/usr --build=x86_64-cross-linux-gnu --host=x86_64-unknown-linux-gnu --target=x86_64-unknown-linux-gnu --enable-languages=c,c++ --disable-multilib The following environment variables were set before the build started: export CC=${CLFS_CROSS_TOOLS}/usr/bin/${CLFS_TARGET}-gcc export CXX=${CLFS_CROSS_TOOLS}/usr/bin/${CLFS_TARGET}-c++ export AR=${CLFS_CROSS_TOOLS}/usr/bin/${CLFS_TARGET}-ar export AS=${CLFS_CROSS_TOOLS}/usr/bin/${CLFS_TARGET}-as export LD=${CLFS_CROSS_TOOLS}/usr/bin/${CLFS_TARGET}-ld export NM=${CLFS_CROSS_TOOLS}/usr/bin/${CLFS_TARGET}-nm export OBJDUMP=${CLFS_CROSS_TOOLS}/usr/bin/${CLFS_TARGET}-objdump export RANLIB=${CLFS_CROSS_TOOLS}/usr/bin/${CLFS_TARGET}-ranlib export STRIP=${CLFS_CROSS_TOOLS}/usr/bin/${CLFS_TARGET}-strip export CC_FOR_TARGET=${CLFS_CROSS_TOOLS}/usr/bin/${CLFS_TARGET}-gcc export CXX_FOR_TARGET=${CLFS_CROSS_TOOLS}/usr/bin/${CLFS_TARGET}-c++ export AR_FOR_TARGET=${CLFS_CROSS_TOOLS}/usr/bin/${CLFS_TARGET}-ar export AS_FOR_TARGET=${CLFS_CROSS_TOOLS}/usr/bin/${CLFS_TARGET}-as export LD_FOR_TARGET=${CLFS_CROSS_TOOLS}/usr/bin/${CLFS_TARGET}-ld export NM_FOR_TARGET=${CLFS_CROSS_TOOLS}/usr/bin/${CLFS_TARGET}-nm export OBJDUMP_FOR_TARGET=${CLFS_CROSS_TOOLS}/usr/bin/${CLFS_TARGET}-objdump export RANLIB_FOR_TARGET=${CLFS_CROSS_TOOLS}/usr/bin/${CLFS_TARGET}-ranlib export STRIP_FOR_TARGET=${CLFS_CROSS_TOOLS}/usr/bin/${CLFS_TARGET}-strip CLFS_CROSS_TOOLS is the path to the gcc cross-compiler. CLFS_TARGET is x86_64-unknown-linux-gnu. -- Summary: cannot build gcc-4.4.1: fenv_t has not been declared Product: gcc Version: 4.4.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: booleandomain at gmail dot com GCC build triplet: x86_64-cross-linux-gnu GCC host triplet: x86_64-unknown-linux-gnu GCC target triplet: x86_64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40974
[Bug c/40602] crti.o: No such file
--- Comment #4 from booleandomain at gmail dot com 2009-07-07 10:39 --- I created a symlink from /usr/lib to /usr/lib64 and now gcc is built fine! Thanks a lot! (Probably this bug is going to be marked as invalid...) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40602
[Bug c/40602] crti.o: No such file
--- Comment #1 from booleandomain at gmail dot com 2009-07-06 23:06 --- Now I'm trying to compile gcc-4.4.0 configured as follows: ../gcc-4.4.0/configure --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --target=x86_64-pc-linux-gnu --enable-languages=c --disable-multilib make fails with the same error message. crti.o is located at /usr/lib64/crti.o this is the output of cat LOG | grep crti.o | grep ENOENT | grep lib64 after having issued strace -f make 2 LOG: [pid 32046] access(/sources/gcc-build/gcc/../lib/gcc/x86_64-pc-linux-gnu/4.4.0/../../../../x86_64-pc-linux-gnu/lib/../lib64/crti.o, R_OK) = -1 ENOENT (No such file or directory) [pid 32046] access(/sources/gcc-build/gcc/../lib/gcc/x86_64-pc-linux-gnu/4.4.0/../../../../lib64/crti.o, R_OK) = -1 ENOENT (No such file or directory) [pid 32046] access(/lib/../lib64/crti.o, R_OK) = -1 ENOENT (No such file or directory) [pid 32046] access(/usr/lib/../lib64/crti.o, R_OK) = -1 ENOENT (No such file or directory) As you can see it tries to access /usr/lib64/crti.o, but inexplicably it can't find it. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40602
[Bug c/40602] New: crti.o: No such file
I'm trying to compile gcc-4.4.0 configured as: ../gcc-4.4.0/configure --prefix=/static --build=$x86_64-cross-linux-gnu --host=x86_64-cross-linux-gnu --target=x86_64-pc-linux-gnu --enable-languages=c --disable-multilib --disable-decimal-float --disable-threads I get the following error message after issuing make: /home/booleandomain/tmp/lfs/sources/gcc-build/./gcc/xgcc -B/home/booleandomain/tmp/lfs/sources/gcc-build/./gcc/ -B/static/x86_64-pc-linux-gnu/bin/ -B/static/x86_64-pc-linux-gnu/lib/ -isystem /static/x86_64-pc-linux-gnu/include -isystem /static/x86_64-pc-linux-gnu/sys-include -O2 -g -O2 -march=core2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual -Wold-style-definition -isystem ./include -fPIC -g -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -shared -nodefaultlibs -Wl,--soname=libgcc_s.so.1 -Wl,--version-script=libgcc.map -o ./libgcc_s.so.1.tmp -g -O2 -march=core2 -B./ _muldi3_s.o _negdi2_s.o _lshrdi3_s.o _ashldi3_s.o _ashrdi3_s.o _cmpdi2_s.o _ucmpdi2_s.o _clear_cache_s.o _enable_execute_stack_s.o _trampoline_s.o __main_s.o _absvsi2_s.o _absvdi2_s.o _addvsi3_s.o _addvdi3_s.o _subvsi3_s.o _subvdi3_s.o _mulvsi3_s.o _mulvdi3_s.o _negvsi2_s.o _negvdi2_s.o _ctors_s.o _ffssi2_s.o _ffsdi2_s.o _clz_s.o _clzsi2_s.o _clzdi2_s.o _ctzsi2_s.o _ctzdi2_s.o _popcount_tab_s.o _popcountsi2_s.o _popcountdi2_s.o _paritysi2_s.o _paritydi2_s.o _powisf2_s.o _powidf2_s.o _powixf2_s.o _mulsc3_s.o _muldc3_s.o _mulxc3_s.o _divsc3_s.o _divdc3_s.o _divxc3_s.o _bswapsi2_s.o _bswapdi2_s.o _fixunssfsi_s.o _fixunsdfsi_s.o _fixunsxfsi_s.o _fixsfdi_s.o _fixdfdi_s.o _fixxfdi_s.o _fixunssfdi_s.o _fixunsdfdi_s.o _fixunsxfdi_s.o _floatdisf_s.o _floatdidf_s.o _floatdixf_s.o _floatundisf_s.o _floatundidf_s.o _floatundixf_s.o _divdi3_s.o _moddi3_s.o _udivdi3_s.o _umoddi3_s.o _udiv_w_sdiv_s.o _udivmoddi4_s.o addtf3_s.o divtf3_s.o multf3_s.o negtf2_s.o subtf3_s.o unordtf2_s.o fixtfsi_s.o fixunstfsi_s.o floatsitf_s.o floatunsitf_s.o fixtfdi_s.o fixunstfdi_s.o floatditf_s.o floatunditf_s.o fixtfti_s.o fixunstfti_s.o floattitf_s.o floatuntitf_s.o extendsftf2_s.o extenddftf2_s.o extendxftf2_s.o trunctfsf2_s.o trunctfdf2_s.o trunctfxf2_s.o getf2_s.o letf2_s.o eqtf2_s.o _divtc3_s.o _multc3_s.o _powitf2_s.o unwind-dw2_s.o unwind-dw2-fde-glibc_s.o unwind-sjlj_s.o gthr-gnat_s.o unwind-c_s.o emutls_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 /usr/bin/x86_64-pc-linux-gnu-ld: crti.o: No such file: No such file or directory collect2: ld returned 1 exit status make[2]: *** [libgcc_s.so] Error 1 make[2]: Leaving directory `/home/booleandomain/tmp/lfs/sources/gcc-build/x86_64-pc-linux-gnu/libgcc' make[1]: *** [all-target-libgcc] Error 2 make[1]: Leaving directory `/home/booleandomain/tmp/lfs/sources/gcc-build' make: *** [all] Error 2 find /usr -iname crti.o /usr/lib64/crti.o /usr/lib32/crti.o /usr/bin/x86_64-pc-linux-gnu-ld --verbose | grep SEARCH_DIR SEARCH_DIR(/usr/x86_64-pc-linux-gnu/lib64); SEARCH_DIR(/usr/lib64/binutils/x86_64-pc-linux-gnu/2.19.164); SEARCH_DIR(/usr/local/lib64); SEARCH_DIR(/lib64); SEARCH_DIR(/usr/lib64); SEARCH_DIR(/usr/x86_64-pc-linux-gnu/lib); SEARCH_DIR(/usr/lib64/binutils/x86_64-pc-linux-gnu/2.19.1); SEARCH_DIR(/usr/local/lib); SEARCH_DIR(/lib); SEARCH_DIR(/usr/lib); I also tried with gcc-4.3.3 but I get exactly the same error. What could it be? A bug perhaps? -- Summary: crti.o: No such file Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: booleandomain at gmail dot com GCC build triplet: x86_64-cross-linux-gnu GCC host triplet: x86_64-cross-linux-gnu GCC target triplet: x86_64-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40602