OVH Cloud OVH Cloud

glibc-2.3.3 + NPTL

4 réponses
Avatar
Xavier
Bonjour,
J'essaye vainement de compiler la glibc-2.3.3 avec support de NPTL dans
l'environnement suivant :

- Slackware 8.1 upgradée vers 10.0 avec swaret
- Noyau 2.6.8.1, headers installé dans /usr/include
- glibc-2.3.3
- GNU Make 3.80
- gcc 3.3.4

La configuration s'est bien déroulée ;

../glibc-2.3.3/configure --prefix=/usr --enable-add-ons=nptl --with-tls
make

C'est à la compile du fichier raise.c que l'erreur se produit :

gcc ../nptl/sysdeps/unix/sysv/linux/raise.c -c -std=gnu99 -O2 -Wall
-Winline -Wstrict-prototypes -Wwrite-strings -g
-mpreferred-stack-boundary=2 -I../include -I.
-I/root/glibc/glibc-2.3.3-build/signal -I.. -I../libio -I../nptl
-I/root/glibc/glibc-2.3.3-build -I../sysdeps/i386/elf
-I../nptl/sysdeps/unix/sysv/linux/i386/i686
-I../nptl/sysdeps/unix/sysv/linux/i386 -I../nptl/sysdeps/unix/sysv/linux
-I../nptl/sysdeps/pthread -I../sysdeps/pthread
-I../nptl/sysdeps/unix/sysv -I../nptl/sysdeps/unix
-I../nptl/sysdeps/i386/i686 -I../nptl/sysdeps/i386
-I../sysdeps/unix/sysv/linux/i386 -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../sysdeps/unix/sysv -I../sysdeps/unix/i386 -I../sysdeps/unix
-I../sysdeps/posix -I../sysdeps/i386/i686/fpu -I../sysdeps/i386/i686
-I../sysdeps/i386/i486 -I../nptl/sysdeps/i386/i486 -I../sysdeps/i386/fpu
-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
-D_LIBC_REENTRANT -D_LIBC_REENTRANT -include ../include/libc-symbols.h
-o /root/glibc/glibc-2.3.3-build/signal/raise.o -MD -MP -MF
/root/glibc/glibc-2.3.3-build/signal/raise.o.dt
../nptl/sysdeps/unix/sysv/linux/raise.c: Dans la fonction « raise »:
../nptl/sysdeps/unix/sysv/linux/raise.c:56: error: `__NR_tkill'
undeclared (first use in this function)
../nptl/sysdeps/unix/sysv/linux/raise.c:56: error: (Each undeclared
identifier is reported only once
../nptl/sysdeps/unix/sysv/linux/raise.c:56: error: for each function it
appears in.)
make[2]: *** [/root/glibc/glibc-2.3.3-build/signal/raise.o] Erreur 1
make[2]: Leaving directory `/root/glibc/glibc-2.3.3/signal'
make[1]: *** [signal/subdir_lib] Erreur 2
make[1]: Leaving directory `/root/glibc/glibc-2.3.3'
make: *** [all] Erreur 2

Je soupconne un fichier d'entête manquant...
Toute idée est bienvenue.
Merci
Xavier

4 réponses

Avatar
ericb
Bonjour,
J'essaye vainement de compiler la glibc-2.3.3 avec support de NPTL dans
l'environnement suivant :
...



ça semble commencer ici :

../nptl/sysdeps/unix/sysv/linux/raise.c: Dans la fonction « raise »:
../nptl/sysdeps/unix/sysv/linux/raise.c:56: error: `__NR_tkill'
undeclared (first use in this function)
../nptl/sysdeps/unix/sysv/linux/raise.c:56: error: (Each undeclared
identifier is reported only once
../nptl/sysdeps/unix/sysv/linux/raise.c:56: error: for each function it
appears in.)
make[2]: *** [/root/glibc/glibc-2.3.3-build/signal/raise.o] Erreur 1
make[2]: Leaving directory `/root/glibc/glibc-2.3.3/signal'
make[1]: *** [signal/subdir_lib] Erreur 2
make[1]: Leaving directory `/root/glibc/glibc-2.3.3'
make: *** [all] Erreur 2

Je soupconne un fichier d'entête manquant...


Moi aussi. Dans raise.c, probablement.

Toute idée est bienvenue.



Je peux me tromper, mais un

