Newsgroup: it.comp.os.linux.iniziare
Titolo: Problemi con gcc?

Ho appena caricato la Mandrake 9.1 su un PC su cui in precedenza c'era una
Mandrake 9.0 riformattando tutte le partizioni.
Ho installato i programmi per far funzionare il mio modem interno (che con
la 9.0 funzionava benissimo) ma quando cerco di connettermi la connessione
non parte.
ho provato a lanciare il seguente comando: tail -f /var/log/messages
ed ho notato il seguente messaggio:
********************************************************************************
Apr 8 19:24:20 localhost insmod: /lib/modules/2.4.21-0.13mdk/misc/slmdm.o:
The module you are trying to load (/lib/modules/2.4.21-0.13mdk/misc/slmdm.o)
is compiled with a gcc version 2 compiler, while the kernel you are running
is
compiled with a gcc version 3 compiler. This is known to not work
********************************************************************************
Non ne capisco perņ il motivo: i comandi "make" e "make install" li ho
lanciati con Mandrake 9.1, quindi avrebbe dovuto compilarmi i programmi con
il "gcc" che c'č installato in questo momento e che essendo stato caricato
con la 9.1 dovrebbe essere il 3.2
Ho capito male io? Cos'č che sbaglio?
--------------------------------
Inviato via 
http://usenet.libero.it

 Ho capito male io? Cos'è che sbaglio?
Forse non lo hai compilato il modulo, ma semplicemente copiato.
Davide

 con la 9.1 dovrebbe essere il 3.2
Fino a un po' di tempo fa Mandrake aveva "gcc" e "kgcc", e il secondo 
era un 2.95.x usato solo per compilare il kernel, mentre il primo veniva 
usato per gli applicativi.
Magari e` ancora cosi` sulla Mandrake 9.1?
Nel qual caso dovresti installarti kgcc, e compilare i moduli o 
cambiando il Makefile (da "gcc" a "kgcc"), o magari anche solo con un
     make CC=kgcc
-- 
   |   \    \  | ___|_  |_  | ianezz a casa sua... :-)
   |  _ \  | \ | _|    /   /  Visita il LinuxTrent a
  _|_/  _\_|  _|____|___|___| 
http://www.linuxtrent.it

 ha scritto nel messaggio
news:b6v3r4$9frtb$1...@ID-18487.news.dfncis.de...


 > Non ne capisco perň il motivo: i comandi "make" e "make install" li ho


********************************************************************************
Per esperienza diretta ti posso dire che è successo anche a me, eppure
avevo compilato i moduli con gcc 3 e non con il 2... per esserne
sicuro avevo rinominato il file del gcc versione 2.
A quanto ho letto in giro è un problema noto che si dovrebbe risolvere
caricando i moduli con insmod -f <modulo>
Secondo me è dovuto al fatto che il configure file si va a leggere la
versione del gcc facendo un parse dell'output con il comando gcc
--version per poi scriverla nel modulo.
Il problema è che questo sulla versione 2.x fornisce solo "2.96",
mentre sulla 3.2.2 fornisce "gcc-3.2.2" seguito da altre due righe di
roba, quindi quando configure fa il parse della stringa per estrarre
la versione si incasina e legge che è una versione 2.
A mio parere la cosa si potrebbe risolvere in modo "pulito" andando
nel configure e sostituendo gcc --version con gcc -dumpversion che
fornisce in output solo "3.2.2".
Ciao,
David

 fornisce in output solo "3.2.2".
Ho provato a cercare nei sorgenti che ho scaricato ma in nessuno di questi
trovo la stringa "--version", la trovo solo in un oggetto che si chiama
slver. Purtroppo adesso non ho linux sotto mano, ma credo che questo slver
sia un programma.
La stringa "insmod" invece non la trovo da nessuna parte.
Qualche consiglio/dritta?
Ciao, Mario


 sia un programma.
La stringa gcc --version dovrebbe stare nel file configure... che modulo
stai usando per il modem?
Ciao
David
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG


Li ho scaricato da questo sito.
http://www.smlink.com/products/
La cosa strana è che non c'è il configure.
Ho trovato al riga di compilazione (dove lancia il gcc) nel makefile. Ho
provato ad aggiungere -dumpversion alla riga di compilazione ma non ha
funzionato.
Alla fine ho "risolto" in questo modo:
- ho riformatatto tutto
- ho caricato Mandrake 9.0
- ho fatto funzionare il modem sotto 9.0
- ho aggiornato da 9.0 a 9.1
A questo punto ho provato a connettermi ma il problema era sempre lo stesso.
Nel rifare il boot ho però notato che in LILO c'era una riga "OldLinux" ed
ho provato a fare il boot con quella. A questo punto il modem è tornato
magicamente a funzionare.
Se ho capito bene ora sulla mia macchina ci sono coesistenti 2 kernel:
quello della 9.0 e quello della 9.1
Però mi sorge un'altra domanda: come fanno a coesistere? Se carico qualche
programma lo vedo con entrambi o lo vedo solo facendo il boot con il kernel
che era attivo nel momento in cui caricavo?
P.S. Se comunque ti viene in mente qualcosa per risolvere la situazione
senza fare questi giri strani fammi sapere e grazie ancora per
l'interessamento


l'interessamento
Si, carica i moduli forzandoli con l'opzione -f.
Ciao

 l'interessamento
Se ho ragione basta quello che ho scritto sopra.
Ciao,
        Marcello
--
--
MasteRNeT - Linux Registered User #310524
membro del GLM (
http://glm.gulp.linux.it
)
Slackware, for when your sick and tired of being insulted by yet another
stupid installation tool.                     -- Andy McDowell