Upgrade gcc

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
Mercyful
Linux 1.x
Linux 1.x
Messaggi: 196
Iscritto il: ven 25 lug 2008, 18:20
Nome Cognome: Ilario Pittau
Slackware: 13.0
Kernel: 2.6.29.6-generic
Desktop: xfce 4.6
Località: Torino

Upgrade gcc

Messaggio da Mercyful »

Salve,
ho installato un nuovo kernel 2.6.32.7 che voglio sostituire al 2.6.29.6 di default su slackware 13.
Il kernel parte perfettamente però per installare i driver nvidia mi chiede di avere la stessa versione di gcc con cui è stato compilato il kernel ovvero gcc 4.4 mentre su slackware 13 c'è gcc 4.3.
Come faccio ad aggiornare gcc.?
La versione 4.4 la trovo anche su repository di slackware 13 o solamente in quelli della current?

Grazie in anticipo!

Avatar utente
navajo
Staff
Staff
Messaggi: 3884
Iscritto il: gio 8 gen 2004, 0:00
Nome Cognome: Massimiliano
Slackware: 13.37 (x86_64)
Kernel: 2.6.37.6
Desktop: KDE 4.7.0 (Alien)
Località: Roma

Re: Upgrade gcc

Messaggio da navajo »

Puoi anche ignorare quel messaggio
compilano lo stesso

Avatar utente
Mercyful
Linux 1.x
Linux 1.x
Messaggi: 196
Iscritto il: ven 25 lug 2008, 18:20
Nome Cognome: Ilario Pittau
Slackware: 13.0
Kernel: 2.6.29.6-generic
Desktop: xfce 4.6
Località: Torino

Re: Upgrade gcc

Messaggio da Mercyful »

C'ho provato, ma al termine della compilazione fallisce, penso durante il caricamento.
Questo è il log

Codice: Seleziona tutto

-> Kernel module compilation complete.
ERROR: Unable to load the kernel module 'nvidia.ko'.  This happens most
       frequently when this kernel module was built against the wrong or
       improperly configured kernel sources, with a version of gcc that differs
       from the one used to build the target kernel, or if a driver such as
       rivafb/nvidiafb is present and prevents the NVIDIA kernel module from
       obtaining ownership of the NVIDIA graphics device(s), or NVIDIA GPU
       installed in this system is not supported by this NVIDIA Linux graphics
       driver release.
       
       Please see the log entries 'Kernel module load error' and 'Kernel
       messages' at the end of the file '/var/log/nvidia-installer.log' for
       more information.
-> Kernel module load error: insmod: error inserting './usr/src/nv/nvidia.ko':
   -1 Invalid module format
-> Kernel messages:
   wlan0: associate with AP 00:23:8e:4e:d3:30 (try 1)
   wlan0: RX AssocResp from 00:23:8e:4e:d3:30 (capab=0x411 status=0 aid=1)
   wlan0: associated
   kjournald starting.  Commit interval 5 seconds
   EXT3-fs warning: maximal mount count reached, running e2fsck is recommended
   EXT3 FS on sda1, internal journal
   EXT3-fs: mounted filesystem with ordered data mode.
   REISERFS (device sda5): found reiserfs format "3.6" with standard journal
   REISERFS (device sda5): using ordered data mode
   REISERFS (device sda5): journal params: device sda5, size 8192, journal
   first block 18, max trans len 1024, max batch 900, max commit age 30, max
   trans age 30
   REISERFS (device sda5): checking transaction log (sda5)
   REISERFS (device sda5): Using r5 hash to sort names
   nvidia: version magic '2.6.29.6-smp SMP mod_unload 686 ' should be
   '2.6.32.7-smp SMP mod_unload 686 '
   mtrr: base(0xf3000000) is not aligned on a size(0xe00000) boundary
   glxinfo[3936]: segfault at 0 ip 0804abb6 sp bfc19a90 error 4 in
   glxinfo[8048000+5000]
   glxinfo[3942]: segfault at 0 ip 0804abb6 sp bfe7f7a0 error 4 in
   glxinfo[8048000+5000]
   mtrr: no MTRR for f3000000,e00000 found
   mtrr: base(0xf3000000) is not aligned on a size(0xe00000) boundary
   glxinfo[4302]: segfault at 0 ip 0804abb6 sp bfa27780 error 4 in
   glxinfo[8048000+5000]
   glxinfo[4303]: segfault at 0 ip 0804abb6 sp bfb4d5f0 error 4 in
   glxinfo[8048000+5000]
   CE: hpet increasing min_delta_ns to 15000 nsec
   CE: hpet increasing min_delta_ns to 22500 nsec
   CE: hpet increasing min_delta_ns to 33750 nsec
   mtrr: no MTRR for f3000000,e00000 found
   nvidia: version magic '2.6.29.6-smp SMP mod_unload 686 ' should be
   '2.6.32.7-smp SMP mod_unload 686 '
