# Uscito il nuovo Gcc 4.0.0

## Dhaki

Come da titolo, riporto un etcat -v gcc di un sync di 5 minuti fa:

```
*  sys-devel/gcc :

        ...

        [M~ ] 4.0.0_alpha20050123 (4.0)

        [M~ ] 4.0.0_alpha20050130 (4.0)
```

Naturalmente é ancora instabile. Ora, c'é un reale vantaggio nel mettere la nuova versione? Sapreste spiegarmi le nuove funzioni introdotte (se, come probabile, ci sono)?

Grazie a tutti   :Very Happy: 

----------

## Manuelixm

Credo che le informazioni migliori le trovi comunque e sempre sul sito ufficiale.

Eccoti un link: http://gcc.gnu.org/gcc-4.0/changes.html

----------

## Sasdo

Appena arrivo a casa lo compilo e ci compilo firefox (il mio personalissimo benchmark =) e vi so dire

----------

## fedeliallalinea

 *Sasdo wrote:*   

> Appena arrivo a casa lo compilo e ci compilo firefox (il mio personalissimo benchmark =) e vi so dire

 

Attenzione che e' hard masked

----------

## mouser

Mah..... conoscendo come lavora gentoo, e come lavora portage, e considerando che ogni volta che scarichi qualsiasi cosa ti viene compilata, non so quanto convenga avere un compilatore in versione alpha!

Bhe', io sono un po' restrittivo su questo lato, ma gia' sto a fatica pensando di rifare la macchina con il 3.4, figurati nel mettere il gcc 4!

Tutto questo IMHO

mouser  :Wink: 

----------

## gutter

 *mouser wrote:*   

> 
> 
> Bhe', io sono un po' restrittivo su questo lato, ma gia' sto a fatica pensando di rifare la macchina con il 3.4, figurati nel mettere il gcc 4!
> 
> 

 

Non sei restrittivo hai soltanto molto buonsenso   :Wink: . 

Ma davvero c'è chi pensa di mettere su un compilatore il alpha version   :Question: 

----------

## Cazzantonio

Se è una macchina su cui fai i test ben venga che tu usi un compilatore unstable (qualcuno li deve pur fare i test... no?)

Se la macchina la usi per lavoro è diverso...

----------

## gutter

Ovviamente intendevo su di una macchina che ti serve per lavorare  :Wink: 

----------

## Sasdo

Ue' calma....

....ho solo detto che lo voglio provare! 

Mica che lo voglio mettere come default, o meglio, se funziona a dovere lo metto di default, tanto se c'e' qualcosa che non va ho sempre il mio fedele gcc-3.4 pronto a riparare ai danni =)

Correggetemi se sbaglio ma...

...non credo che avendo gcc alpha installato mi comprometta il sistema.... ne' tanto meno penso che me lo comprometta se ricompilo il solo firefox....

o no?

Da come parlate sembra che sia da evitare come la lebbra....

----------

## fedeliallalinea

 *Sasdo wrote:*   

> ...non credo che avendo gcc alpha installato mi comprometta il sistema.... ne' tanto meno penso che me lo comprometta se ricompilo il solo firefox....
> 
> o no?

 

No chiaro non causa problemi se usato con testa.

----------

## Sasdo

 *gutter wrote:*   

> Ovviamente intendevo su di una macchina che ti serve per lavorare 

 

Ah ochei... no, non rischio di devastare nulla di importante...

----------

## gutter

@Sasdo: non avevo specificato il contesto in cui intendevo che l'uso di un tale compilatore (ancora in alpha) era deprecabile. 

Ovviamente nel tuo caso (test : su una macchina adibita a tale scopo) il discorso cambia. Mi spiace se non mi sono spiegato bene nel primo post  :Wink: 

----------

## randomaze

Comuqnue penso che sia slotted, quindi, con i dovuti se e ma, non dovrebbe presentare ecessivi problemi ad essere installato.

Per usarlo al momento é indispensabile che il device che si trova tra il monitor e la spalliera della sedia abbia il "mode on" sul cervello e, ad esempio, non cerchi di emergere le glibc nella sua unica macchina che contiene anni di lavoro.

----------

## Sasdo

 *gutter wrote:*   

