Kernel custom e pacchetti glibc e libsvga_helper

Se avete problemi con l'installazione e la configurazione di Slackware postate qui. Non usate questo forum per argomenti generali... per quelli usate Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
gianco
Linux 1.x
Linux 1.x
Messaggi: 172
Iscritto il: mar 31 ott 2006, 8:01
Nome Cognome: Giancarlo
Slackware: current
Kernel: 2.6.33.4-smp
Desktop: kde 4.4.5
Località: Pavia

Kernel custom e pacchetti glibc e libsvga_helper

Messaggio da gianco »

Ciao a tutti,
vorrei soddisfare una piccola curiosità: normalmente mi ricompilo un kernel ad hoc per la mia macchina e mi chiedevo se fosse magari necessario (o comunque preferibile, in termini di compatibilità e performance) avere l'accortezza di ricompilarsi anche i due pacchetti glibc e libsvga_helper, dal momento che il primo, come da SlackBuild di Pat, ha come opzione del configure

Codice: Seleziona tutto

--with-headers=/usr/src/linux-${KERNEL_HEADERS}/include
con ${KERNEL_HEADERS} = 2.6.24.5 (nella versione attuale della 12.1) e il secondo è strettamente legato al kernel distribuito con Slackware e quindi con versioni diverse del kernel, verrebbe a mancare del tutto il modulo in questione.

Dico anche che, negli anni passati ad usare Slackware, la cosa non mi ha mai creato alcun problema e che, come ho detto all'inizio del post, è solo una pura curiosità.

Spero di non aver sollevato questioni di lana caprina :D .

Avatar utente
Toni
Linux 3.x
Linux 3.x
Messaggi: 999
Iscritto il: lun 30 gen 2006, 22:08
Slackware: slackware-14
Kernel: 3.10.5
Desktop: i3
Località: milano

Re: Kernel custom e pacchetti glibc e libsvga_helper

Messaggio da Toni »

dal changelog
a/glibc-solibs-2.7-i486-2.tgz: Upgraded to glibc-2.7 compiled against Linux
2.6.23.9 kernel headers.

l/glibc-2.7-i486-2.tgz: Upgraded to glibc-2.7, built against Linux 2.6.23.9
kernel headers.

l/glibc-profile-2.7-i486-10.tgz: Recompiled against Linux 2.6.24.5 headers.
sicuramente i pacchetti glibc* sono strettamente correlati al kernel .
Qualsisi programma faccia uso di risorse hardware , e quindi deve interpellare il kernel ,lo fa attraverso le glibc (gnu c library) , ovvero l'unico modo per interfacciarsi al kernel sono le glibc.

Per quanto riguarda libsvga_helper non saprei dirti.

Avatar utente
gianco
Linux 1.x
Linux 1.x
Messaggi: 172
Iscritto il: mar 31 ott 2006, 8:01
Nome Cognome: Giancarlo
Slackware: current
Kernel: 2.6.33.4-smp
Desktop: kde 4.4.5
Località: Pavia

Re: Kernel custom e pacchetti glibc e libsvga_helper

Messaggio da gianco »

Grazie della risposta, googlando un pochino, in realtà ho scoperto che, per quanto riguarda le glibc l'opzione veramente importante sarebbe questa:
`--enable-kernel=version'
This option is currently only useful on GNU/Linux systems. The version parameter should have the form X.Y.Z and describes the smallest version of the Linux kernel the generated library is expected to support. The higher the version number is, the less compatibility code is added, and the faster the code gets.
di cui questa sarebbe poi solo una logica conseguenza:
`--with-headers=directory'
Look for kernel header files in directory, not /usr/include. Glibc needs information from the kernel's private header files. Glibc will normally look in /usr/include for them, but if you specify this option, it will look in DIRECTORY instead.

This option is primarily of use on a system where the headers in /usr/include come from an older version of glibc. Conflicts can occasionally happen in this case. Note that Linux libc5 qualifies as an older version of glibc. You can also use this option if you want to compile glibc with a newer set of kernel headers than the ones found in /usr/include.
A naso, quindi, direi che si, ricompilando le glibc con

Codice: Seleziona tutto

--enable-kernel=versione-kernel-in-uso
--with-headers=/usr/src/versione-kernel-in-uso

si dovrebbe avere un aumento (quanto apprezzabile è da vedere) delle prestazioni, resta da valutare se poi se applicazioni compilate con le glibc che avevano un --enable-kernel=versione-kernel-precedente continuano a funzionare :-k .

Scusate se mi sono quasi risposto da solo, spero comunque che, al limite, abbiamo imparato qualcosa. :D

Avatar utente
submax82
Staff
Staff
Messaggi: 3202
Iscritto il: mer 31 ago 2005, 0:00
Desktop: xfce
Distribuzione: SalixOS
Contatta:

Re: Kernel custom e pacchetti glibc e libsvga_helper

Messaggio da submax82 »

non dovrebbero aumentare le prestazioni ma solo la stabilità... almeno credo