ERROR: Installation has failed.  Please see the file
       '/var/log/nvidia-installer.log' for details.  You may find suggestions
       on fixing installation problems in the README available on the Linux
       driver download page at www.nvidia.com.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3986
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Upgrade gcc

Messaggio da joe »

Mercyful ha scritto:Salve,
ho installato un nuovo kernel 2.6.32.7 che voglio sostituire al 2.6.29.6 di default su slackware 13.
Ok, quindi intendi che il kernel 2.6.32.7 lo hai compilato tu vero?
Non è che lo hai preso precompilato magari da una versione -current di slackware?

Se lo hai compilato tu, hai usato la versione di gcc installata su slack-13 ovvero come tu stesso dici la 4.3.
Se lo hai preso precompilato in qualche pacchetto della current... allora si quel kernel non penso debba stare sul tuo sistema.
Da quanto ne so io, il kernel del sistema deve essere compilato con la versione di gcc del sistema stesso. Anche la versione delle glibc deve essere coerente con quelle usate per costruire l'intero sistema.
Per non sbagliare ti consiglio di mantenere invariate la versione del compilatore e delle librerie, gcc e glibc. Sono pacchetti particolari. Quando senti l'esigenza di aggiornare tali pacchetti probabilmente è l'ora di aggiornare l'intero sistema.
Il kernel parte perfettamente però per installare i driver nvidia mi chiede di avere la stessa versione di gcc con cui è stato compilato il kernel ovvero gcc 4.4 mentre su slackware 13 c'è gcc 4.3.
Ma dove lo hai preso quel kernel? Come lo hai installato?
Come faccio ad aggiornare gcc.?
Lascia perdere, piuttosto ricompilati il nuovo kernel usando glistrumenti che monta il tuo sistema ovvero gcc-4.3
Mi pare il metodo più corretto e meno problematico di procedere.

La versione 4.4 la trovo anche su repository di slackware 13 o solamente in quelli della current?
penso solo sulla current.

Forse c'è anche il modo di far condividere versioni differenti di gcc sullo stesso sistema. Ma qui passo la palla.

Avatar utente
Mercyful
Linux 1.x
Linux 1.x
Messaggi: 196
Iscritto il: ven 25 lug 2008, 18:20
Nome Cognome: Ilario Pittau
Slackware: 13.0
Kernel: 2.6.29.6-generic
Desktop: xfce 4.6
Località: Torino

Re: Upgrade gcc

Messaggio da Mercyful »

Ok, quindi intendi che il kernel 2.6.32.7 lo hai compilato tu vero?
Non è che lo hai preso precompilato magari da una versione -current di slackware?

