[lfs-dev] Possible problem with current glibc (LFS 7.2 cant recompile LFS 7.2)

Ken Moffat zarniwhoop at ntlworld.com
Sun Aug 26 14:13:10 PDT 2012

On Sun, Aug 26, 2012 at 03:38:57PM -0500, Bruce Dubbs wrote:
> Ken Moffat wrote:
> > On Sun, Aug 26, 2012 at 12:46:26AM -0500, Bruce Dubbs wrote:
> >>
> >> Everything looks OK to me. Jasmine, what is the command line (from the
> >> log) that produces the error?  I don't know what you are doing that
> >> wants to output to cross-rpc_clntout.o.
> >   Interrupting, after some build-tests on x86_64 : If I use the
> > book's full install, including the rpc headers, chapter 5 glibc is
> > fine, as is chapter 6 [ ignoring whatever _I_ do differently to
> > automake which causes 80+ test failures : only a handful when run
> > _manually_ in the completed system ].
> rpc headers from the host are not needed.  Indeed, nothing from the host 
> should be included.  They are in /tools or the glibc source tree.
> >   But, Jasmine mentioned a problem in chapter 5, on _rebuilding_ 7.2
> > from itself.  This leads me to think you didn't install the headers
> > in chapter 6 on the initial build ?
> No, I *was* using 7.2 to rebuild glibc with Chapter 5 instructions.

 The question was for Jasmine.
> >   If I rename /usr/include/rpc{,svc} so that they will not be found,
> > I get an error in chapter 5 on x86_64.  So, it isn't only 32-bit.
> >
> > good (broken up by pasting):
> >
> > gcc   -D_RPC_THREAD_SAFE_ -D_GNU_SOURCE -DIS_IN_build -include
> > /mnt/lfs/building/glibc-build/config.h rpc_clntout.c \
> >          -o /mnt/lfs/building/glibc-build/sunrpc/cross-rpc_clntout.o
> > -MMD -MP -MF
> > /mnt/lfs/building/glibc-build/sunrpc/cross-rpc_clntout.o.dt -MT
> > /mnt/lfs/building/glibc-build/sunrpc/cross-rpc_clntout.o -c
> > gcc   -D_RPC_THREAD_SAFE_ -D_GNU_SOURCE -DIS_IN_build -include
> > /mnt/lfs/building/glibc-build/config.h rpc_tblout.c \
> >          -o /mnt/lfs/building/glibc-build/sunrpc/cross-rpc_tblout.o
> > -MMD -MP -MF
> > /mnt/lfs/building/glibc-build/sunrpc/cross-rpc_tblout.o.dt -MT
> > /mnt/lfs/building/glibc-build/sunrpc/cross-rpc_tblout.o -c
> This is the problem.  You are using gcc, not 
> /tools/bin/x86_64-lfs-linux-gnu-gcc as is done in the book.
> The above is way too short, with missing -I parameters and other 
> options.  You are also missing -nostdinc.

 Well, that is the output from my build scripts.
The failing version starts with
mkdir: created directory '../glibc-build'
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-lfs-linux-gnu
checking for x86_64-lfs-linux-gnu-gcc... x86_64-lfs-linux-gnu-gcc
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether x86_64-lfs-linux-gnu-gcc accepts -g... yes
checking for x86_64-lfs-linux-gnu-gcc option to accept ISO C89...
checking for gcc... gcc
checking how to run the C preprocessor... x86_64-lfs-linux-gnu-gcc
checking for x86_64-lfs-linux-gnu-g++... no

 and before the part I posted is
x86_64-lfs-linux-gnu-gcc rpc_sample.c -c -std=gnu99 -fgnu89-inline
-O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants
-frounding-math -Wstrict-prototypes        -D_RPC_THREAD_SAFE_
-I../include -I/mnt/lfs/building/glibc-build/sunrpc
-I../sysdeps/unix/sysv/linux/x86 -I../sysdeps/unix/sysv/linux/x86_64
-I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread
-I../sysdeps/pthread -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu
-I../sysdeps/unix/inet -I../nptl/sysdeps/unix/sysv
-I../sysdeps/unix/sysv -I../sysdeps/unix/x86_64
-I../nptl/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix
-I../nptl/sysdeps/x86_64/64 -I../sysdeps/x86_64/64
-I../sysdeps/x86_64/fpu/multiarch -I../sysdeps/x86_64/fpu
-I../sysdeps/x86/fpu -I../sysdeps/x86_64/multiarch
-I../nptl/sysdeps/x86_64 -I../sysdeps/x86_64 -I../sysdeps/x86
-I../sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64/wordsize-64
-I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32
-I../sysdeps/wordsize-64 -I../sysdeps/ieee754 -I../sysdeps/generic
-I../nptl  -I.. -I../libio -I. -nostdinc -isystem
-isystem /tools/include -D_LIBC_REENTRANT -include
../include/libc-symbols.h   -DNOT_IN_libc=1    -D_RPC_THREAD_SAFE_
-o /mnt/lfs/building/glibc-build/sunrpc/rpc_sample.o -MD -MP -MF
/mnt/lfs/building/glibc-build/sunrpc/rpc_sample.o.dt -MT
gcc   -D_RPC_THREAD_SAFE_ -D_GNU_SOURCE -DIS_IN_build -include
/mnt/lfs/building/glibc-build/config.h rpc_main.c \
        -o /mnt/lfs/building/glibc-build/sunrpc/cross-rpc_main.o
