Errori di compilazione di moduli con il kernel 5.16 [RISOLTO]

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

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware64 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 Slackware64, se l'argomento è Slackware32 o generale usate rispettivamente il forum Slackware o 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.
gian_d
Linux 3.x
Linux 3.x
Messaggi: 654
Iscritto il: mer 16 lug 2014, 17:35
Nome Cognome: Giancarlo Dessì
Slackware: 64 current
Kernel: 6.6.xx
Desktop: KDE 5.27
Località: Sardinia
Contatta:

Errori di compilazione di moduli con il kernel 5.16 [RISOLTO]

Messaggio da gian_d »

Oggi ho aggiornato la 15.0 all'attuale current e tanto per tenermi sulle spine è saltato fuori un problemino con il kernel 5.16.16 (l'ultima versione rilasciata sul ramo current)

In sostanza, sia lo slackbuild di nvidia-kernel sia quello di virtualbox-kernel restituiscono lo stesso tipo di errore, ovvero un header non trovato (stdarg.h):

per i moduli di nvidia

Codice: Seleziona tutto

(cut)
CONFTEST: ib_peer_memory_symbols
  CC [M]  /tmp/SBo/NVIDIA-Linux-x86_64-470.63.01/kernel/nvidia/nv.o
In file included from /tmp/SBo/NVIDIA-Linux-x86_64-470.63.01/kernel/nvidia/nv.c:12:
/tmp/SBo/NVIDIA-Linux-x86_64-470.63.01/kernel/common/inc/os-interface.h:27:10: fatal error: stdarg.h: File o directory non esistente
   27 | #include <stdarg.h>
      |          ^~~~~~~~~~
compilation terminated.
make[2]: *** [scripts/Makefile.build:287: /tmp/SBo/NVIDIA-Linux-x86_64-470.63.01/kernel/nvidia/nv.o] Errore 1
make[1]: *** [Makefile:1846: /tmp/SBo/NVIDIA-Linux-x86_64-470.63.01/kernel] Errore 2
make[1]: uscita dalla directory «/usr/src/linux-5.16.16»
make: *** [Makefile:80: modules] Errore 2
Per quelli di virtualbox

Codice: Seleziona tutto

(cut)
  CC [M]  /tmp/SBo/virtualbox-kernel-6.1.22/vboxdrv/r0drv/linux/assert-r0drv-linux.o
In file included from /tmp/SBo/virtualbox-kernel-6.1.22/vboxdrv/include/iprt/types.h:34,
                 from /tmp/SBo/virtualbox-kernel-6.1.22/vboxdrv/include/VBox/types.h:33,
                 from /tmp/SBo/virtualbox-kernel-6.1.22/vboxdrv/linux/../SUPDrvInternal.h:38,
                 from /tmp/SBo/virtualbox-kernel-6.1.22/vboxdrv/linux/SUPDrv-linux.c:32:
/tmp/SBo/virtualbox-kernel-6.1.22/vboxdrv/include/iprt/stdarg.h:47:12: fatal error: stdarg.h: File o directory non esistente
   47 | #  include <stdarg.h>
      |            ^~~~~~~~~~
compilation terminated.

(cut: diversi errori simili in successione)

make[3]: *** [scripts/Makefile.build:287: /tmp/SBo/virtualbox-kernel-6.1.22/vboxdrv/r0drv/powernotification-r0drv.o] Errore 1
In file included from /tmp/SBo/virtualbox-kernel-6.1.22/vboxdrv/include/iprt/types.h:34,
                 from /tmp/SBo/virtualbox-kernel-6.1.22/vboxdrv/r0drv/linux/the-linux-kernel.h:37,
                 from /tmp/SBo/virtualbox-kernel-6.1.22/vboxdrv/r0drv/linux/assert-r0drv-linux.c:31:
/tmp/SBo/virtualbox-kernel-6.1.22/vboxdrv/include/iprt/stdarg.h:47:12: fatal error: stdarg.h: File o directory non esistente
   47 | #  include <stdarg.h>
      |            ^~~~~~~~~~