Se lo hai compilato tu, hai usato la versione di gcc installata su slack-13 ovvero come tu stesso dici la 4.3.
Se lo hai preso precompilato in qualche pacchetto della current... allora si quel kernel non penso debba stare sul tuo sistema.
Da quanto ne so io, il kernel del sistema deve essere compilato con la versione di gcc del sistema stesso. Anche la versione delle glibc deve essere coerente con quelle usate per costruire l'intero sistema.
Per non sbagliare ti consiglio di mantenere invariate la versione del compilatore e delle librerie, gcc e glibc. Sono pacchetti particolari. Quando senti l'esigenza di aggiornare tali pacchetti probabilmente è l'ora di aggiornare l'intero sistema.
Ma dove lo hai preso quel kernel? Come lo hai installato?
No ho installato i pacchetti del kernel dai repository di slackware 13, se sono li penso che si possano installare sulla 13. Non voglio aggiornare alla current, voglio solamente il nuovo kernel (Sempre che sia possibile farlo, e che sia questo il modo per farlo). Quindi sto usando il kernel generic precompilato.
Lascia perdere, piuttosto ricompilati il nuovo kernel usando glistrumenti che monta il tuo sistema ovvero gcc-4.3
Mi pare il metodo più corretto e meno problematico di procedere.
E' davvero così complicato? Si in realtà potrei compilare il generic usando il config ma.. se c'è già pronto e magari devo solo aggiornare gcc, sempre che poi una versione nuova di gcc non porti altri problemi al sistema.. anche se non credo.. saranno retrocompatibili.

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Upgrade gcc

Messaggio da conraid »

Mercyful ha scritto: No ho installato i pacchetti del kernel dai repository di slackware 13, se sono li penso che si possano installare sulla 13.
da quale link?

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3986
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Upgrade gcc

Messaggio da joe »

Mercyful ha scritto: No ho installato i pacchetti del kernel dai repository di slackware 13, se sono li penso che si possano installare sulla 13.
Scusa la curiosità, potresti mostrare il link preciso da cui hai scaricato il pacchetto?
Ho provato a cercarlo, ma non lo trovo.

Avatar utente
Mercyful
Linux 1.x
Linux 1.x
Messaggi: 196
Iscritto il: ven 25 lug 2008, 18:20
Nome Cognome: Ilario Pittau
Slackware: 13.0
Kernel: 2.6.29.6-generic
Desktop: xfce 4.6
Località: Torino

Re: Upgrade gcc

Messaggio da Mercyful »

Da gslapt:

http://darkstar.ist.utl.pt/slackware/slackware-13.0/

kernel-generic-smp-2.6.32.7_smp-i686-1.txz

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Upgrade gcc

Messaggio da conraid »

non c'è quel kernel li, se gslapt te lo trova... mmm

Avatar utente
Mercyful
Linux 1.x
Linux 1.x
Messaggi: 196
Iscritto il: ven 25 lug 2008, 18:20
Nome Cognome: Ilario Pittau
Slackware: 13.0
Kernel: 2.6.29.6-generic
Desktop: xfce 4.6
Località: Torino

Re: Upgrade gcc

Messaggio da Mercyful »

Infatti ho visto anche io che non c'è, allora penso sia sucesso che l'ho installato da un repository current (l'ho fatto tempo fa ma e non mi ricordo.. solo che non l'ho mai usato). E poi ho tolto il repository dalla lista quindi gslapt e slapt-get me lo fanno ancora vedere anche se faccio update.
Ero convinto di averlo installato da un repository di 13.
Non si può usare un kernel nuovo senza aggiornare l'intero sistema?

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3986
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Upgrade gcc

Messaggio da joe »

Come ti ho già detto, certo che puoiusare un kernel nuovo :)
Il punto è come ottenerlo.

Il modo più "sano" è quello di scaricarti i sorgenti e compilarti sul tuo sistema tutto il malloppo.
In tal modo il kernel che ne esce sarà coerente con il compilatore e librerie varie in uso sul ssitema (perchè il kernel stesso sarà figlio di quello specifico compilatore che e librerie hai usato per compilarlo).