egrep -H -r "NR_tkill" /usr/include/*

Et si je ne trouve pas, un coup de google :

<http://seclists.org/lists/linux-kernel/2002/Feb/1189.html>


Ou il y a un "#define NR_tkill" :

--- linux-2.5.3/./include/asm-i386/unistd.h Tue Jan 29 20:46:00 2002
+++ linux-2.5.3-ngpt/./include/asm-i386/unistd.h Fri Feb 1 13:15:08 2002
@@ -242,6 +242,7 @@
#define __NR_removexattr 235
#define __NR_lremovexattr 236
#define __NR_fremovexattr 237
+#define __NR_tkill 238

Par contre, je ne sais pas de quoi ça parle... :-))


En conclusion, je vote pour

#include <unistd.h>

Dans /nptl/sysdeps/unix/sysv/linux/raise.c

Mais je n'en sais pas plus....


Merci



Avec plaisir



--
eric bachard
French OpenOffice.org Community contributor (build of french releases
for Linux PPC and Mac OS X / X11)
See : <http://fr.openoffice.org>

Avatar
lexav
ericb wrote:

Bonjour,
J'essaye vainement de compiler la glibc-2.3.3 avec support de NPTL
dans l'environnement suivant :


...


ça semble commencer ici :

../nptl/sysdeps/unix/sysv/linux/raise.c: Dans la fonction « raise »:
../nptl/sysdeps/unix/sysv/linux/raise.c:56: error: `__NR_tkill'
undeclared (first use in this function)
../nptl/sysdeps/unix/sysv/linux/raise.c:56: error: (Each undeclared
identifier is reported only once
../nptl/sysdeps/unix/sysv/linux/raise.c:56: error: for each function
it appears in.)
make[2]: *** [/root/glibc/glibc-2.3.3-build/signal/raise.o] Erreur 1
make[2]: Leaving directory `/root/glibc/glibc-2.3.3/signal'
make[1]: *** [signal/subdir_lib] Erreur 2
make[1]: Leaving directory `/root/glibc/glibc-2.3.3'
make: *** [all] Erreur 2

Je soupconne un fichier d'entête manquant...



Moi aussi. Dans raise.c, probablement.

Toute idée est bienvenue.




Je peux me tromper, mais un

egrep -H -r "NR_tkill" /usr/include/*

Et si je ne trouve pas, un coup de google :

<http://seclists.org/lists/linux-kernel/2002/Feb/1189.html>


Ou il y a un "#define NR_tkill" :

--- linux-2.5.3/./include/asm-i386/unistd.h Tue Jan 29 20:46:00 2002
+++ linux-2.5.3-ngpt/./include/asm-i386/unistd.h Fri Feb 1 13:15:08 2002
@@ -242,6 +242,7 @@
#define __NR_removexattr 235
#define __NR_lremovexattr 236
#define __NR_fremovexattr 237
+#define __NR_tkill 238

Par contre, je ne sais pas de quoi ça parle... :-))


En conclusion, je vote pour

#include <unistd.h>

Dans /nptl/sysdeps/unix/sysv/linux/raise.c

Mais je n'en sais pas plus....


Merci



Avec plaisir





Ok merci, cela m'a orienté dans ma recherche. En fait, j'avais tout
simplement mal installé mes headers :

# cp -HR /usr/src/linux/include/asm-i386 /usr/include

à résolu le Pb.

Xavier


Avatar
ericb
Bonjour,

ericb wrote:


Ok merci, cela m'a orienté dans ma recherche. En fait, j'avais tout
simplement mal installé mes headers :

# cp -HR /usr/src/linux/include/asm-i386 /usr/include



Je ne connais pas l'option "-H" pour cp. C'est quoi ? (ni la page de
man ni Linux in a nutshell n'en parlent...)

Sinon, je crois que la plupart des distributions utilisent souvent un
simple lien symbolique de /usr/include/linux vers
/usr/src/linux/include/linux....


à résolu le Pb.


Tant mieux :-)


--
eric bachard
French OpenOffice.org Community contributor (build of french releases
for Linux PPC and Mac OS X / X11)
See : <http://fr.openoffice.org>

Avatar
david96
Le lundi 18 Octobre 2004 à 20:20 par ericb :
Bonjour,

ericb wrote:


Ok merci, cela m'a orienté dans ma recherche. En fait, j'avais tout
simplement mal installé mes headers :

# cp -HR /usr/src/linux/include/asm-i386 /usr/include




Je ne connais pas l'option "-H" pour cp. C'est quoi ? (ni la page de
man ni Linux in a nutshell n'en parlent...)

Sinon, je crois que la plupart des distributions utilisent souvent un
simple lien symbolique de /usr/include/linux vers
/usr/src/linux/include/linux....


à résolu le Pb.



Tant mieux :-)


--
eric bachard
French OpenOffice.org Community contributor (build of french releases
for Linux PPC and Mac OS X / X11)
See :


Bonjour,

Je sais que la question date un peu, mais y'a du avoir du changement dans le man de cp, car ce dernier précise :

-H follow command-line symbolic links in SOURCE


Voili, voilou, je repars sur la pointe des pieds :P

Pour info, je suis tombé sur ce sujet en tapant dans google : /nptl/sysdeps/unix/sysv/linux/raise.c :)