compilation terminated.
make[3]: *** [scripts/Makefile.build:287: /tmp/SBo/virtualbox-kernel-6.1.22/vboxdrv/r0drv/linux/assert-r0drv-linux.o] Errore 1
make[2]: *** [Makefile:1846: /tmp/SBo/virtualbox-kernel-6.1.22/vboxdrv] Errore 2
make[2]: uscita dalla directory «/usr/src/linux-5.16.16»
make[1]: *** [/tmp/SBo/virtualbox-kernel-6.1.22/vboxdrv/Makefile-footer.gmk:117: vboxdrv] Errore 2
make[1]: uscita dalla directory «/tmp/SBo/virtualbox-kernel-6.1.22/vboxdrv»
make: *** [Makefile:60: vboxdrv] Errore 2
Alla luce di questi errori ho reinstallato il kernel 5.15.27, riservandomi di individuare la causa a mente più fresca nei prossimi giorni, ma sembra che il problema ricorra con diversi programmi e a quanto pare anche con vecchi kernel.

Rifacendomi al mio contesto presumo che ci sia qualche incompatibilità tra il kernel della serie 5.16 e le versioni dei sorgenti di nvidia e virtualbox, probabilmente superabile con versioni più recenti.
Il driver nvidia che uso è quello supportato dallo slackbuild rilasciato da SBo la versione 470.63.01, che risale all'agosto del 2021. Ci sono diverse versioni più recenti, non escludo che quelle possano funzionare, ma verifico nei prossimi giorni perché potrebbe esserci la necessità di ritoccare lo slackbuild.
La versione di virtualbox è invece più datata, la 6.1.22, mentre su SBo c'è lo slackbuild per la 6.1.32. Finora non mi sono preoccupato di aggiornarla perché non ne ho avuto la necessità, finché VirtualBox funziona preferisco non aggiornarlo.

La cosa che mi sembra strana è che il file stdarg.h è presente in /usr/src/linux/include/linux sia con il kernel 5.15 sia con il kernel 5.16, perciò non so se il messaggio che indica il file non trovato si riferisca a questo header oppure ad un header incluso nel codice di stdarg.h. Appena avrò un po' di respiro verifico con calma esaminando le righe richiamate nell'output della compilazione dei sorgenti di virtualbox

In ogni modo se qualcuno si trova in condizioni analoghe alla mia ci pensi due volte prima di aggiornare il kernel senza aver individuato il problema e riparato di conseguenza.
Ultima modifica di gian_d il mer 23 mar 2022, 17:02, modificato 1 volta in totale.

erio
Linux 4.x
Linux 4.x
Messaggi: 1354
Iscritto il: ven 9 ott 2009, 19:25
Slackware: 13.37
Kernel: 3.0.7
Desktop: kde

Re: Errori di compilazione di moduli con il kernel 5.16

Messaggio da erio »

Il kernel header della versione corrente la trovi in slackware current /d non so se sia un problema di slackbuild o di header ma prova a installare il kernel header della versione che ti interessa e mandare lo slackbuild.

gian_d
Linux 3.x
Linux 3.x
Messaggi: 654
Iscritto il: mer 16 lug 2014, 17:35
Nome Cognome: Giancarlo Dessì
Slackware: 64 current
Kernel: 6.6.xx
Desktop: KDE 5.27
Località: Sardinia
Contatta:

Re: Errori di compilazione di moduli con il kernel 5.16

Messaggio da gian_d »

No, kernel-headers è installato, la causa non è quella. Peraltro il file stdarg.h è presente in /usr/src/linux. La causa è un'altra ma devo scavare più a fondo per vedere se qual è il file mancante. Presumo non sia stdarg.h, perché il file è presente e nello stesso percorso che aveva nei kernel precedenti.

rik70
Iper Master
Iper Master
Messaggi: 2489
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: Errori di compilazione di moduli con il kernel 5.16

Messaggio da rik70 »

Strano però quell'errore.

kernel-source-5.16[etc,etc.] è installato?

Dove punta /usr/src/linux ?

erio
Linux 4.x
Linux 4.x
Messaggi: 1354
Iscritto il: ven 9 ott 2009, 19:25
Slackware: 13.37
Kernel: 3.0.7
Desktop: kde

Re: Errori di compilazione di moduli con il kernel 5.16

Messaggio da erio »

lo slackbuild dei driver nvidia ha funzionato con il kernel 5.10.106,ma non con 5.16.16 e 5.17 il file in questione stdarg.h e' parte di gcc e quando parte la compilazione da un warn che dice il kernel ha usato gcc e lo slackbuild usa cc..