Se hai in mente l'alternativa, di cui tra l'altro hai riportato l'esperienza, di prendere un pacchetto della current e sbatterlo "as is" nella stabile, tanto più che stiamo parlando del kernel non del gioco dei dadi... Bè dal canto mio, nonostante io non abbia poi molta esperienza in merito, direi proprio che la cosa non funge, come ha dimostrato anche la tua vicenda: infatti è bastato dover compilare un modulo per avere rogne.
Poi, talvolta è vero che una manovra del genere potrebbe funzionare... Metti che non vi sia cambio versione delle glibc e gcc e compagnia. Ma è comunque un caso, e secondo me implica più sbattimento in verifiche varie rispetto alla semplice compilazione del kernel che tutto sommato è un procedimento meccanico.
C'è anche la guida nel wiki ddi questa community.

La tua domanda ha una risposta più generale comuqnue:
- non è bene usare pacchetti di un ramo di slackware su un sistema diverso da tale ramo.
Quindi per esempio non è consigliabile e in generale non funziona prendere il pacchetto pippo.tgz della salckware-12.2 e usarlo nella slackware-11.0.
Se vuoi la versione aggiornata di pippo.tgz devi creartela tramite compilazione sul tuo sistema di destinazione... o attraverso qualcosa che gli assomiglio tipo ambienti chroot o sistema virtualizzato.

Detto questo, io ho usato qualche pacchetto della 12.2 sulla mia 12.1, funziona anche perchè le due versioni sono tutto sommato abbastanza vicine. tuttavia avrei poututo prendermi il sorgente del software, prendermi lo slackbuild della 12.2 e crearmi il pacchetto per la 12.1 via compilazione....

Spero di averti chiarito un po' le idee.

Avatar utente
Mercyful
Linux 1.x
Linux 1.x
Messaggi: 196
Iscritto il: ven 25 lug 2008, 18:20
Nome Cognome: Ilario Pittau
Slackware: 13.0
Kernel: 2.6.29.6-generic
Desktop: xfce 4.6
Località: Torino

Re: Upgrade gcc

Messaggio da Mercyful »

Chiarissimo..
penso che ricompilerò il kernel prendendo il config. Così non rischio.
Il discorso che hai fatto è giustissimo.. ma pensavo che il kernel non fosse così dipendende dalla versione del sistema.
Anzi pensavo che il resto dei pacchetti fossero dipendenti dal kernel.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3986
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Upgrade gcc

Messaggio da joe »

Da quanto ne so io solo pochi programmi sono dipendenti dal kernel in uso:
nel senso, che se prendiamo un modulo (come nel tuo caso) allora dovremo compilarlo con la stessa versione del kernel, tant'è che se aggiorni il kernel poi devi ricompilare anche i driver video proprietari (ho esperienza in questo senso solo coi catylist per la mia mobility-radeon-9700).
Per gli altri programmi in generale non ci sono problemi:
se prendi un pacchetto dal repo slackware-13.0 (nel tuo caso) e aggiorni poi il kernel, tale pacchetto funzionerà bene comunque anche col nuovo kernel.

Ecco in questo senso i programmi non sono generalmente dipendenti dal kernel di default. Solo alcuni pezzi di sistema devono essere ricostruiti qualora cambiasse la versione del kernel installato.

Invece ci sono alcuni programmi che è meglio non aggiornare (a cuor leggero ovviamente):
1) gcc
2) glibc
3) headers del kernel di defualt (con questi headers sono state compilate le glibc di cui sopra)
4) varia altra roba per la quale passo la mano ad altri piùesperti.

gcc e le glibc sono pacchetti particolari usati per costruire l'intero sistema. Pertanto se aggiorni questi, potresti incontrare diversi problemi...
Un programma, costruito con un certo gcc e soprattutto collegato (linking) ad una particolare versione delle glibc dovrebbe girare su un sistema che monta quella stessa particolare versione delle glibc. Poi magari qualcosa potrebbe anche funzionare ugualmente, ma potrebbe anche essere solo un caso.

Invito comunque chi è più esperto di me a "dire meglio" il concetto. ;)

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: Upgrade gcc

Messaggio da Mario Vanoni »

joe ha scritto:Da quanto ne so io solo pochi programmi sono dipendenti dal kernel in uso:
Infatti, kernel 2.6.33.2 con gcc 4.2.4!

Rispondi