meritil ha scritto: o mettere un 2.6 e ricompilare tutto.
Errata Corrige:
...o mettere un 2.6, o un 2.4 diverso, e ricompilare tutto.
Moderatore: Staff
Ho scritto glibc per errore, intendevo kernel header.gallows ha scritto:Sì lo sapevo (tempo fa le avevo ricompilate), ma IMHO non ne vale la pena. Un sacco di tempo per compilare il tutto e le probabilità di fare casini sono alte
Eeeeeh??? Senza le glibc non puoi fare *nulla*Per sid: ovvio che funziona tutto! le glibc non servono per il normale uso desktop ossia non ce ne facciamo niente delle glibc se non compiliamo niente.....

Molto veroSi anch'io assolutamente aggiorno gli headers al kernel che uso.. mai avuto un problema, quello che dice stallman è senz'altro corretto ma puramente ipotetico( il cosiddetto caso pessimo), infatti è più probabile che si verifichi un incompatibilità tenendo gl'header del 2.4.32 usando codice oggetto del 2.6.x che viceversa
Non è vero che devi bootare da cd, basta effettuare l'aggiornamento in telinit 1, cosa che regolarmente faccio quando vengono rilasciate le glibc nuove del ramo current.cioè compilare le glibc *OGNI* volta che cambi kernel?!? ma ma ma non ti sembra un pelo eccessivo? ricordati che per installarle devi bootare da cd, rimuovere le solibs vecchie e mettere quelle nuove
E' vero che il 90% delle applicazioni compila con gli headers 2.4 ma compilano perfettamente anche con gli headers 2.6, quindi se uso un kernel 2.6.x uso i suoi headers....non lo so mi sembra più logico. Have a nice dayripeto: i file in /usr/include/... servono solo alle applicazioni, non al kernel, e il 90% delle app compila con i kernel headers 2.4, i kernel headers 2.6 servono solo a un numero limitato di applicazioni e credo che vadano installati solo se necessari
Traduzione:Linus Torvalds ha scritto: Put another way that maybe is a clearer example:
If I hear that the new feature 2.3.5 of package
"foo" supports the new filesystem layout that I've been waiting for,
should I have to pray that the person who compiled the binary happened to
use one of the development kernels where that feature was actually
implemented?
Or should I have to recompile it myself to make sure?
Or, wonder of wonders, should it just WORK?
I think the latter. And I hope I've made clear to everybody why a software
package must NOT EVER depend on what kernel version happened to be
installed when it was compiled. And why it is so _important_ that nobody
even by mistake does this. EVER.

Ma tante grazie per la traduzione, non avrei saputo come fare altrimenti. Tu comportati come meglio credi, che io, ovviamente farò lo stesso, ma ti suggerisco di cambiare tono, e mi riferisco a:e te lo traduco pure pero' cerca di leggere prima di rispondere se no non ha senso continuare sto 3ad
Have a nice daypero' cerca di leggere prima di rispondere


questo e' ovvio, con un po di buon senso si dovrebbe capire che se hai installato sul sistema una versione xy delle glibc non e' una cosa saggia avere le librerie di sviluppo relative ad un'altra versione; perche'? ma perche' quando tu vai a compilare un software che viene linkato contro le glibc, il compilatore si va a vedere i prototipi delle funzioni negli headers (le librerie di sviluppo) e poi quando il linker va a cercare il codice oggetto nelle librerie ti puoi ritrovare con dei bellissimi unresolved symbol dovuti al fatto che magari le librerie di sviluppo (di una versione piu' recente rispetto a quella che hai) ti danno il prototipo di una funzione con argomenti e risultati differenti rispetto a come e' realmente nella libreria che hai tu (piu' vecchia), oppure la funzione in questione proprio non esiste nella versione xy (ma magari esiste nella versione xz relativa alle librerie di sviluppo che hai tu)first ha scritto:Ciaa a tutti ho deciso di aprire questo post per capire meglio il problema degli headers.
...
Linus dice di NON creare quei symlink e di non compilare mai il nuovo kernel in /usr/src/linux (qui per leggere il suo commento http://uwsg.iu.edu/hypermail/linux/kern ... /0587.html ).
Da quel poco che ho capito io le glibc dovrebbero arrivare con i loro headers e quelli devono rimanere li, immobili, fissi per sempre, almeno finche non si aggiornano le glibc. E questi headers devono essere indipendenti dal kernel che si utilizza.
Gli headers del kernel invece devono essere utilizzati unicamente se si vuole compilare parti del kernel stesso.
certo che non devi, perche' come avrai ormai capito, andando a compilare dei software che linkano contro le glibc il compilatore si ritroverebbe con dei prototipi di funzioni che non necessariamente coinciderebbero con il codice oggetto che tu effettivamente hai nelle glibcQuindi se io voglio un nuovo kernel NON devo andare a mettere i SUOI header in /usr/include.
boooo non uso slackware da almeno 7 anni, fai un aprova a verificaHo un dubbio ora: ma se io scarico i pacchetti tgz del kernel nuovo, i pacchetti degli headers del nuovo kernel vanno a sovrascriversi in /usr/include ?

non ho letto quel link ma presumo che Torvalds dicesse piu' o meno quel che ti ho detto io, in quanto e' l'unica motivazione sensata per cui e' male avere una libreria di sviluppo di una versione diversa rispetto alla libreria che hai installata sul sistema (e questo come ti ho gia spiegato vale a prescindere dalla libreria, quindi non solo per le glibc)first ha scritto: Io in questo 3ad non sto chiedendo cosa volete fare VOI (per me voi potete fare quello che vi pare, che me frega!), ma sto chiedendo se qualcuno mi puo' spiegare meglio la frase di linus sul NON linkare i kernel header in /usr/include
E se ti dico di leggere prima di rispondere e' proprio per questo fatto!