gian_d
Linux 3.x
Linux 3.x
Messaggi: 654
Iscritto il: mer 16 lug 2014, 17:35
Nome Cognome: Giancarlo Dessì
Slackware: 64 current
Kernel: 6.6.xx
Desktop: KDE 5.27
Località: Sardinia
Contatta:

Re: Errori di compilazione di moduli con il kernel 5.16

Messaggio da gian_d »

rik70 ha scritto:
lun 21 mar 2022, 18:49
Strano però quell'errore.

kernel-source-5.16[etc,etc.] è installato?
Sì, aggiorno sempre tutti i file del kernel: generic, modules, huge, headers e source. Lo huge non lo uso mai ma ho predisposto un boot per eventuali problemi. Infatti ieri mi è stato utile per riparare un mio errore con il ripristino del kernel 5.15.27
Dove punta /usr/src/linux ?
a /usr/src/linux-5.15.27/

ieri naturalmente puntava a /usr/src/linux-5.16.16. Ne sono sicuro perché avevo proprio cercato il file stdarg.h. Questo file si trova anche negli header di gcc perciò ho provato a fare un collegamento simbolico da /usr/src/linux-5.16.16/include/linux che puntasse all'header di gcc, ma il sistema l'ha rifiutato perché il file è già esistente

gian_d
Linux 3.x
Linux 3.x
Messaggi: 654
Iscritto il: mer 16 lug 2014, 17:35
Nome Cognome: Giancarlo Dessì
Slackware: 64 current
Kernel: 6.6.xx
Desktop: KDE 5.27
Località: Sardinia
Contatta:

Re: Errori di compilazione di moduli con il kernel 5.16

Messaggio da gian_d »

erio ha scritto:
lun 21 mar 2022, 19:48
lo slackbuild dei driver nvidia ha funzionato con il kernel 5.10.106,ma non con 5.16.16 e 5.17 il file in questione stdarg.h e' parte di gcc e quando parte la compilazione da un warn che dice il kernel ha usato gcc e lo slackbuild usa cc..
Sì, è vero, ma questo non spiega perché c'è stato l'errore: in teoria questo dovrebbe succedere anche con gli altri kernel. Ricordo che nelle prime versioni del 5.10 la compilazione dei moduli falliva, non ricordo l'errore, ma poi con le versioni successive del driver è stato superato. Che sia lo stesso tipo di errore?

In ogni caso continuano ad esserci dei misteri: anche i moduli di virtualbox sono compilati con CC, ma perché con certi kernel la compilazione funziona e con altri no? A meno che il problema non sia superabile compilando anche il kernel con CC! Questo spiegherebbe tutto (e la cosa non mi piace, se devo essere sincero).
Insomma, se questo implica che debba ricompilarmi il kernel ad ogni rilascio tanto vale che mantenga quello della stable: alla fine l'aggiornamento del kernel non lo trovo così necessario, la maggior parte del software funziona comunque anche con kernel meno recenti, l'importante è tenere aggiornate le librerie condivise.

rik70
Iper Master
Iper Master
Messaggi: 2489
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: Errori di compilazione di moduli con il kernel 5.16

Messaggio da rik70 »

E' riproducibile anche sulla 15.0: da il medesimo errore sul kernel 5.16.

Siamo alle solite di nvidia \:D/

Vanno invece la versione 495.46 con questa patch
e la versione 510.54

gian_d
Linux 3.x
Linux 3.x
Messaggi: 654
Iscritto il: mer 16 lug 2014, 17:35
Nome Cognome: Giancarlo Dessì
Slackware: 64 current
Kernel: 6.6.xx
Desktop: KDE 5.27
Località: Sardinia
Contatta:

Re: Errori di compilazione di moduli con il kernel 5.16

Messaggio da gian_d »

Grazie rik. Avevo già in programma l'aggiornamento del driver, non l'ho ancora fatto perché potrebbe essere necessario ritoccare lo slackbuild e quindi volevo fare con calma. Se non ricordo male la 510 dovrebbe essere la serie più recente dei driver, installerò quello.
La patch potrebbe essere utile per correggere l'errore con la compilazione dei moduli di Virtual Box, ma è probabile che sarà sufficiente aggiornare ad una versione più recente, quella che ho io è vecchiotta di alcuni anni.

