# installazione da ZERO con gcc 3.4

## ema

domanda forse stupida ma non inutile:

volendo partire da zero con stage 1 per installare gentoo (2004.1), sceglie di default di usare gcc 3.4 o utilizza ancora il 3.3?

dovrei aggiornare il portatile, ma essendo veramente imputtanato, pensavo di reinstallare una seconda volta da zero, cosi tra l'altro elimino del tutto la partizione con wxp. Se mi parte con lo stage1 usando gcc 3.4, inizio subito!

----------

## fedeliallalinea

Dubito che il bootstrap installi il gcc-3.4. Potresti provare a fare il bootstrap e poi compilare subito il gcc-3.4.

----------

## ema

uhm... e poi ricompilare anche i pacchetti del bootstrap?

aggiungo una domandina: e se decidessi di usare distcc come al solito per velocizzare il tutto e avere entro domani sera un sistema completo con kde, avrei problemi se sui pc che uso ho gcc 3.3 ovunque? (tranne su questo che preparo, ovvio)

----------

## n3mo

Dal distcc.xml  *Quote:*   

> Mescolanza di versioni GCC 
> 
> Se utilizzi versioni diverse di GCC sui tuoi host, avrai sicuramente strani problemi. La soluzione consiste nell'assicurarsi che tutti gli host usino la stessa versione di GCC. 

 

Io, temerario, ho provato con alcuni host con 3.3.1 e Gentoo, la macchina sulla quale stavo installando Gentoo con 3.3.2, ma va in errore con alcuni ebuild, un ragazzo con il quale sono entrato in contatto mi ha fatto avere un LiveCD Gentoo con distcc 3.3.2 e dhcp che uso per installare e tutto funziona a meraviglia dal bootstrap in su.  :Very Happy: 

----------

## ema

capito

con tanta calma (e del ghiaccio per nn far scaldare troppo il portatile) compilero' da stage 1 senza distcc  :Sad: 

che poi... non capirò mai perchè... quando compila kde usa pochissimo gli altri pc!!

----------

## FonderiaDigitale

il usa pochissimo per un motivo molto semplice: i job singoli di make sono cosi corti (in termini di tempo-cpu) che non fanno in tempo a essere replicati sul pc secondario che gia son finiti.

Per il discorso bootstrap da gcc 3.4 e' possibile (io l'ho fatto 2/3 settimane fa) ma devi tribolare TANTO , devi usare ~x86, e sopratutto non e' una cosa da fare per un principiante (o non lo sei?).

In sostanza devi fare delle manovre particolari coi file /etc/portage/make.profile/packages, col make.conf e aspettarti almeno 2-3 blocchi da risolvere prima di aver compilato system.

non esattamente quel che si raccomanda a uno che si aspetta un sistema stabile. vedi tu.

----------

## ema

stabile? eheh... il mio portatile, sotto le mie mani, stabile non lo è stato mai!

spiegami che modifiche dovrei fare, casomai in pvt, senza dilungare troppo questo post, me la cavo abbastanza bene su gentoo (lo uso da quasi un anno) e se il sistema dovesse essere troppo instabile... ricomincio da zero   :Razz: 

----------

## FonderiaDigitale

preferisco dirlo a tutti cosi che tutti possano usufruirne:

dentro /etc/make.profile/packages, cambia virtual/os-headers in >=sys-kernel/linux-headers-2.6.5; >=sys-libs/glibc-2.3.3; >=sys-devel/gcc-3.4.0-r5; >=sys-apps/baselayout-1.9.0.

Ovviamente devi editare i singoli ebuilds e cambiare la variabile KEYWORDS in "x86" (o "~x86" se usi tale arch).

Ti capitera' che ci saranno alcuni blocker, o dipendenze strane, procedi come sopra.

a sto punto puoi procedere col solito bootstrap-2.6.sh

----------

## ema

ty, stasera provo

----------

## ema

riesumo questo vecchio post, per porre una domanda

seguendo i consigli di fonderiadigitale, ho installato tutto partendo con gcc 3.4, ma in effetti quando faccio bootstrap e system, parto col cd, dunque compilo con gcc 3.3...... in effetti dando gcc-config -l mi dà:

```

root@Bulma ema # gcc-config -l

[1] i386-pc-linux-gnu-3.3.2

[2] i686-pc-linux-gnu-3.4.0

root@Bulma ema #

```

ho pensato: e per sbarazzarmi di tutto il codice creato con gcc-3.3?

se dò un emerge -up system mi restituisce:

```

root@Bulma ema # emerge -up system

These are the packages that I would merge, in order:

Calculating system dependencies ...done!

[ebuild     UD] sys-kernel/linux-headers-2.4.21-r1 [2.6.5]

[ebuild     UD] sys-libs/glibc-2.3.3.20040420 [2.3.4.20040605]

[ebuild     U ] sys-libs/zlib-1.2.1-r2 [1.1.4-r2]

[ebuild     U ] sys-devel/gcc-config-1.3.5 [1.3.4]

[ebuild     U ] sys-devel/gcc-3.3.3-r6 [3.3.2-r5]

[ebuild     U ] app-editors/nano-1.3.2-r1 [1.3.2]

[ebuild     U ] sys-apps/sed-4.0.9 [4.0.7]

[ebuild  N    ] dev-util/yacc-1.9.1-r2

[ebuild     U ] net-misc/iputils-021109-r3 [020927]

[ebuild     U ] sys-devel/m4-1.4.1 [1.4-r1]

[ebuild     U ] sys-apps/coreutils-5.2.1 [5.2.0-r2]

[ebuild     U ] sys-fs/e2fsprogs-1.35 [1.34]

[ebuild     U ] app-arch/gzip-1.3.3-r4 [1.3.3-r2]

[ebuild     U ] sys-apps/shadow-4.0.4.1-r3 [4.0.3-r9]

[ebuild     U ] app-arch/tar-1.14 [1.13.92-r3]

[ebuild     U ] net-misc/openssh-3.8.1_p1-r1 [3.8_p1]

root@Bulma ema #

```

