[lfs-dev] gcc cross patch in pass1

Andrew Benton andy at benton.eu.com
Mon Mar 12 02:18:21 PDT 2012

On Mon, 12 Mar 2012 00:31:41 +0000
Jeremy Huntwork <jhuntwork at lightcubesolutions.com> wrote:

> > On Fri, 2012-03-02 at 00:39 +0000, Andrew Benton wrote:

> > I'm still no nearer to figuring out why I get this error. Trying to
> > follow Jeremy's new newlib build method fails for me at the first pass
> > of gcc:
> > checking for stdint.h... no
> > checking for unistd.h... no
> > checking for dlfcn.h... no
> > checking for objdir... .libs
> > checking if /mnt/lfs/sources/gcc-build/./gcc/xgcc -B/mnt/lfs/sources/gcc-build/./gcc/ -B/tools/x86_64-lfs-linux-gnu/bin/ -B/tools/x86_64-lfs-linux-gnu/lib/ -isystem /tools/x86_64-lfs-linux-gnu/include -isystem /tools/x86_64-lfs-linux-gnu/sys-include    supports -fno-rtti -fno-exceptions... no
> > checking for /mnt/lfs/sources/gcc-build/./gcc/xgcc -B/mnt/lfs/sources/gcc-build/./gcc/ -B/tools/x86_64-lfs-linux-gnu/bin/ -B/tools/x86_64-lfs-linux-gnu/lib/ -isystem /tools/x86_64-lfs-linux-gnu/include -isystem /tools/x86_64-lfs-linux-gnu/sys-include    option to produce PIC... -fPIC -DPIC
> > checking if /mnt/lfs/sources/gcc-build/./gcc/xgcc -B/mnt/lfs/sources/gcc-build/./gcc/ -B/tools/x86_64-lfs-linux-gnu/bin/ -B/tools/x86_64-lfs-linux-gnu/lib/ -isystem /tools/x86_64-lfs-linux-gnu/include -isystem /tools/x86_64-lfs-linux-gnu/sys-include    PIC flag -fPIC -DPIC works... yes
> > checking if /mnt/lfs/sources/gcc-build/./gcc/xgcc -B/mnt/lfs/sources/gcc-build/./gcc/ -B/tools/x86_64-lfs-linux-gnu/bin/ -B/tools/x86_64-lfs-linux-gnu/lib/ -isystem /tools/x86_64-lfs-linux-gnu/include -isystem /tools/x86_64-lfs-linux-gnu/sys-include    static flag -static works... no
> > checking if /mnt/lfs/sources/gcc-build/./gcc/xgcc -B/mnt/lfs/sources/gcc-build/./gcc/ -B/tools/x86_64-lfs-linux-gnu/bin/ -B/tools/x86_64-lfs-linux-gnu/lib/ -isystem /tools/x86_64-lfs-linux-gnu/include -isystem /tools/x86_64-lfs-linux-gnu/sys-include    supports -c -o file.o... yes
> > checking if /mnt/lfs/sources/gcc-build/./gcc/xgcc -B/mnt/lfs/sources/gcc-build/./gcc/ -B/tools/x86_64-lfs-linux-gnu/bin/ -B/tools/x86_64-lfs-linux-gnu/lib/ -isystem /tools/x86_64-lfs-linux-gnu/include -isystem /tools/x86_64-lfs-linux-gnu/sys-include    supports -c -o file.o... (cached) yes
> > checking whether the /mnt/lfs/sources/gcc-build/./gcc/xgcc -B/mnt/lfs/sources/gcc-build/./gcc/ -B/tools/x86_64-lfs-linux-gnu/bin/ -B/tools/x86_64-lfs-linux-gnu/lib/ -isystem /tools/x86_64-lfs-linux-gnu/include -isystem /tools/x86_64-lfs-linux-gnu/sys-include    linker (/mnt/lfs/sources/gcc-build/./gcc/collect-ld -m elf_x86_64) supports shared libraries... yes
> > checking dynamic linker characteristics... configure: error: Link tests are not allowed after GCC_NO_EXECUTABLES.
> > make[1]: *** [configure-target-zlib] Error 1
> > make[1]: Leaving directory `/mnt/lfs/sources/gcc-build'
> > make: *** [all] Error 2
> > lfs:/mnt/lfs/sources/gcc-build$
> >
> > I get the same error if I use scripts or if I copy and paste the
> > commands from the book. It is a bootstrapped build of gcc, and it fails
> > during the second or third pass (notice how it's testing xgcc). Your
> > output looks like the very first pass (when it's testing the host's
> > gcc).
> Wait, what? Bootstrapping the gcc build should not be happening. If
> you are cross compiling as you should be then you can't bootstrap.
> Please double check your environment settings to make sure that
> LFS_TGT is set and different than the output of ./config.guess.

I've only just woken up so I've not had time to check, but looking at
the output above I'm pretty sure ${LFS_TGT} is set because I can see
lots of `x86_64-lfs-linux-gnu'. I also think it's doing a bootstrap
build because it's using xgcc. So are you saying that passing
--target=x86_64-lfs-linux-gnu to gcc's configure should have the effect
of passing --disable-bootstrap? We use --disable-bootstrap the second
time we install gcc, but not the first.


More information about the lfs-dev mailing list