LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (https://www.linuxquestions.org/questions/linux-software-2/)
-   -   glibc-2.7: make goes into infinite loop (https://www.linuxquestions.org/questions/linux-software-2/glibc-2-7-make-goes-into-infinite-loop-649909/)

rl92694 06-17-2008 10:59 AM

glibc-2.7: make goes into infinite loop
 
I'm trying to install glibc-2.7 on my Linux x86-64 2.6 kernel system. I'm using gcc 4.3.1 and binutils 2.18.

The ./configure goes fine, but the make goes into an infinite loop, continually leaving and entering the "nptl" directory.

I see absolutely no errors. If you're interested, here's what I see:

Code:

make[2]: Entering directory `/tmp/glibc-2.7/nptl'
/opt/bin/install -c -m 644 ../include/limits.h /opt/include/limits.h
gawk -f ../scripts/gen-as-const.awk ../nptl/sysdeps/unix/sysv/linux/lowlevelrobustlock.sym \
        | gcc -S -o /tmp/glibc/lowlevelrobustlock.hT3 -std=gnu99 -fgnu89-inline -O2 \
 -Wall -Winline -Wwrite-strings -fmerge-all-constants -g -Wstrict-prototypes  \
-I../include -I/tmp/glibc/nptl -I/tmp/glibc \
-I../sysdeps/x86_64/elf \
-I../nptl/sysdeps/unix/sysv/linux/x86_64 - \
I../sysdeps/unix/sysv/linux/x86_64 - \
I../sysdeps/unix/sysv/linux/wordsize-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/common -I../sysdeps/unix/mman - \
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../sysdeps/x86_64/fpu - \
I../nptl/sysdeps/x86_64 -I../sysdeps/x86_64 - \
I../sysdeps/wordsize-64 -I../sysdeps/ieee754/ldbl-96 - \
I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 - \
I../sysdeps/ieee754 -I../sysdeps/generic/elf - \
I../sysdeps/generic -I../nptl  -I.. -I../libio -I. - \
I /lib/modules/2.6.9-42.ELsmp/build/include - \
D_LIBC_REENTRANT -include ../include/libc-symbols.h -x c - \
 -MD -MP -MF /tmp/glibc/lowlevelrobustlock.h.dT  \
-MT '/tmp/glibc/lowlevelrobustlock.h.d /tmp/glibc/lowlevelrobustlock.h'
sed -n <snipped for readability> > /tmp/glibc/lowlevelrobustlock.hT
rm -f /tmp/glibc/lowlevelrobustlock.hT3
sed -e <snipped for readability>  > /tmp/glibc/lowlevelrobustlock.h.dT2
rm -f /tmp/glibc/lowlevelrobustlock.h.dT
mv -f /tmp/glibc/lowlevelrobustlock.h.dT2 /tmp/glibc/lowlevelrobustlock.h.d
mv -f /tmp/glibc/lowlevelrobustlock.hT /tmp/glibc/lowlevelrobustlock.h
gawk -f ../scripts/gen-as-const.awk pthread-errnos.sym \
        | gcc -S -o /tmp/glibc/pthread-errnos.hT3 -std=gnu99 -fgnu89-inline -O2 \
 -Wall -Winline -Wwrite-strings -fmerge-all-constants -g -Wstrict-prototypes    \
-I../include -I/tmp/glibc/nptl -I/tmp/glibc \
-I../sysdeps/x86_64/elf \
-I../nptl/sysdeps/unix/sysv/linux/x86_64 - \
I../sysdeps/unix/sysv/linux/x86_64 - \
I../sysdeps/unix/sysv/linux/wordsize-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/common -I../sysdeps/unix/mman - \
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../sysdeps/x86_64/fpu - \
I../nptl/sysdeps/x86_64 -I../sysdeps/x86_64 - \
I../sysdeps/wordsize-64 -I../sysdeps/ieee754/ldbl-96 - \
I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 - \
I../sysdeps/ieee754 -I../sysdeps/generic/elf - \
I../sysdeps/generic -I../nptl  -I.. -I../libio -I. - \
I /lib/modules/2.6.9-42.ELsmp/build/include - \
D_LIBC_REENTRANT -include ../include/libc-symbols.h      -x c - \
 -MD -MP -MF /tmp/glibc/pthread-errnos.h.dT  \
-MT '/tmp/glibc/pthread-errnos.h.d /tmp/glibc/pthread-errnos.h'
sed -n <snipped for readability>  > /tmp/glibc/pthread-errnos.hT
rm -f /tmp/glibc/pthread-errnos.hT3
sed -e <snipped for readability>  > /tmp/glibc/pthread-errnos.h.dT2
rm -f /tmp/glibc/pthread-errnos.h.dT
mv -f /tmp/glibc/pthread-errnos.h.dT2 /tmp/glibc/pthread-errnos.h.d
mv -f /tmp/glibc/pthread-errnos.hT /tmp/glibc/pthread-errnos.h
make[2]: Leaving directory `/tmp/glibc-2.7/nptl'
make[2]: Entering directory `/tmp/glibc-2.7/nptl'
/opt/bin/install -c -m 644 ../include/limits.h /opt/include/limits.h

(etc)

Over and over again. I let it run overnight in the vague hope that if I left it alone it would magically heal itself, but the Linux elves were not forthcoming.

I'm stumped, and searching the interweb has provided no clues. Anyone had any experience with this? Any idea why it's looping like this?

Thanks.

knudfl 06-24-2008 09:39 AM

There is a detailed build instruction for glibc 2.7 here :
http://www.linuxfromscratch.org/lfs/...r05/glibc.html
(Linux From Scratch)
'gcc 4.3.1' is of later date (June 9th, 2008) than glibc 2.7, which is
from "Date: Thu, 1 Nov 2007 23:17:10" ....but give it a try again.....
or wait for a possible update (patch) for glibc to deal with
gcc 4.3.1 compiling.

No harm done with compiling ( = 'make'), but your system may not like a
different 'glibc'. So please make backup of "everything" before installing.
**Nothing, repeat nothing might work after you do a 'make install' !!!

All currently installed stuff is depending on the original system glibc.

Rgds

rl92694 06-24-2008 10:46 AM

Thanks for the replay, knudfl.

Trust me, I've tried different versions of gcc, different versions of binutils, even different glibc packages. All of them - every single one - goes into an infinite build loop in the "nptl" directory.

It's frustrating because no error messages are generated. I can't tell why it keeps looping, what test it's failing that prevents it from moving forward. Extremely annoying.

I'm on RHEL4 and I may just upgrade to RHEL5 to get the necessary level of glibc I need. That's probably the best solution.

Thanks again for your help.

knudfl 06-25-2008 10:55 AM

The mentioned files were made to be compiled with gcc 4.2 (or 4.1),
I think. I would be surprised, if everything "from last year"
would work with 4.3 , first version being March 2008.

I made a "test compile" of gcc and a glibc, 2 months ago :
no errors. And lots of other people do the same in
"Linux From Scratch" So it's difficult to reproduce
errors like yours.

Rgds

knudfl 06-30-2008 10:13 AM

New comment : There are dedicated procedures to succeed with compiling
of e.g. binutils and glibc, see LFS ==>
http://www.linuxfromscratch.org/lfs/...r05/glibc.html
(this page is for glibc 2.7)
You will need a "build directory" just outside each top - directory :
binutils-x.xx >> binutils-build, and glibc-2.7 >> glibc-build .

And a configure example : 'cd glibc-build' 'sh ../glibc-2.7/configure \
--prefix=/tools \
--disable-profile --enable-add-ons \
--enable-kernel=2.6.0 --with-binutils=/tools/bin \
--without-gd --with-headers=/tools/include \
--without-selinux

but just try for yourself. (I made a toolchain yesterday
with gcc, binutils and some more. (for arm processor))
and the procedures are "look alike"

Rgds


All times are GMT -5. The time now is 08:53 AM.