> @Sasdo: non avevo specificato il contesto in cui intendevo che l'uso di un tale compilatore (ancora in alpha) era deprecabile. 
> 
> Ovviamente nel tuo caso (test : su una macchina adibita a tale scopo) il discorso cambia. Mi spiace se non mi sono spiegato bene nel primo post 

 

Figurati non me la sono mica presa...

...mi son preso solo paura =)

Comunque ora faccio partire la compilazione... (prima faccio un bel quickpkg delle dipendenze che mi richiede)

----------

## emix

Dubito comunque che siano tutte rose e fiori, sicuramente molte cose avranno dei problemi (è ancora in uno stato alpha).

Interessante comunque  :Smile:  stanno concentrando gli sforzi principalmente sull'ottimizzazione del C++.

----------

## silian87

 *Quote:*   

>  stanno concentrando gli sforzi principalmente sull'ottimizzazione del C++.

 

Chissa che cosi' mi venga voglia di compilare kde!   :Laughing: 

----------

## emix

 *silian87 wrote:*   

> Chissa che cosi' mi venga voglia di compilare kde!  

 

Per quanto mi riguarda... non credo proprio  :Razz: 

----------

## TwoMinds

...uhmf... ogni volta che esce una nuova versione del compilatore (ok questo non è ancora il caso ma tra qualche mese potrebbe esserlo) sono cavoli amari... su una macchina che deve essere stable devo tenere gcc2.95 gcc3.2 e gcc3.3... a casa ho il 2.96 il 3.3 e il 3.4... quando poi si deve compilare codice c++ sono cavoli...

----------

## emix

 *TwoMinds wrote:*   

> su una macchina che deve essere stable devo tenere gcc2.95 gcc3.2 e gcc3.3...

 

A dire il vero io ho soltanto il 3.3.x e non ho alcun problema di stabilità o di compilazione. E' anche vero comunque che non compilo software particolarmente schizzinosi.

----------

## Dhaki

 *TwoMinds wrote:*   

> ...uhmf... ogni volta che esce una nuova versione del compilatore (ok questo non è ancora il caso ma tra qualche mese potrebbe esserlo) sono cavoli amari... su una macchina che deve essere stable devo tenere gcc2.95 gcc3.2 e gcc3.3... a casa ho il 2.96 il 3.3 e il 3.4... quando poi si deve compilare codice c++ sono cavoli...

 

Boh.... io ho solo il 3.4 e non ho gravissimi problemi di instabilità, anzi...

----------

## silian87

Io con 3.2 e 3.3 avevo qualche problema (su ppc) mi toccava usarli insieme. Il 3.4 incece e' un capolavoro. Piu' veloce e funziona benissimo.

----------

## emix

 *silian87 wrote:*   

> Il 3.4 incece e' un capolavoro. Piu' veloce e funziona benissimo.

 

Interessante... ma per passare al 3.4 c'è qualche operazione particolare da fare oppure basta un emerge?

----------

## SilverXXX

Ottimo. Adesso lo installi e ci ricompilo le glibc   :Twisted Evil: 

----------

## Sasdo

 *emix wrote:*   

>  *silian87 wrote:*   Il 3.4 incece e' un capolavoro. Piu' veloce e funziona benissimo. 
> 
> Interessante... ma per passare al 3.4 c'è qualche operazione particolare da fare oppure basta un emerge?

 

basta un emerge

seguito da

```

# gcc-config -l

[1] gcc-3.3

[2] gcc-3.4

# gcc-config 2

```

i numeri che ho messo sono d'esempio, ovviamente devi adattarli alla tua configurazione.

Devi smascherare anche un po' di pacchetti (gcc-3.4 e libstdc++-v3)

ciao!

il Sasdo

p.s.

confermo quanto detto da silian87, il gcc-3.4 funziona piuttosto bene, mi pare più veloce a compilare, genera codice migliore, e ho avuto problemi di compilazione solo per un pacchetto che non ricordo....

----------

## TwoMinds

...i problemi si presentano quando si ha a che fare con librerie e codice un po' particolare... quando si hanno librerie c e fortran degli anni 70 ad esempio... di certo non intendo lamentarmi del nuovo compilatore in sè... anzi... il 3.4 come detto in altri post da altri è qualcosa di fenomenale... ma quando uno lavora per un anno con una libreria pensata troppo su gcc 3.2 o 3.3 e poi è costretto a rimanere su quella... e quelle librerie non compilano manco morte con 3.4...