rik70
Iper Master
Iper Master
Messaggi: 2489
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: Errori di compilazione di moduli con il kernel 5.16

Messaggio da rik70 »

gian_d ha scritto:
mar 22 mar 2022, 8:48
La patch potrebbe essere utile per correggere l'errore con la compilazione dei moduli di Virtual Box
Su SBO c'è la versione 6.1.32 e qui compila senza problemi sul kernel 5.16

Codice: Seleziona tutto

vboxnetadp
5.16.16-zen+ SMP preempt mod_unload 
6.1.32 r149290 ((0xA2CDe001U))

vboxnetflt
5.16.16-zen+ SMP preempt mod_unload 
6.1.32 r149290 ((0xA2CDe001U))

vboxnetadp
5.16.16-zen+ SMP preempt mod_unload 
6.1.32 r149290 ((0xA2CDe001U))

vboxdrv
5.16.16-zen+ SMP preempt mod_unload 
6.1.32 r149290 (0x00320000)

vboxnetflt
5.16.16-zen+ SMP preempt mod_unload 
6.1.32 r149290 ((0xA2CDe001U))

vboxdrv
5.16.16-zen+ SMP preempt mod_unload 
6.1.32 r149290 (0x00320000)

gian_d
Linux 3.x
Linux 3.x
Messaggi: 654
Iscritto il: mer 16 lug 2014, 17:35
Nome Cognome: Giancarlo Dessì
Slackware: 64 current
Kernel: 6.6.xx
Desktop: KDE 5.27
Località: Sardinia
Contatta:

Re: Errori di compilazione di moduli con il kernel 5.16

Messaggio da gian_d »

Come. Immaginavo. In effetti ho una versione molto più vecchia. La 22

gian_d
Linux 3.x
Linux 3.x
Messaggi: 654
Iscritto il: mer 16 lug 2014, 17:35
Nome Cognome: Giancarlo Dessì
Slackware: 64 current
Kernel: 6.6.xx
Desktop: KDE 5.27
Località: Sardinia
Contatta:

Re: Errori di compilazione di moduli con il kernel 5.16

Messaggio da gian_d »

Niente da fare, ho riaggiornato il kernel e installato l'ultimo driver della serie 510 per scoprire che X non parte. Pensavo ci fosse qualche problema nella configurazione di X, ho fatto qualche prova, ma poi ravanando nel log di X server è saltato fuori che la mia scheda è ignorata dai driver successivi alla serie 470. Ho perciò fatto di nuovo il downgrade al kernel 5.15.27 e installato il driver 470.103.01, l'ultimo di questa serie.
Mannaggia a Nvidia, per la prima volta sono contrariato!

Va be', per ora lasciamo così, domani provo a vedere se riesco a patchare studiandomi quella patch che hai menzionato e adattandone una per il 470.

rik70
Iper Master
Iper Master
Messaggi: 2489
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: Errori di compilazione di moduli con il kernel 5.16

Messaggio da rik70 »

Che modello è la vga?

rik70
Iper Master
Iper Master
Messaggi: 2489
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: Errori di compilazione di moduli con il kernel 5.16

Messaggio da rik70 »

rik70 ha scritto:
mer 23 mar 2022, 9:19
Che modello è la vga?
Chiedo perché magari "sei finito" nei driver legacy... che compilano senza problemi.

rik70
Iper Master
Iper Master
Messaggi: 2489
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: Errori di compilazione di moduli con il kernel 5.16

Messaggio da rik70 »

gian_d ha scritto:
dom 20 mar 2022, 22:00
NVIDIA-Linux-x86_64-470.63.01
Sembra che col kernel 5.16, non so per quale motivo, non riesca a trovare gli 'header' nei sorgenti del kernel dove dovrebbe cercarli.

Dimmi tu per quale motivo, ma basta una semplice modifica nei 'punti' dove restituisce gli errori.

Allego patch per la versione dei driver indicata sopra.

Testata solo la compilazione, ma per il funzionamento a tuo rischio e pericolo.
kernel-5.16.diff
(3.33 KiB) Scaricato 61 volte
Ultima modifica di rik70 il mer 23 mar 2022, 15:37, modificato 1 volta in totale.

Rispondi