# Supporto per NPTL

## cagnaluia

compilavo le glibc 2.4-r1, ma un errore:

```
 * Checking gcc for __thread support ... yes

 * Checking kernel version (>=2.6.16) ... yes

 * Checking linux-headers version (>=2.6.16) ... no

 * You need linux-headers of at least version 2.6.16

 * for NPTL support!

!!! ERROR: sys-libs/glibc-2.4-r1 failed.

```

mi dice che manca il supporto NPTL... come sistemo?

Ho messo tra le USE "nptl nptlonly"... ma poi ?

----------

## Scen

Penso che l'errore sia CHIARO:

```

* Checking linux-headers version (>=2.6.16) ... no

 * You need linux-headers of at least version 2.6.16

 * for NPTL support!

```

devi aver installato una versione di linux-headers >=2.6.16 (che attualmente sono marcati come instabili)

----------

## cagnaluia

si infatti... ma io li avevo gia emersi...   :Sad: 

----------

## cagnaluia

ho risolto togliendo la riga

```
NPTL_KERNEL_VERSION="2.6.11"

```

da make.conf

adesso sta emergendo glibc con gli headers 2.6.9.....

----------

## .:chrome:.

glibc 2.4 implica alcuni cambiamenti strutturali molto pesanti.

sei sicuro di sapere quello che stai facendo? come hai visto con i tuoi occhi non è per nitente detto che poi tutto funzioni ancora

----------

## cagnaluia

 *k.gothmog wrote:*   

> glibc 2.4 implica alcuni cambiamenti strutturali molto pesanti.
> 
> sei sicuro di sapere quello che stai facendo? come hai visto con i tuoi occhi non è per nitente detto che poi tutto funzioni ancora

 

in effetti adesso ho incasinato tutto.... 

poi ho dato un emerge -Cav glibc... e ora sono senza sistema....   :Embarassed: 

----------

## ProT-0-TypE

fare un downgrade no eh?   :Laughing: 

----------

## cagnaluia

si.. ma ero accecato dal dolore!!   :Crying or Very sad: 

ok.. ho modo di ripristinare una configurazione... funzionante? ( o sono fregato così? )

----------

## cagnaluia

anzi... Kernel Panic.. perfino...

----------

## Luca89

 *cagnaluia wrote:*   

> in effetti adesso ho incasinato tutto.... 
> 
> poi ho dato un emerge -Cav glibc... e ora sono senza sistema....  

 

dopo quel comando c'è ben poco da fare.

----------

## cagnaluia

 *Luca89 wrote:*   

>  *cagnaluia wrote:*   in effetti adesso ho incasinato tutto.... 
> 
> poi ho dato un emerge -Cav glibc... e ora sono senza sistema....   
> 
> dopo quel comando c'è ben poco da fare.

 

 :Laughing:  okok... tagliamo qua dai!

salvo e ricomincio da capo

----------

## cannonball

Io ho un problema simile con le glibc ( uso la versione 2.3.6 , l'ultima stabile in pratica ) , ma anche inserendo USE="nptl nptlonly" in make.conf , le glibc non vengono compilate con NPTL ma con linuxthreads ; ho controllato la versione di linux-headers ed è la 2.6.11 ( in parole povere:  ho aggiornato tutto il sistema all'ultima versione sincronizzando il portage oggi pomeriggio ) ma al momento della configurazione pre-compilazione mi dice che sta per compilare le glibc per linuxthreads   :Crying or Very sad:  ; ho provato anche facendo USE="nptl nptlonly" emerge -u glibc , ma la situazione non cambia affatto.

Questo problema mi è capitato con l'ultima versione di gentoo , con la 2005 una volta aggiornati i linux-headers glibc si compilava tranquillamente con NPTL.

----------

## Luca89