----------

## unarana

 *emix wrote:*   

> ma per passare al 3.4 c'è qualche operazione particolare da fare oppure basta un emerge?

 

oltre a quanto detto c'è anche un bel post di Motaboy https://forums.gentoo.org/viewtopic.php?t=242168&start=0&postdays=0&postorder=asc&highlight=gcc

Ciao  :Mr. Green: 

----------

## Sasdo

dunque.... l'ho emerso senza problemi, ci ho ricompilato il firefox e non ho notato nulla di diverso =)

nessun errore però =)

----------

## lavish

 *Sasdo wrote:*   

> dunque.... l'ho emerso senza problemi, ci ho ricompilato il firefox e non ho notato nulla di diverso =)
> 
> nessun errore però =)

 

amico genlop -t cosa dice?

----------

## Sasdo

non l'ho installato =)

ora lo emergo...

----------

## Sasdo

```

#: genlop -t mozilla-firefox

 * net-www/mozilla-firefox

##### TUTTI QUESTI CON GCC-3.4 #####

     Wed Dec  1 20:10:47 2004 >>> net-www/mozilla-firefox-1.0

       merge time: 1 hour, 54 minutes and 25 seconds.

     Sat Jan  1 14:32:47 2005 >>> net-www/mozilla-firefox-1.0

       merge time: 2 hours, 16 minutes and 34 seconds.

     Thu Jan 27 18:11:49 2005 >>> net-www/mozilla-firefox-1.0

       merge time: 2 hours, 3 minutes and 14 seconds.

     Thu Jan 27 20:57:13 2005 >>> net-www/mozilla-firefox-1.0

       merge time: 2 hours, 3 minutes and 32 seconds.

##### QUESTO CON GCC-4.0_alpha #####

     Wed Feb  2 01:01:49 2005 >>> net-www/mozilla-firefox-1.0

       merge time: 2 hours, 17 minutes and 45 seconds.

##### QUESTO ANCORA CON GCC-3.4 #####

     Wed Feb  2 13:09:56 2005 >>> net-www/mozilla-firefox-1.0

       merge time: 2 hours, 2 minutes and 55 seconds.

```

(notare quante volte ho emerso il firefox  :Mr. Green:  )

----------

## mouser

Mi sembra comunque un po' piu' lentino del 3.4  :Smile: 

mouser  :Wink: 

----------

## Dhaki

 *mouser wrote:*   

> Mi sembra comunque un po' piu' lentino del 3.4 
> 
> mouser 

 

Si.. e questo non mi piace. Questa sera prevendo dure prove anche sulla mia box   :Razz: 

----------

## gutter

 *mouser wrote:*   

> Mi sembra comunque un po' piu' lentino del 3.4 
> 
> 

 

Non penso che statistiche del genere siano affidabili dal momento che non sappiamo se le varie compilazioni presentavano lo stesso carico si sistema.

----------

## unarana

@ Sasdo

Solo per informazione, che processore hai? E magari le flags usate con il 4.0

Grazie

Ciao   :Mr. Green: 

----------

## Sasdo

sono su un laptop piuttosto scrigno (da me significa tristo)... 

...eccolo:

```

microprocessore: celeron northwood 2.6GHz

ram: 256

hdd: 20GB 4200rpm

```

le cflags che ho usato:

```

per gcc-3.4:

CFLAGS="-s -Os -mtune=i686 -pipe -ffast-math -fforce-addr -fomit-frame-pointer -fno-cprop-registers -finline-functions -funsafe-math-optimizations -ffinite-math-only"

CHOST="i686-pc-linux-gnu"

CXXFLAGS="${CFLAGS}"

LDFLAGS="-Wl,-O1"

gcc-4.0:

CFLAGS="-s -Os -march=pentium4 -pipe -ffast-math -fforce-addr -fomit-frame-pointer -fno-cprop-registers -finline-functions -funsafe-math-optimizations -ffinite-math-only"

CHOST="i686-pc-linux-gnu"

CXXFLAGS="${CFLAGS}"

LDFLAGS="-Wl,-O1"

```

