Can you check whether crt1.o and crt1.o exist? And the path where they do live. Also it would be interesting to know the exact commandline (check config.log).
2014-04-08 14:13 GMT+02:00 Mo Jia <life.130...@gmail.com>: > Try to make a gcc cross compiler , > > 0 perpare vars in env > > export HOST=x86_64-pc-linux-gnu > export BUILD=$HOST > export TARGET=x86_64-none-linux-gnu > export CROSS_TOOL=/vita/cross-tool > export CROSS_GCC_TMP=/vita/cross-gcc-tmp > export SYSROOT=/vita/sysroot > PATH=$CROSS_TOOL/bin:$CROSS_GCC_TMP/bin:/sbin:/usr/sbin:$PATH > > 1 build binutilss > > ../binutils-2.23.1/configure --prefix=$CROSS_TOOL \ > --target=$TARGET --with-sysroot=$SYSROOT > > build success > then add this lines to .bashrc And this want build glibc next use the > tools I just build > > export AR="$TARGET-ar" > export AS="$TARGET-as" > export RANLIB="$TARGET-ranlib" > export LD="$TARGET-ld" > export STRIP="$TARGET-strip" > > 2 build freestanding compiler first perpare gmp source > > cd gcc-4.7.2/ > tar -xvf ../../source/mpfr-3.1.1.tar.bz2 > tar -xvf ../../source/mpc-1.0.1.tar.gz > tar -xvf ../../source/gmp-5.0.5.tar.bz2 > mv gmp-5.0.5/ gmp > mv mpfr-3.1.1/ mpfr > mv mpc-1.0.1/ mpc > > then cd to gcc-build1 > > ../gcc-4.7.2/configure --prefix=$CROSS_GCC_TMP --target=$TARGET \ > --with-sysroot=$SYSROOT --with-newlib --enable-languages=c \ > --with-mpfr-include=/vita/build/gcc-4.7.2/mpfr/src \ > --with-mpfr-lib=/vita/build/gcc-build1/mpfr/src/.libs \ > --disable-shared --disable-threads --disable-decimal-float \ > --disable-libquadmath --disable-libmudflap --disable-libgomp \ > --disable-nls --disable-libssp --disable-multilib > > succss . So add this line the ~/.bashrc (this will use this build > gcc to build a second gcc ) > > > export CC="$TARGET-gcc" > > 3 build glibc > > ../glibc-2.15/configure --prefix=/usr --host=$TARGET \ > --enable-kernel=3.7.4 --enable-add-ons \ > --with-headers=$SYSROOT/usr/include\ > libc_cv_forced_unwind=yes libc_cv_c_cleanup=yes \ > libc_cv_ctors_header=yes > > and make and install > > make install_root=$SYSROOT install > > after install : > > vita@engine-virtual-machine:/vita$ ls sysroot/usr/lib64/*.o > sysroot/usr/lib64/crt1.o sysroot/usr/lib64/crtn.o > sysroot/usr/lib64/Mcrt1.o > sysroot/usr/lib64/crti.o sysroot/usr/lib64/gcrt1.o > sysroot/usr/lib64/Scrt1.o > > 4 build second pass gcc , cd to gcc-build2 > > ../gcc-4.7.2/configure --prefix=$CROSS_TOOL --target=$TARGET \ > --with-sysroot=$SYSROOT \ > --with-newlib --enable-languages=c,c++ \ > --with-mpfr-include=/vita/build/gcc-4.7.2/mpfr/src \ > --with-mpfr-lib=/vita/build/gcc-build2/mpfr/src/.libs \ > --disable-multilib --enable-threads=posix > > Here will be error > > checking build system type... x86_64-unknown-linux-gnu > checking host system type... x86_64-unknown-linux-gnu > checking target system type... x86_64-none-linux-gnu > checking for a BSD-compatible install... /usr/bin/install -c > checking whether ln works... yes > checking whether ln -s works... yes > checking for a sed that does not truncate output... /bin/sed > checking for gawk... gawk > checking for libitm support... yes > checking for gcc... x86_64-none-linux-gnu-gcc > checking for C compiler default output file name... > configure: error: in `/vita/build/gcc-build2': > configure: error: C compiler cannot create executables > > Then I cd /vita/cross-gcc-tmp/bin The first pass install dir : > > vita@engine-virtual-machine:/vita/cross-gcc-tmp/bin$ > ./x86_64-none-linux-gnu-gcc test.c > /vita/cross-tool/bin/x86_64-none-linux-gnu-ld: cannot find crt1.o: > No such file or directory > /vita/cross-tool/bin/x86_64-none-linux-gnu-ld: cannot find crti.o: > No such file or directory > collect2: error: ld returned 1 exit status > > (I install bintuils in /vita/cross-tool and install tmp gcc in > /vita/cross-gcc-tmp ) > > Here is question : > Seem /vita/cross-tool/bin/x86_64-none-linux-gnu-ld can't find crti.o > and it don't know the $sysroot/usr/lib64 I already success build > So I am wondering the --with-sysroot=$SYSROOT mean to search libs in > $SYSROOT, why it can't known ? > > Any suggestion ?