per i pacchetti è importante solo la versione delle glibc ma non il kernel con qui sono state compilate.

penso che il copromesso migliore sia sempre lasciare gli headers del kernel originale con cui sono compilate le glibc e aggiornare solo il kernel senza installare nel sistema i nuovi headers; infatti era quello che diceva Pat in un readme della 11.0
As a general rule, installing kernel headers
that are newer than the kernel glibc was compiled with *may* cause problems

Avatar utente
gianco
Linux 1.x
Linux 1.x
Messaggi: 172
Iscritto il: mar 31 ott 2006, 8:01
Nome Cognome: Giancarlo
Slackware: current
Kernel: 2.6.33.4-smp
Desktop: kde 4.4.5
Località: Pavia

Re: Kernel custom e pacchetti glibc e libsvga_helper

Messaggio da gianco »

submax82 ha scritto: penso che il copromesso migliore sia sempre lasciare gli headers del kernel originale con cui sono compilate le glibc e aggiornare solo il kernel senza installare nel sistema i nuovi headers; infatti era quello che diceva Pat in un readme della 11.0
Si, questa è la strategia che ho adottato fino ad ora, memore del README che citi anche tu. Mi sembra di ricordare che prima (1), invece, cambiassi il link simbolico

Codice: Seleziona tutto

/usr/src/linux -> /usr/src/linux-versione-corrente
Grazie anche a te per la risposta.

Ciao.

(1) :iocero: :)

Avatar utente
submax82
Staff
Staff
Messaggi: 3202
Iscritto il: mer 31 ago 2005, 0:00
Desktop: xfce
Distribuzione: SalixOS
Contatta:

Re: Kernel custom e pacchetti glibc e libsvga_helper

Messaggio da submax82 »

bè si ma il link di cui parli è utile farlo ugualmente ... nel senso che installare gli headers nel sistema è inteso metterli in /usr/include/ ... mentre quel link può essere comodo per quando si compilano i pacchetti in quanto contengono tutti i sorgenti e anche gli headers del kernel a cui è stato linkato.

Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun 3 set 2007, 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: Kernel custom e pacchetti glibc e libsvga_helper

Messaggio da Mario Vanoni »

- gli headers del kernel servono alla distro per creare glibc
- glibc serve per compilare programmi in userspace
- ai programmi userspace e` _sconsigliato_ di usarli,
> vedi LKML, e.g. strncmp di glibc e` diverso di quello del kernel
- ogni kernel superiore a X.Y.Z supportera` questi programmi userspace
- con kernel inferiori a X.Y.Z invece non e` garantito niente, anzi ...
- con linux-2.6.24.5 andranno anche programmi sotto 2.6.25 ecc.

IMVHO

Mario Vanoni

Avatar utente
Toni
Linux 3.x
Linux 3.x
Messaggi: 999
Iscritto il: lun 30 gen 2006, 22:08
Slackware: slackware-14
Kernel: 3.10.5
Desktop: i3
Località: milano

Re: Kernel custom e pacchetti glibc e libsvga_helper

Messaggio da Toni »

- glibc serve per compilare programmi in userspace
io direi fondamentalmente per eseguirli , visto che le glibc , in genere, non vengono compilate staticamente con gli eseguibili , per ovvi motivi.
- gli headers del kernel servono alla distro per creare glibc
- ai programmi userspace e` _sconsigliato_ di usarli,
potresti essere più chiaro

Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun 3 set 2007, 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: Kernel custom e pacchetti glibc e libsvga_helper

Messaggio da Mario Vanoni »

il_notturnista ha scritto:
- glibc serve per compilare programmi in userspace
io direi fondamentalmente per eseguirli , visto che le glibc , in genere, non vengono compilate staticamente con gli eseguibili , per ovvi motivi.
- gli headers del kernel servono alla distro per creare glibc
- ai programmi userspace e` _sconsigliato_ di usarli,
potresti essere più chiaro
a) i miei programmi C li compilo solo statici (make -O2 -s -static)

b) alcuni furbi usano trucchi del kernel in programmi userspace,
> includendoli, se il kernel li cambia, rien ne va plus!

Mario Vanoni

Avatar utente
Toni
Linux 3.x
Linux 3.x
Messaggi: 999
Iscritto il: lun 30 gen 2006, 22:08
Slackware: slackware-14
Kernel: 3.10.5
Desktop: i3
Località: milano

Re: Kernel custom e pacchetti glibc e libsvga_helper

Messaggio da Toni »

a) i miei programmi C li compilo solo statici (make -O2 -s -static)
Hai detto bene i tuoi programmi . Pensa a che spreco di risorse se un intero parco software di una distribuzione fosse compilato in suddetto modo ;)
b) alcuni furbi usano trucchi del kernel in programmi userspace,
> includendoli, se il kernel li cambia, rien ne va plus!
Non credo furbi , più che altro ignoranti . Producono spazzatura non codice.

Rispondi