dopo aver inserito quelle use in make.conf emerge --info cosa dice? (posta l'output)

non credo che la versione di gentoo c'entri qualcosa in questo caso, l'ebuild è sempre lo stesso, a meno che tu non abbia fatto casini con i profili di portage.

----------

## .:chrome:.

 *cannonball wrote:*   

> ho controllato la versione di linux-headers ed è la 2.6.11

 

questa frase mi fa dubitare... come hai fatto per verificare quello che dici? cosa ti porta a dire che le tue glibc sono compilate con linuxthreads?

secondo me non hai le idee molto chiare, e comunque se le USE sono corrette, lo è anche la compilazione. punto e basta

avrei voglia di chiederti anche se sai dire anche quali vantaggi (se di vantaggi si tratta) porta NPTL...

----------

## makoomba

@cannonball

verfica veloce

```
mail ~ # /lib/libc-2.3.6.so 

...

Compiled on a Linux 2.6.11 system on 2006-05-29.

...   

linuxthreads-0.10 by Xavier Leroy

...
```

= linux-headers-2.6.11 + linuxthreads

----------

## cannonball

 *k.gothmog wrote:*   

>  *cannonball wrote:*   ho controllato la versione di linux-headers ed è la 2.6.11 
> 
> questa frase mi fa dubitare... come hai fatto per verificare quello che dici? cosa ti porta a dire che le tue glibc sono compilate con linuxthreads?
> 
> 

 

lo stesso motivo per il quale sono qui a chiedervi come mai non compila con NPTL ( digitando /lib/libc.so.6 compare la linea : linuxthreads-0.10 ) ; e cmq per rispondere alla tua domanda "virtual/os-headers : 2.6.11-r2" ma vedo che lo sai, la 2006 ha di default gli headers 2.6.x -.- ( visto che per averceli non ho dovuto fare niente )

Adesso vi posto l'output di emerge --info

----------

## makoomba

se hai /lib/tls, controlla

```
/lib/tls/libc-2.3.6.so
```

----------

## cannonball

la prima linea dell'output di "emerge --info" :

```
Portage 2.0.54-r2 (default-linux/x86/no-nptl, gcc-3.4.6, glibc-2.3.5-r2, 2.6.16-gentoo-r7 i686)
```

e tra le USE non compare ne nptl ne nptlonly

----------

## Luca89

 *cannonball wrote:*   

> la prima linea dell'output di "emerge --info" :
> 
> ```
> Portage 2.0.54-r2 (default-linux/x86/no-nptl, gcc-3.4.6, glibc-2.3.5-r2, 2.6.16-gentoo-r7 i686)
> ```
> ...

 

stai usando il profilo no-nptl, in quel profilo le flag use nptl vengono mascherate e non sono utilizzabili. Dovresti modificare il profilo.

----------

## cannonball

ho cambiato profilo, adesso :

```

Portage 2.0.54-r2 (default-linux/x86/2006.0, gcc-3.4.6, glibc-2.3.5-r2, 2.6.16-gentoo-r7 i686)

=================================================================

System uname: 2.6.16-gentoo-r7 i686 AMD Athlon(tm) XP 2500+

Gentoo Base System version 1.6.14

dev-lang/python:     2.4.2

dev-python/pycrypto: [Not Present]

dev-util/ccache:     [Not Present]

dev-util/confcache:  [Not Present]

sys-apps/sandbox:    1.2.17

sys-devel/autoconf:  2.13, 2.59-r7

sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1

sys-devel/binutils:  2.16.1-r2

sys-devel/libtool:   1.5.22

virtual/os-headers:  2.6.11-r2

ACCEPT_KEYWORDS="x86"

AUTOCLEAN="yes"

CBUILD="i386-pc-linux-gnu"

CFLAGS="-march=athlon-xp -O2 -fomit-frame-pointer -pipe"

CHOST="i386-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/lib/X11/xkb /usr/share/config"

CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"

CXXFLAGS="-march=athlon-xp -O2 -fomit-frame-pointer -pipe"

DISTDIR="/usr/portage/distfiles"

FEATURES="autoconfig distlocks sandbox sfperms strict"

GENTOO_MIRRORS="http://www.die.unipd.it/pub/Linux/distributions/gentoo-sources/"

LDFLAGS="-Wl,-z,now"

MAKEOPTS="-j2"

PKGDIR="/usr/portage/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

SYNC="rsync://rsync.gentoo.org/gentoo-portage"

USE="x86 X alsa apache2 apm arts audiofile avi berkdb bitmap-fonts bzip2 cli crypt cups dri eds emboss encode esd expat fam foomaticdb fortran gdbm gif glut gnome gpm gstreamer gtk gtk2 imlib ipv6 isdnlog jpeg kde lcms libg++ libwww mad mikmod mng motif mp3 mpeg ncurses nls nptl nptlonly ogg opengl oss pam pcre pdflib perl png pppd python qt quicktime readline reflection sdl session spell spl ssl tcpd tiff truetype truetype-fonts type1-fonts udev usb vorbis xml xml2 xmms xorg xv zlib userland_GNU kernel_linux elibc_glibc"

Unset:  CTARGET, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_RSYNC_EXTRA_OPTS, PORTAGE_RSYNC_OPTS, PORTDIR_OVERLAY

```

ad inizio compilazione delle glibc viene scritto questo :

```

 *             ABI:   default

 *          CBUILD:   i386-pc-linux-gnu

 *           CHOST:   i386-pc-linux-gnu

 *         CTARGET:   i386-pc-linux-gnu

 *      CBUILD_OPT:

 *     CTARGET_OPT:

 *              CC:

 *          CFLAGS:   -march=athlon-xp -pipe -O2

 * Configuring GLIBC for linuxthreads with:

                --disable-dev-erandom

                --without-tls

                --without-__thread

                --enable-add-ons=linuxthreads,c_stubs,libidn

                --enable-kernel=2.4.1

                --without-selinux

                --without-cvs

                --enable-bind-now

                --build=i386-pc-linux-gnu

                --host=i386-pc-linux-gnu

                --disable-profile

                --without-gd

                --with-headers=/usr/include

                --prefix=/usr

                --mandir=/usr/share/man

                --infodir=/usr/share/info

                --libexecdir=/usr/lib/misc/glibc

```

questo infine è il make.conf che utilizzo al momento :

```

CFLAGS="-march=athlon-xp -O2 -fomit-frame-pointer -pipe"

CHOST="i386-pc-linux-gnu"

CXXFLAGS="${CFLAGS}"

LDFLAGS="-Wl,-z,now"

MAKEOPTS="-j2"

USE="nptl nptlonly"

GENTOO_MIRRORS="http://www.die.unipd.it/pub/Linux/distributions/gentoo-sources/"

```

----------

## makoomba

devi cambiare anche CHOST: con i386-pc-linux-gnu le nptl vengono disabilitate.

----------

## cannonball

L'avrei fatto , ma con stage3 è consigliabile cambiare chost? perchè seguendo la guida all'installazione quella variabile va cambiata solamente se si parte da stage1

----------

## Luca89

 *cannonball wrote:*   

> L'avrei fatto , ma con stage3 è consigliabile cambiare chost? perchè seguendo la guida all'installazione quella variabile va cambiata solamente se si parte da stage1

 

esatto, evidentemente sei partito dallo stage sbagliato. Quindi o reinstalli da stage3 per i686 oppure ti tieni i linuxthreads.

----------

## cannonball

Chiaro, grazie per l'aiuto

----------

