On 19.4.2014 7:42, mar...@byteanywhere.com wrote:
>
>      Hi
>
>    Thanks all for the replays.
> I am trying to create a cross compiler using the steps for building LFS
> when the temporary tools are build.
> Those steps should allow me to use the cross compiler, but obviously
> i am not doing something correctly.
>     I just used the path from cross-tools package 0.43
> but not using anything from there. One reason for which i am trying
> to create the cross compiler, is that i saw you build for LFS gcc 4.8.2
> and glibc-2.19, which are not supported anymore by that tool or others.
>
>     This are the steps is used. I didnt created a lfs user,
> but if you think thats the cause of the problem i can create it and try
> that way as well. The host is x86_64 with kernel 3.7.10
>
> I have a symlink between:
>   ls -ld /tools
> lrwxrwxrwx 1 root root 47 Apr 17 08:08 /tools ->
> /home/marian/crosstool/x86_64-unknown-linux-gnu/
>
>
> export PREFIX=/home/marian/crosstool/x86_64-unknown-linux-gnu
> export TARGET=x86_64-unknown-linux-gnu

The trick is in this line. To "cross compile" glibc for the same arch, 
target triplet needs to be different or you are nothing other but simply 
compiling. I ran into similar issue when I bootstrapped 32 bit glibc on 
64 bit os. That's one reason lfs uses $LFS_TGT-*lfs*-linux-gnu, not 
$LFS_TGT-*unknown*-linux-gnu for pass1 of both binutils and gcc.

> export
> SYSROOT=/home/marian/crosstool/x86_64-unknown-linux-gnu/x86_64-unknown-linux-gnu/sys-root
> export PATH=/tools/bin:/bin:/usr/bin
>
> 1. Binutils
>   ../binutils-2.24/configure --prefix=/tools --with-sysroot=$SYSROOT
> --with-lib-path=/tools/lib --target=$TARGET --disable-nls
> --disable-werror
>
>    binutils compiles fine. no errors.
>
> 2. Kernel headers
>
> make headers_check
> make INSTALL_HDR_PATH=dest headers_install
> cp -rv dest/include/* /tools/include
>
>
> 3.  From some other docs i saw they install the glibc headers as well here.
> I have tried this, but the same error is happening when building gcc or
> glibc.
>     System glibc headers
>
>     mkdir glibc-build
>     cd glibc-build
>
> ../glibc-2.19/configure --prefix=/tools --host=$TARGET
> --build=$(../glibc-2.19/scripts/config.guess) --disable-profile
> --enable-kernel=2.6.32 --with-headers=/tools/include
> libc_cv_forced_unwind=yes libc_cv_ctors_header=yes libc_cv_c_cleanup=yes
> --without-selinux
>
>     make -k install-headers install_root=/
>
> 4. GCC stage 1
>
> ../gcc-4.8.2/configure --target=$TARGET --prefix=/tools
> --with-sysroot=$SYSROOT --with-newlib  --without-headers
> --with-local-prefix=/tools
> --with-native-system-header-dir=/tools/include --disable-nls
> --disable-shared  --disable-multilib  --disable-decimal-float
> --disable-threads --disable-libatomic  --disable-libgomp --disable-libitm
> --disable-libmudflap --disable-libquadmath --disable-libsanitizer
> --disable-libssp  --disable-libstdc++-v3 --enable-languages=c,c++
> --with-mpfr-include=$(pwd)/../gcc-4.8.2/mpfr/src
> --with-mpfr-lib=$(pwd)/mpfr/src/.libs
>
>     Here if i use make, i get the same error, that compiler can not create
> executables. From config log, the error is that cross gcc is not able
> to find a couple of libs (which seems generated by glibc) crt1.o, crti.o,
> crtn.o and libc.so
>
>    Thus from other docs i have seen these being used, so i have tried to
> continue using them:
>
> make all-gcc
> make all-target-libgcc
> make install-gcc
> make install-target-libgcc
>
> 5.  building glibc fails building in sunrpc folder,
> for some rpc_* files, with the same same error, saying that those libs can
> not be found.
>
>
> ../glibc-2.19/configure --prefix=/tools --host=$TARGET
> --build=$(../glibc-2.19/scripts/config.guess) --disable-profile
> --enable-kernel=2.6.32 --with-headers=/tools/include
> libc_cv_forced_unwind=yes libc_cv_ctors_header=yes libc_cv_c_cleanup=yes
> --without-selinux
>
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-support
FAQ: http://www.linuxfromscratch.org/lfs/faq.html
Unsubscribe: See the above information page

Reply via email to