e se io volessi NON mettere gcc 3.3, e potendo, levare anche quel riferimento a gcc 3.3 su gcc-config?

----------

## randomaze

 *ema wrote:*   

> e se io volessi NON mettere gcc 3.3, e potendo, levare anche quel riferimento a gcc 3.3 su gcc-config?

 

Per partire hai bisogno del gcc-3.3 perché quello c'é nello stage1.

Tuttavia al momento dovresti avere tutto compilato con il gcc-3.4 quindi teoricamente ti basterebbe fare:

```

quickpkg quickpkg /var/db/pkg/sys-devel/gcc-3.3.2 # consigliato

emerge -C =sys-devel/gcc-3.3.2
```

Disclaimer: Ovviamente a tuo rischio e pericolo

----------

## xchris

 *ema wrote:*   

> 
> 
> che poi... non capirò mai perchè... quando compila kde usa pochissimo gli altri pc!!

 

tutto dipende dagli ebuild.

se nel ebuild viene usato emake per compilare allora la compilazione partirà usando l'impostazione MAKE_OPTS="-j5" (ad es)

(quello specificato in make.conf)

se la compilazione viene avviata invece con "make" allora la compilazione sara' avviata con "-j1" e nessun job verrà distribuito ad altri processori sulla tua macchina o remoti.

(per assurdo un P4 con HT disattivato puo' risultare piu' veloce di uno con HT attivo!!)

a questo punto uno si chiede... perche' non farli tutti con emake?

semplice.. molti falliscono la compilazione!

ciao

----------

## theRealMorpheu5

 *FonderiaDigitale wrote:*   

> dentro /etc/make.profile/packages, cambia virtual/os-headers in >=sys-kernel/linux-headers-2.6.5; >=sys-libs/glibc-2.3.3; >=sys-devel/gcc-3.4.0-r5; >=sys-apps/baselayout-1.9.0.

 

Questo dovrebbe far arrivare a dopo il bootstrap con gcc 3.4, giusto? Il quale però viene compilato con quello del livecd. Quindi poi, alla fine di tutto, si lancia un bel emerge -e system o world (?) e si ha tutto compilato col 3.4, sì?

Il 2004.2 ha il 3.4 già dentro o no?

----------

## Benve

 *theRealMorpheu5 wrote:*   

> 
> 
> Il 2004.2 ha il 3.4 già dentro o no?

 

no

----------

## Bengio

Forse non c'entra niente, ma tempo fa,avendo un sistema misto (3.3/3.4) avevo bisogno di vedere quali pacchetti erano stati compilati con le gcc-3.3* e quindi scrissi due stupidi scriptini che davano in uscita quello che volevo:

il primo che ho chiamato a1 e':

```
bengio@black (168.229 MB) /home/bengio $ cat ./a1

#!/bin/bash

find /var/db/pkg/ -name environment.bz2 -exec ./a2 {} \;
```

ed il secondo a2:

```
bengio@black (168.229 MB) /home/bengio $ cat ./a2

#!/bin/bash

cp $1 /tmp/

bunzip2 /tmp/environment.bz2

if [ `cat /tmp/environment | grep -i infopath | grep 3.3` ]

    then echo "$1"  | awk --field-separator='/' '{print $5"/"$6}'

fi

rm /tmp/environment

```

metteteli nella stessa dir ed eseguite ./a1

Naturalmente poteva essere fatto in un unico script ma non so programmare bene in bash   :Embarassed: 

C'e' anche da dire che alcuni software non possono essere compilati con le gcc-3.4 ed uno di questi e' lyx.

Bengio

----------

## bandreabis

Ciao a tutti, riesumo questo topo perchè ho un interesse similare.

E' "appena" uscito il livecd 2006.0, con gcc3.4.4, ma con il kernel 2.6.15 che è incompatibile col mio portatile (o forse vice versa) infatti non boota mica.

C'è un modo di avere il kernel 2.6.14 con il compilatore nuovo? Non esiste già un "ibrido" o non c'è modo di farlo da me? Senza dover aggiornare il gcc e poi "svuotare l'albero"...   :Rolling Eyes: 

Grazie

Andrea

----------

## Luca89

 *bandreabis wrote:*   

> Ciao a tutti, riesumo questo topo perchè ho un interesse similare.
> 
> E' "appena" uscito il livecd 2006.0, con gcc3.4.4, ma con il kernel 2.6.15 che è incompatibile col mio portatile (o forse vice versa) infatti non boota mica.
> 
> C'è un modo di avere il kernel 2.6.14 con il compilatore nuovo? Non esiste già un "ibrido" o non c'è modo di farlo da me? Senza dover aggiornare il gcc e poi "svuotare l'albero"...  
> ...

 

Fai il boot con il livecd della 2005.1 (dovrebbe avere il kernel 2.6.12 se non erro) e scarichi uno stage della 2006.0.

----------

## bandreabis

Dopo la tua risposta, la mia domanda sembra così stupida...  :Embarassed: 

Grazie  :Very Happy: 

Andrea

----------

