Compile-time error

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Compile-time error

Michael Muratet US-Huntsville

Greetings

I thought I had followed the install docs completely, but I am getting
the following error when I compile on a Dell PowerEdge running RedHat
7.2

./glibc-2.4/configure --prefix=/usr --enable-add-ons

make

{lots of output}

gcc ../nptl/sysdeps/unix/sysv/linux/raise.c -c -std=gnu99 -O2 -Wall
-Winline -Wwrite-strings -fmerge-all-constants -g -Wstrict-prototypes
-mpreferred-stack-boundary=2     -I../include
-I/usr/local/glibc-build/signal -I/usr/local/glibc-build
-I../sysdeps/i386/elf -I../nptl/sysdeps/unix/sysv/linux/i386/i686
-I../nptl/sysdeps/unix/sysv/linux/i386 -I../sysdeps/unix/sysv/linux/i386
-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../sysdeps/unix/sysv/i386 -I../nptl/sysdeps/unix/sysv
-I../sysdeps/unix/sysv -I../sysdeps/unix/i386 -I../nptl/sysdeps/unix
-I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/i386/i686/fpu
-I../nptl/sysdeps/i386/i686 -I../sysdeps/i386/i686
-I../sysdeps/i386/i486 -I../nptl/sysdeps/i386/i486 -I../sysdeps/i386/fpu
-I../nptl/sysdeps/i386 -I../sysdeps/i386 -I../sysdeps/wordsize-32
-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.4.7-10smp/build/include -D_LIBC_REENTRANT -include
../include/libc-symbols.h       -o /usr/local/glibc-build/signal/raise.o
-MD -MP -MF /usr/local/glibc-build/signal/raise.o.dt -MT
/usr/local/glibc-build/signal/raise.o
../nptl/sysdeps/unix/sysv/linux/raise.c: In function 'raise':
../nptl/sysdeps/unix/sysv/linux/raise.c:42: error: '__NR_gettid'
undeclared (first use in this function)
../nptl/sysdeps/unix/sysv/linux/raise.c:42: error: (Each undeclared
identifier is reported only once
../nptl/sysdeps/unix/sysv/linux/raise.c:42: error: for each function it
appears in.)
../nptl/sysdeps/unix/sysv/linux/raise.c:71: error: '__NR_tkill'
undeclared (first use in this function)
make[2]: *** [/usr/local/glibc-build/signal/raise.o] Error 1
make[2]: Leaving directory `/usr/local/glibc-2.4/signal'
make[1]: *** [signal/subdir_lib] Error 2
make[1]: Leaving directory `/usr/local/glibc-2.4'

A search of the web didn't turn up much, except maybe there's a missing
header file associated with a more recent kernel. The kernel here is
2.4.7.10smp. Can anyone point me in the right direction?

Thanks

Mike
Reply | Threaded
Open this post in threaded view
|

Re: Compile-time error

Nick Alcock-2
On 6 Mar 2007, Michael Muratet told this:
> I thought I had followed the install docs completely, but I am getting
> the following error when I compile on a Dell PowerEdge running RedHat
> 7.2

A *lot* of things are going to need upgrading before you can build
recent versions of glibc on that. GCC, binutils, even texinfo.

> ../nptl/sysdeps/unix/sysv/linux/raise.c: In function 'raise':
> ../nptl/sysdeps/unix/sysv/linux/raise.c:42: error: '__NR_gettid'
> undeclared (first use in this function)
> ../nptl/sysdeps/unix/sysv/linux/raise.c:42: error: (Each undeclared
> identifier is reported only once
> ../nptl/sysdeps/unix/sysv/linux/raise.c:42: error: for each function it
> appears in.)
> ../nptl/sysdeps/unix/sysv/linux/raise.c:71: error: '__NR_tkill'
> undeclared (first use in this function)
> make[2]: *** [/usr/local/glibc-build/signal/raise.o] Error 1
> make[2]: Leaving directory `/usr/local/glibc-2.4/signal'
> make[1]: *** [signal/subdir_lib] Error 2
> make[1]: Leaving directory `/usr/local/glibc-2.4'
>
> A search of the web didn't turn up much, except maybe there's a missing
> header file associated with a more recent kernel. The kernel here is
> 2.4.7.10smp. Can anyone point me in the right direction?

Unless you turn off all threading support (and maybe not even then),
glibc 2.5 won't compile without kernel 2.6 header files, and there's no
way you'll get threading to work without running a 2.6.x kernel
(although RH did backport a lot of the necessary bits to some late 2.4.x
kernels for RH8, I think: the memory fades, it was so long ago). Stick
with an older glibc (2.3.x or older) which provides the (much less
POSIX-conforming and more inefficient) LinuxThreads threading
implementation, or upgrade your kernel.

(How are you keeping something that old up to date re security, anyway?
Compiling everything needed by hand? Sure, you can *do* that, but it's
a bit laborious.)

--
`In the future, company names will be a 32-character hex string.'
  --- Bruce Schneier on the shortage of company names