# [Risolto] Emerge depclean mi ha disinstallato gcc

## Meconiotronic

Come da topic ho voluto dare una pulita al sistema ma tra i vari pacchetti è stato disinstallato anche gcc. 

Ovviamente ora emerge gcc non va perchè manca il compilatore.

Come posso fare?Last edited by Meconiotronic on Sat Oct 22, 2011 10:27 am; edited 1 time in total

----------

## k01

1) perchè non hai controllato quali pacchetti voleva unmergere --depclean??

2) se ha selezionato gcc significa che comunque c'è già un'altra versione installata con un aggiornamento. dai gcc-config -l e setta la nuova con gcc-config X, con X che corrisponde al numero nell'elenco

3) se gcc-config non restituisce niente dovrai installare gcc da pacchetto binario, ma non credo sia questo il caso

----------

## djinnZ

 *Meconiotronic wrote:*   

> Come posso fare?

 Prima cosa verifica se ti ha solo disinstallato il vecchio gcc e ne ha lasciato uno nuovo. Nel caso il consiglio sopra è esatto.

Se invece eix -I gcc o emerge -pv gcc non riportano pacchetti installati devi rivolgerti ai miei consigli bastardi con tanto di errori intenzionali... leggi in documentazione e chiedi cosa non riesci a capire (se rimuovi gcc al riavvio il sistema non dovrebbe più funzionare).

In teoria potrebbe bastare una semplice linea di comando ma, visti alcuni incresciosi episodi, non fornisco più informazioni dirette.

Se sei rimasto del tutto senza gcc non tentare di usare gcc-config (non so se abbiano sistemato ma non è roba che viene verificata tutti i giorni) o diventa un pasticcio. (-l si ma se non hai più gcc installati non tentare di impostare il gcc)

Risolto il primo problema dovrai capire perchè il set system non viene più considerato.

mi viene da pensare che non ti sei accorto che il gcc era stato aggiornato, chissà da quanto usavi il vecchio gcc, ai tempi dei 3.x era il caso di procedere con un emerge -e @system ora non dovrebbe più dar rogne.

----------

## Meconiotronic

 *The Extremer wrote:*   

> 1) perchè non hai controllato quali pacchetti voleva unmergere --depclean??
> 
> 2) se ha selezionato gcc significa che comunque c'è già un'altra versione installata con un aggiornamento. dai gcc-config -l e setta la nuova con gcc-config X, con X che corrisponde al numero nell'elenco
> 
> 3) se gcc-config non restituisce niente dovrai installare gcc da pacchetto binario, ma non credo sia questo il caso

 

Grazie siete sempre i numeri 1.

Praticamente anche se avevo una sola versione di gcc installata non era abilitata, ho risolto con gcc-config 1

Eh si ho fatto la ca..ta mi sono fidato visto che il depclean negli ultimi tempi non mi disinstallava pacchetti assurdi come tutte le versioni di python (Una volta me lo ha fatto emerge non funzionava più perchè credo sia scritto proprio in python mi è toccato installare il sorgente a mano)

Grazie ancora, in futuro ci starò più attento

----------

## Meconiotronic

 *djinnZ wrote:*   

>  *Meconiotronic wrote:*   Come posso fare? Prima cosa verifica se ti ha solo disinstallato il vecchio gcc e ne ha lasciato uno nuovo. Nel caso il consiglio sopra è esatto.
> 
> Se invece eix -I gcc o emerge -pv gcc non riportano pacchetti installati devi rivolgerti ai miei consigli bastardi con tanto di errori intenzionali... leggi in documentazione e chiedi cosa non riesci a capire (se rimuovi gcc al riavvio il sistema non dovrebbe più funzionare).
> 
> In teoria potrebbe bastare una semplice linea di comando ma, visti alcuni incresciosi episodi, non fornisco più informazioni dirette.
> ...

 

Eh si sinceramente non ricordo, se era la versione 3 ero indietro di parecchio, io per sicurezza ora mi sto ricompilando il kernel e tutti i driver per evitare conflitti hai presente gli stop OxFFFFFFFFFFFFFFFFFFF al boot quando hai il kernel compilato con una versione di gcc e il driver di un altra poi per il restodegli eseguibili salvo complicazioni prima o poi con gli update si ricompileranno tutti

----------

## djinnZ

Tanto per chiarezza: con il gcc 4.x non è più inderogabile ricompilare system al passaggio di versione. Se lo fai non fai male ma non è utilissimo e potrebbe persino essere controproducente (le ottimizzazioni attivate da -march=native cambiano certamente tra una versione e l'altra). Regolati di conseguenza "cum grano salis", citando Guareschi.

per gli altri eseguibili potresti regolarti in base alle date in /var/db/pkg con un banalissimo find, ma non dovresti avere problemi.

Il meccanismo della mancata selezione automatica è giustificabile in una debolezza di gcc-config mai risolta (in effetti l'ebuild dovrebbe selezionare automaticamente l'unico gcc rimasto) ed è dovuto al fatto che probabilmente puoi non volere come gcc di sistema quallo più recente.

Se pialli del tutto il gcc (l'ultima volta che mi è capitato c'era ancora il 3.x quindi non so se hanno risolto e come), poichè si porta dietro alcuni elementi critici è facile che al riavvio il sistema dia errore su tuttto e sia necessario (e prudente, in ogni caso meglio non rischiare) procedere all'installazione da binario da un altro sistema con emerge --root= --config-root= 

Inutile dire che se il depclean rimuove del tutto gcc deve per forza esser capitato un guaio, quindi dopo aver riportato il sietam alla normalità dovrai capire cosa hai mandato a donnine allegre nel portage o se banalmente hai problemi con i profili o con l'albero di portage.

----------