/mnt/lfs/building/glibc-build/sunrpc/cross-rpc_main.o.dt -MT
/mnt/lfs/building/glibc-build/sunrpc/cross-rpc_main.o -c
gcc   -D_RPC_THREAD_SAFE_ -D_GNU_SOURCE -DIS_IN_build -include
/mnt/lfs/building/glibc-build/config.h rpc_hout.c \
        -o /mnt/lfs/building/glibc-build/sunrpc/cross-rpc_hout.o
/mnt/lfs/building/glibc-build/sunrpc/cross-rpc_hout.o.dt -MT
/mnt/lfs/building/glibc-build/sunrpc/cross-rpc_hout.o -c
gcc   -D_RPC_THREAD_SAFE_ -D_GNU_SOURCE -DIS_IN_build -include
/mnt/lfs/building/glibc-build/config.h rpc_cout.c \
        -o /mnt/lfs/building/glibc-build/sunrpc/cross-rpc_cout.o
/mnt/lfs/building/glibc-build/sunrpc/cross-rpc_cout.o.dt -MT
/mnt/lfs/building/glibc-build/sunrpc/cross-rpc_cout.o -c
gcc   -D_RPC_THREAD_SAFE_ -D_GNU_SOURCE -DIS_IN_build -include
/mnt/lfs/building/glibc-build/config.h rpc_parse.c \
        -o /mnt/lfs/building/glibc-build/sunrpc/cross-rpc_parse.o
/mnt/lfs/building/glibc-build/sunrpc/cross-rpc_parse.o.dt -MT
/mnt/lfs/building/glibc-build/sunrpc/cross-rpc_parse.o -c
gcc   -D_RPC_THREAD_SAFE_ -D_GNU_SOURCE -DIS_IN_build -include
/mnt/lfs/building/glibc-build/config.h rpc_scan.c \
        -o /mnt/lfs/building/glibc-build/sunrpc/cross-rpc_scan.o
/mnt/lfs/building/glibc-build/sunrpc/cross-rpc_scan.o.dt -MT
  -D_RPC_THREAD_SAFE_ -D_GNU_SOURCE -DIS_IN_build -include
/mnt/lfs/building/glibc-build/config.h rpc_scan.c \
        -o /mnt/lfs/building/glibc-build/sunrpc/cross-rpc_scan.o
/mnt/lfs/building/glibc-build/sunrpc/cross-rpc_scan.o.dt -MT
/mnt/lfs/building/glibc-build/sunrpc/cross-rpc_scan.o -c
gcc   -D_RPC_THREAD_SAFE_ -D_GNU_SOURCE -DIS_IN_build -include
/mnt/lfs/building/glibc-build/config.h rpc_util.c \
        -o /mnt/lfs/building/glibc-build/sunrpc/cross-rpc_util.o
/mnt/lfs/building/glibc-build/sunrpc/cross-rpc_util.o.dt -MT
/mnt/lfs/building/glibc-build/sunrpc/cross-rpc_util.o -c
gcc   -D_RPC_THREAD_SAFE_ -D_GNU_SOURCE -DIS_IN_build -include
/mnt/lfs/building/glibc-build/config.h rpc_svcout.c \
        -o /mnt/lfs/building/glibc-build/sunrpc/cross-rpc_svcout.o
/mnt/lfs/building/glibc-build/sunrpc/cross-rpc_svcout.o.dt -MT
/mnt/lfs/building/glibc-build/sunrpc/cross-rpc_svcout.o -c

 So, yes, as you have pointed out, it is using the host's compiler

 Looking at my previous builds, in 2.14.1 and 2.15 cross-rpc did not
get built, so something based on the initial patch I pointed to in
my last mail has been included upstream.

 I'll give it a try with --enable-obsolete-rpc when I've eaten.

das eine Mal als Tragödie, das andere Mal als Farce

More information about the lfs-dev mailing list