Attenzione: Sto per scrivere una cosa di PURA, e tra l’altro direi pure OTTIMA, FANTASCIENZA.
Tutti sanno infatti che i driver proprietari Nvidia non li usa nessuno (e con nessuno intendo dire proprio nobody) su macchine con kernel Linux, in quanto miscelare software libero con software non libero è il male assoluto e definitivo. Una di quelle cose per cui si muore. Malamente.
In altre parole: Don’t try this at home!
Durante un quotidiano aggiornamento di sistema, veniva installata la nuova versione di gcc (più precisamente la 4.2) che diventava automaticamente quella predefinita, al posto della 4.1 .
Durante la giornata si cercava inoltre di installare i driver video Nvidia (v100.14.11) attraverso l’apposito installer .run. L’installer Nvidia ha la necessità, durante l’installazione stessa, di compilare il modulo da affiancare al kernel per la gestione della scheda.
Si è notato quindi che l’installer Nvidia va in conflitto con gcc (v4.2): il kernel è stato compilato con gcc (v4.1) e il modulo non poteva essere compilato con una versione diversa, in questo caso la 4.2 . Ignorare questo warning portava ad errori nella compilazione.
Premesso che l’installer utilizza /usr/bin/cc come compilatore, si notava che /usr/bin/cc è un symlink che punta a /etc/alternatives/cc il quale è a sua volta un symlink che punta a /usr/bin/gcc che finisce per puntare a /usr/bin/gcc-4.2 .
Appurato il fastidio davanti a tutto ciò, si procedeva con il cambiamento del link simbolico /etc/alternatives/cc -» /usr/bin/gcc con /etc/alternatives/cc -» /usr/bin/gcc-4.1 .
Veniva quindi riavviato l’installer Nvidia e, una volta completata con successo l’installazione dei driver, veniva riportato il symlink modificato alla situazione originaria.
Nota: No, non si sapeva come impostare la variabile CC. E no, non si aveva assolutamente voglia di prendere in mano il manuale.