----------

## Sasdo

dimenticavo... durante le compilazioni grosse non faccio fare null'altro al pc (che già scalda come una caffettiera)

----------

## unarana

Thanx

Ciao   :Mr. Green: 

----------

## lavish

 *gutter wrote:*   

> Non penso che statistiche del genere siano affidabili dal momento che non sappiamo se le varie compilazioni presentavano lo stesso carico si sistema.

 

Era tanto per farsi un'idea molto vaga... e poi come ha detto Sasdo non stava facendo nient'altro quindi un po' di senso ce l'hanno  :Wink: 

----------

## gutter

Dopo questa precisazione si  :Wink: 

----------

## n3m0

 *mouser wrote:*   

> non so quanto convenga avere un compilatore in versione alpha!

 

Vale quato il ghiaccio al polo e la sabbia nel Sahara.

Se uno vuole usare il proprio computer, direi che è un matto ad usare un compilatore alpha version. Se invece ha una macchina per soli test, il problema non si pone.

----------

## neryo

Scusate, ma io non trovo in portage il gcc-3.4... sbaglio qualcosa? L'emerge sync l ho fatto... 

Al momento installato ho il gcc-3.3.5-r1

```
 # epm -qa |grep gcc

gcc-config-1.3.8-r4

gcc-3.3.5-r1

 #
```

Cercando nel portage mi da ancora la stessa verione.. mhh 

```
# emerge -s gcc

*  sys-devel/gcc

      Latest version available: 3.3.5-r1

      Latest version installed: 3.3.5-r1

      Size of downloaded files: 24,387 kB

      Homepage:    http://www.gnu.org/software/gcc/gcc.html

      Description: The GNU Compiler Collection. Includes C/C++, java compilers, pie+ssp extensions, Haj Ten Brugge runtime bounds checking

      License:     GPL-2 LGPL-2.1

```

Ho tralasciato qualcosa?

----------

## xoen

 *neryo wrote:*   

> Scusate, ma io non trovo in portage il gcc-3.4... sbaglio qualcosa? L'emerge sync l ho fatto...

 

È masked...

----------

## lavish

 *xoen wrote:*   

> È masked...

 

Si', per x86 e' ancora ~... mentre per amd64 e' stable da un pezzo (mesi).

Qualcuno sa spiegarmi come mai e' ancora in fase di testing su x86? (non ho gentoo su quest'arch quindi non sono molto ferrato...)

----------

## neryo

```
*  sys-devel/gcc

      Latest version available: 3.4.3.20050110

      Latest version installed: 3.3.5-r1

      Size of downloaded files: 28,693 kB

      Homepage:    http://www.gnu.org/software/gcc/gcc.html

      Description: The GNU Compiler Collection. Includes C/C++, java compilers, pie+ssp extensions, Haj Ten Brugge runtime bounds checking

      License:     GPL-2 LGPL-2.1

```

ok grazie.. anch'io sarei curioso di sapere perchè è ancora masked.. mh se lo emergo, poi posso decidere di utilizzarlo quando voglio tramite gcc-config vero?

gracias

----------

## lavish

 *neryo wrote:*   

> 
> 
> ok grazie.. anch'io sarei curioso di sapere perchè è ancora masked.. mh se lo emergo, poi posso decidere di utilizzarlo quando voglio tramite gcc-config vero?
> 
> gracias

 

Certo! 

```
gcc-config -l 
```

da la lista dei compilatori slottati che possono essere selezionati tramite il numero a fianco.

```

darkstar lavish # gcc-config -l

[1] x86_64-pc-linux-gnu-3.3.4

[2] x86_64-pc-linux-gnu-3.4.3 *

[3] x86_64-pc-linux-gnu-3.4.3-hardened

[4] x86_64-pc-linux-gnu-3.4.3-hardenednopie

[5] x86_64-pc-linux-gnu-3.4.3-hardenednossp

```

Per usare il 3.3.4 dovrei fare:

```
gcc-config 1 && source /etc/profile
```

Ho detto cose che sapete tutti... ma forse questo puo' invogliare qualcuno a passare al gcc-3.4 che IMHO merita davvero  :Smile: 

Ciao!

----------

