# [gcc] quale sto usando?

## cloc3

sono già pentito del passaggio a gcc-4.2.0.

infatti ho alcuni problemi in più del previsto. prima di dare tutta la colpa al compilatore, però mi è venuto un dubbio.

in /etc/env ho scoperto:

```

s939 linux # cat /etc/env.d/gcc/config 

CURRENT=x86_64-pc-linux-gnu-3.4.6

```

epperò:

```

s939 linux # eselect compiler list

Available compilers for CTARGET i686-pc-linux-gnu

  [1]   x86_64-pc-linux-gnu-3.4.6/x86-hardened

  [2]   x86_64-pc-linux-gnu-3.4.6/x86-hardenednopie

  [3]   x86_64-pc-linux-gnu-3.4.6/x86-hardenednopiessp

  [4]   x86_64-pc-linux-gnu-3.4.6/x86-hardenednossp

  [5]   x86_64-pc-linux-gnu-3.4.6/x86-vanilla

  [6]   x86_64-pc-linux-gnu-4.1.2/x86-vanilla

  [7]   x86_64-pc-linux-gnu-4.2.0/x86-vanilla

Available compilers for CTARGET x86_64-pc-linux-gnu

  [8]   x86_64-pc-linux-gnu-3.4.6/amd64-hardened

  [9]   x86_64-pc-linux-gnu-3.4.6/amd64-hardenednopie

  [10]  x86_64-pc-linux-gnu-3.4.6/amd64-hardenednopiessp

  [11]  x86_64-pc-linux-gnu-3.4.6/amd64-hardenednossp

  [12]  x86_64-pc-linux-gnu-3.4.6/amd64-vanilla

  [13]  x86_64-pc-linux-gnu-4.1.2/amd64-vanilla

  [14]  x86_64-pc-linux-gnu-4.2.0/amd64-vanilla

Activated profiles:

  i686-pc-linux-gnu         x86_64-pc-linux-gnu-4.2.0/x86-vanilla

  x86_64-pc-linux-gnu *     x86_64-pc-linux-gnu-4.2.0/amd64-vanilla

```

secondo voi, cosa sto facendo?

quale è il comando per sapere a posteriori la versione di gcc con cui è stato compilato un pacchetto?

in /var/db/pkg/<categoria>/<pacchetto>/ non sono riuscito ad estrarre l'informazione.

----------

## Scen

```

gcc-config -l

```

cosa riporta?

----------

## cloc3

 *Scen wrote:*   

> 
> 
> ```
> 
> gcc-config -l
> ...

 

non ho gcc-config, perchè è incompatibile con eselect.

per sicurezza ho modificato a mano il file gcc/config, ma credo proprio  che non abbia importanza, perché le impostazioni importanti sono collocate piuttosto in /etc/env.d/05gcc dove la definizione di LDPATH è consistente.

mi stanno comunque succedendo alcune cose strane con il nuovo gcc.

per esempio, media-gfx/imagemagick-6.3.4-r1 non voleva compilarsi poi ho deciso di fare quickpkg, di rimuoverlo e di ricompilarlo ed è andato, come se la compilazione fallisse a causa di sè stesso (c'era un messaggio di errore che me lo ha fatto intuire, ma non chiaro, chiaro chiaro   :Rolling Eyes:  ) ...

poi esiste anche questo baco bello fastidioso.

non so. probabilmente ho fatto il passo prima del tempo. spero solo di non essere costretto a tornare indietro, perchè sarebbe una noia.

----------

## skypjack

Ha seguito questa guida quando hai fatto l'aggiornamento?

http://www.gentoo.org/doc/it/gcc-upgrading.xml

----------

## Kind_of_blue

 *cloc3 wrote:*   

>  *Scen wrote:*   
> 
> ```
> 
> gcc-config -l
> ...

 

??? io ho sia

 *Quote:*   

> app-admin/eselect     Installed versions:  1.0.10

 

che

 *Quote:*   

> sys-devel/gcc-config     Installed versions:  1.3.16

 

e giuro che non danno problemi indieme

----------

## cloc3

 *skypjack wrote:*   

> Ha seguito questa guida quando hai fatto l'aggiornamento?
> 
> http://www.gentoo.org/doc/it/gcc-upgrading.xml

 

certo che sì. ma la non è una transizione da 3.x a 4.x e dovrebbe risultare meno problematica.

invece ci sono problemi di dipendenze incrociate che non emergono con un revdep-rebuild (cioè un dato programma si arrabbia non perché manca la libreria, ma perché è compilata con il gcc vecchio - cosa che revdep-rebuild non controlla).

nel frattempo ho scoperto che la versione mascherata 2.17.50.0.18 di binutils mi permette di compilare kdelibs.

mi chiedevo se devo ricompilare intergralmente tutto il system (no perché non ho voglia e speriamo bene).

inoltre sono imbranato con i pacchetti mascherati da KEYWORD="" . non riuscivo ad usare correttamente package.unmask e alla fine mi sono risolto a mettere un asterisco nella chiave.

ultimo: nessuno sa come rilevare la versione di gcc usata per un pacchetto? tempo fa la cosa era nota, ma non ricordo più dove cercare l'informazione.

@Kind_of_blue:

```

s939 ~ # emerge -pv gcc-config

These are the packages that would be merged, in order:

Calculating dependencies... done!

[ebuild  N    ] sys-devel/gcc-config-1.3.16  0 kB 

[blocks B     ] app-admin/eselect-compiler (is blocking sys-devel/gcc-config-1.3.16)

```

----------

## Kind_of_blue

ah ... ok, eselect-compiler rompe le balle decisamente più di eselect

----------

## Scen

 *cloc3 wrote:*   

> ultimo: nessuno sa come rilevare la versione di gcc usata per un pacchetto? tempo fa la cosa era nota, ma non ricordo più dove cercare l'informazione.
> 
> 

 

Non so se sia il metodo migliore, ma:

```

ldd /percorso/all/eseguibile | grep gcc

```

----------

## djinnZ

/etc/env.d/gcc/config sul mio non è riportato di nessun pacchetto, quindi o proviene dallo stage o è creato da eselect. Hai provato a cambiare compilatore?

riemergere ldtool o il fix?

----------

## cloc3

 *djinnZ wrote:*   

> /etc/env.d/gcc/config sul mio non è riportato di nessun pacchetto, quindi o proviene dallo stage o è creato da eselect. Hai provato a cambiare compilatore?
> 
> riemergere ldtool o il fix?

 

vero. evidentemente è un residuato bellico della prima installazione, scampato ad un AUTOCLEAN buggato.

d'alra parte, ho l'impressione di riprendere progressivamente il controllo dell'installazione con le nuove binutils, che mi pare soluzione più seria.

curioso che, nella mia installazione parallela, il file sia ugualmente presente e contenga:

```

s939 ~ # cat /mnt/raid5/root32/etc/env.d/gcc/config 

CURRENT=i686-pc-linux-gnu-4.1.1

```

anche qui, qfile ed eselect ne ignorano l'esistenza.

----------

