# Parte prima: installazione (stage3 2008.0 b2)!

## elegos

Salve a tutti!

E' ormai da due anni che lavoro su Ubuntu e che smanetto con il terminale, ho chiesto se si poteva ottimizzare Ubuntu alla mia macchina e mi hanno risposto che... Gentoo fa per me  :Razz: 

Allora mi sono informato bene, ed ho trovato la guida (ufficiale suppongo) su come installarlo!

Ho optato per l'installazione da ambiente esterno, quindi comincio da Ubuntu!

Ecco gli step che ho fatto:

1. partizionato 20GB dedicati in ext3 a Gentoo (/dev/sda5).

2. Copia dei dati

2.1. Download, md5sum e scompattamento dell'archivio (non metto i link o i nomi reali dei file):

```
cd /media/gentoo

wget (stage3-i686) && wget (stage3-i686).DIGESTS

-- cut --

md5sum -c (stage3).DIGESTS

-- ok --

tar xvjpf stage3*.tar.bz2

-- ok --
```

2.2. Installazione di Portage

```
wget (portage-latest).tar.bz2 && wget (portage-latest).tar.bz2.md5sum

-- cut --

md5sum -c (portage).md5sum

-- ok --

tar xvjf portage-latest.tar.bz2 -C usr/

-- ok --
```

3.1 /etc/make.conf

```
# These settings were set by the catalyst build script that automatically

# built this stage.

# Please consult /etc/make.conf.example for a more detailed example.

CFLAGS="-O2 -march=i686 -pipe"

CXXFLAGS="-O2 -march=i686 -pipe"

# WARNING: Changing your CHOST is not something that should be done lightly.

# Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing.

CHOST="i686-pc-linux-gnu"

MAKEOPTS="-j3"
```

^-- makeopts per un dual core

4. Installazione del sistema base

4.1 mirrorselect non l'ho trovato da nessuna parte, quindi l'ho fatto a mano:

Aggiunto a make.conf:

```
GENTOO_MIRRORS="ftp://mirror.ing.unibo.it/gentoo/ ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/"

SYNC="rsync://rsync.it.gentoo.org/gentoo-portage"
```

(uno italiano ed uno tedesco che di solito son veloci)

4.2 copia dei DNS

```
cp -L /etc/resolv.conf etc
```

4.3 mount di proc, dev e chroot

```
mount -t proc none proc

mount -o bind /dev dev

chroot ../gentoo

env-update

-- ok --

source /etc/profile

export PS1="(chroot) $PS1"
```

4.3 configurazione di portage

```
emerge --sync

-- ok --
```

4.4 configurazione profili - ho lasciato di default

4.5 variabile USE

make.conf, aggiunto (per installarci GNOME):

```
USE="gtk gnome -qt3 -qt4 -kde dvd alsa cdr"
```

5.6 locali, messe inglese (stati uniti) e italiano, /etc/locale.gen:

```
en_US ISO-8859-1

en_US.UTF-8 UTF-8

it_IT ISO-8859-1
```

5.6.1 esecuzione di locale-gen (ok)

5.7 Configurazione del kernel

5.7.1 Timezone

```
cp /usr/share/zoneinfo/Europe/Rome /etc/localtime
```

5.7.2 Installazione dei sorgenti

```
emerge gentoo-sources

-- ok --
```

5.7.3 Configurazione __manuale__

E qui per ora mi fermo (e non voglio fare quella automatica, se no dove stanno le ottimizzazioni?  :Wink: )... però mi potreste dare una mano? Ecco il mio lspci:

```
00:00.0 Host bridge: Intel Corporation Mobile PM965/GM965/GL960 Memory Controller Hub (rev 0c)

00:01.0 PCI bridge: Intel Corporation Mobile PM965/GM965/GL960 PCI Express Root Port (rev 0c)

00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #4 (rev 03)

00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 03)

00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 03)

00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03)

00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 03)

00:1c.1 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 2 (rev 03)

00:1c.5 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 6 (rev 03)

00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 03)

00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 03)

00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 03)

00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 03)

00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f3)

00:1f.0 ISA bridge: Intel Corporation 82801HEM (ICH8M) LPC Interface Controller (rev 03)

00:1f.1 IDE interface: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) IDE Controller (rev 03)

00:1f.2 SATA controller: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) SATA AHCI Controller (rev 03)

00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 03)

01:00.0 VGA compatible controller: nVidia Corporation GeForce 8400M GS (rev a1)

02:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)

06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01)

07:09.0 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 05)

07:09.1 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 22)

07:09.2 System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller (rev 12)

07:09.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 12)

07:09.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev ff)
```

lsmod (di ubuntu): attualmente sono caricati questi moduli (per avere un'idea?)

```
Module                  Size  Used by

af_packet              23812  4 

binfmt_misc            12808  1 

rfcomm                 41744  2 

l2cap                  25728  13 rfcomm

bluetooth              61156  4 rfcomm,l2cap

ipv6                  267780  25 

ppdev                  10372  0 

acpi_cpufreq           10796  2 

cpufreq_userspace       5284  0 

cpufreq_powersave       2688  0 

cpufreq_stats           7104  0 

cpufreq_conservative     8712  0 

cpufreq_ondemand        9740  1 

freq_table              5536  3 acpi_cpufreq,cpufreq_stats,cpufreq_ondemand

sbs                    15112  0 

container               5632  0 

sbshc                   7680  1 sbs

dock                   11280  0 

iptable_filter          3840  0 

ip_tables              14820  1 iptable_filter

x_tables               16132  1 ip_tables

sbp2                   24072  0 

parport_pc             36260  0 

lp                     12324  0 

parport                37832  3 ppdev,parport_pc,lp

arc4                    2944  2 

ecb                     4480  2 

blkcipher               8324  1 ecb

joydev                 13120  0 

uvcvideo               58116  0 

snd_hda_intel         344728  4 

compat_ioctl32          2304  1 uvcvideo

snd_pcm_oss            42144  0 

snd_mixer_oss          17920  2 snd_pcm_oss

videodev               29440  1 uvcvideo

v4l1_compat            15492  2 uvcvideo,videodev

v4l2_common            18304  2 uvcvideo,videodev

nvidia               7825536  36 

serio_raw               7940  0 

iwl3945                89844  0 

snd_pcm                78596  2 snd_hda_intel,snd_pcm_oss

snd_page_alloc         11400  2 snd_hda_intel,snd_pcm

snd_hwdep              10500  1 snd_hda_intel

iwlwifi_mac80211      219108  1 iwl3945

psmouse                40336  0 

i2c_core               24832  1 nvidia

cfg80211               15112  1 iwlwifi_mac80211

snd_seq_dummy           4868  0 

snd_seq_oss            35584  0 

snd_seq_midi            9376  0 

sdhci                  19076  0 

video                  19856  5 

output                  4736  1 video

snd_rawmidi            25760  1 snd_seq_midi

ricoh_mmc               4352  0 

mmc_core               51460  1 sdhci

snd_seq_midi_event      8320  2 snd_seq_oss,snd_seq_midi

wmi_acer                9644  0 

battery                14212  0 

snd_seq                54224  6 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq_midi_event

snd_timer              24836  2 snd_pcm,snd_seq

snd_seq_device          9612  5 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq

ac                      6916  0 

button                  9232  0 

iTCO_wdt               13092  0 

iTCO_vendor_support     4868  1 iTCO_wdt

pcspkr                  4224  0 

evdev                  13056  8 

intel_agp              25492  0 

snd                    56996  17 snd_hda_intel,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_hwdep,snd_seq_dummy,snd_seq_oss,snd_rawmidi,snd_seq,snd_timer,snd_seq_device

agpgart                34760  2 nvidia,intel_agp

shpchp                 34452  0 

pci_hotplug            30880  1 shpchp

soundcore               8800  2 snd

ext3                  136712  2 

jbd                    48404  1 ext3

mbcache                 9600  1 ext3

sr_mod                 17956  0 

cdrom                  37408  1 sr_mod

ata_generic             8324  0 

sg                     36880  0 

sd_mod                 30720  4 

ata_piix               19588  0 

usbhid                 31872  0 

hid                    38784  1 usbhid

ahci                   28420  3 

pata_acpi               8320  0 

ohci1394               33584  0 

ehci_hcd               37900  0 

uhci_hcd               27024  0 

ieee1394               93752  2 sbp2,ohci1394

libata                159344  4 ata_generic,ata_piix,ahci,pata_acpi

scsi_mod              151436  5 sbp2,sr_mod,sg,sd_mod,libata

r8169                  32900  0 

usbcore               146028  5 uvcvideo,usbhid,ehci_hcd,uhci_hcd

thermal                16796  0 

processor              36872  4 acpi_cpufreq,thermal

fan                     5636  0 

fbcon                  42912  0 

tileblit                3456  1 fbcon

font                    9472  1 fbcon

bitblit                 6784  1 fbcon

softcursor              3072  1 bitblit

fuse                   50580  1 
```

Ripeto, potreste darmi una dritta? Sarebbe veramente bello poter continuare l'installazione  :Smile: 

P.S:

se chiudo il terminale mi basta rifare questi comandi senza dover entrare solo in gentoo, vero?

```
mount -t proc none /media/gentoo/proc

mount -o bind /dev /media/gentoo/dev

chroot /media/gentoo

env-update

source /etc/profile

export PS1="(chroot) $PS1"
```

Grazie mille, un milione, un miliardo  :Razz: 

----------

## randomaze

 *elegos wrote:*   

> Ripeto, potreste darmi una dritta? Sarebbe veramente bello poter continuare l'installazione 

 

usa genkernel.... poi quando il sistema sarà funzionante ti metterai a fare le prove del caso. 

 *Quote:*   

> se chiudo il terminale mi basta rifare questi comandi senza dover entrare solo in gentoo, vero?
> 
> ```
> mount -t proc none /media/gentoo/proc
> 
> ...

 

Si... ovviamente dopo aver montato /mnt/gentoo  :Wink: 

----------

## elegos

bene, allora ecco il prossimo problema xD

nella guida mi dice di prendere le configurazioni del LiveCD e spiattellarle dove genkernel vuole... solo che ovviamente io non ho tale file richiesto  :Laughing: 

come faccio?

```
zcat /proc/config.gz > /usr/share/genkernel/x86/kernel-config-2.6
```

----------

## Onip

 *elegos wrote:*   

> 
> 
> 4.4 configurazione profili - ho lasciato di default
> 
> 

 

Altamente consigliato il profilo di tipo desktop, precisamente il 2007.0/desktop . Contiene tutta una serie di USE predefinite per un utilizzo desktop che comunque puoi sempre personalizzare con make.conf e /etc/portage/package.use (info nel manuale che stai leggendo   :Wink:  )

Byez

p.s. Benvenuto\a

----------

## elegos

Per i profiles, dove lo trovo? Trovo solo 2008.0/parent :S

Per  il problema invece del genkernel?

----------

## elegos

beh, penso di essermela cavata... è partito ghgh

ora sto installando GNOME... sto seguendo questa guida: http://www.gentoo.it/home/index.php?option=com_content&task=view&id=185&Itemid=31

alla fine dei 284 pacchetti vi saprò dire  :Razz: 

invece per usare genkernel ma con iwl3749 per la mia scheda wireless come faccio?

----------

## Tigerwalk

```
 iwl3749
```

  :Question: 

devi attivare i moduli con make menuconfig(opzione --menuconfig di genkernel)

```
CONFIG_IWLWIFI=y

CONFIG_IWLWIFI_DEBUG=y

CONFIG_IWLWIFI_SENSITIVITY=y

CONFIG_IWLWIFI_SPECTRUM_MEASUREMENT=y

CONFIG_IWLWIFI_QOS=y

CONFIG_IWL4965=m

CONFIG_IWL3945=m
```

----------

## elegos

3945, scusa...

Una volta fatto quello mi basta utilizzare un manager di reti come WICD o devo fare qualcos'altro? (tipo: rc-update set QUALCOSA default)?

----------

## djinnZ

Consigli:

CXXFLAGS="${CFLAGS}" in make.conf ti eviti problemi e vai meglio

CFLAGS: -O2 va benissimo, -fomit-fraem-pointer potresti provarla -march se non hai necessità di portare il codice su macchine differenti andrebbe adeguato (ovviamente dovresti ricompilare tutto con emerge -e world) o non  sfrutterai mai le capacità della nuove cpu. Così non è cambiato molto rispetto alla ubuntu.

genkernel non fa altro che lanciare un make oldconfig sfruttando una configurazione del kernel molto modulare e molto generica. Tuttavia basta chiamarlo con l'opzione --menuconfig o --gconfig per poterlo personalizzare. A meno che non hai esigenze molto particolari (del tipo configurazioni alternative, initrd personalizzata etc.) risparmi fatica e parti sempre da una configurazione funzionante (prima di gentoo ero su un linux "from scratch" e nonostante tutto uso genkernel).

Dai anche uno sguardo al file /etc/genkernel.conf è commentato e facile da gestire (e se apprezzi grub non devi neppure scomodarti ad aggiungere il nuovo kernel).

Ovviamente se non sei pratico limitati ad abilitare il supporto alla tua scheda se non è inserito di default.

Eventualmente puoi pensare alla mitica --as-need per velocizzare il tutto, siamo ad un decente livello di supporto ormai.

per i profili usa eselec profile list per visualizzarli e set per selezionarli.

----------

## elegos

credo che prima o poi terrò occupato il mio PC per un 2-3 giorni con emerge -e world.

Per ottimizzare il kernel al mio Intel CentrinoDuo T5450 1.66Mhz che CFLAGS metto? "-fomit-fraem-pointer" nella guida praticamente lo s-consigliano... dicono che velocizza molto i processi, ma che può provocare seri problemi di stabilità... lo provo? Tanto che ho Ubuntu-salva-vita ghgh

/etc/genkernel.conf ci darò uno sguardo promesso  :Smile: 

Cos'è la "mitica --as-need"? Ok sono gentoo-niubbo  :Razz: 

Infine... farò tutto questo domani o dopo, sta compilando 250 e passa pacchetti di GNOME, quanto meno lavoro direttamente lì dentro  :Smile: 

----------

## Tigerwalk

 *elegos wrote:*   

> 3945, scusa...
> 
> Una volta fatto quello mi basta utilizzare un manager di reti come WICD o devo fare qualcos'altro? (tipo: rc-update set QUALCOSA default)?

 

Devi assicurarti di avere anche il firmware iwlxxxx in /lib/firmware (altrimenti devi scaricarlo e compilarlo). Decidere se vuoi attivare la rete all'avvio (e quindi aggiungere l'interfaccia relativa al runlevel default oppure boot).

----------

## elegos

per le ottimizzazioni sul mio sistema, come modifico le CFLAGS e quindi le CXXFALGS?

P.S.

GNOME installato, in Italiano  :Very Happy: 

X11 configurato  :Very Happy: 

ALSA da compilare

P.S.

per aggiungere i driver ALSA devo emergere qualcosa, o compilarmi i sorgenti dal sito?

venendo da Debian/Ubuntu: ero abituato a /etc/init.d/__programma__ ... questo è sostituito dall'rc-update? Come faccio ad esempio a riavviare GDM?

Grazie  :Smile: 

----------

## elegos

aggiornamento:

Seguendo questa guida: http://gentoo-wiki.com/HARDWARE_ipw3945

ho fatto questo (seguendo le linee guida per IWLWIFI):

1. (chroot) ricompilato il kernel con quelle impostazioni date

2. (reale) rm $(modprobe -l rc80211_*)

3. (chroot) emerge iwl3945-ucode

4. (reale) modprobe mac80211

4. (reale) modprobe iwl3945

Ora che devo fare?

- iwconfig è solo per ipw da quanto ho capito (e tra l'altro non c'è neanche!)

- ifconfig mi risponde solo con lo e eth0 (LAN su cavo)

grazie  :Smile: 

----------

## Onip

http://www.gentoo.org/doc/it/alsa-guide.xml

----------

## elegos

OK per gli alsa era tutto attivo, dovevo solo alzare il volume   :Embarassed: 

Ora con WICD...

1. creato ebuild di WICD dal bug tracker di gentoo

2. creato il digest

3. inserita la linea nel package.keywords

--- cut --- risolto, era una configurazione dei CFLAGS errata...

per la scheda di rete invece?

----------

## Tigerwalk

 *elegos wrote:*   

> aggiornamento:
> 
> Seguendo questa guida: http://gentoo-wiki.com/HARDWARE_ipw3945
> 
> ho fatto questo (seguendo le linee guida per IWLWIFI):
> ...

 

```
Hai messo il firmware in /lib/firmware?
```

posta un 

```
ifconfig -a
```

[Edit]: dopo la ricompilazione hai copiato il kernel in /boot  :Question: 

----------

## djinnZ

 *elegos wrote:*   

> ...

 per la tua cpu dovrebbe essere -march=prescott o nocona se vuoi lavorare a 64 bit (non ho mai capito sta faccenda dei duo/2 per i 64 bit) basta leggere qui e verificare con quanto in /proc.

Non so che versione del gcc hai ma dalla 4.2 supporta anche -march=native e poi se la vede lui. Hai solo rinunciato al supporto per mmx ed sse.

-fomit-frame-pointer è abbastanza sicura ed io la uso su hardened per lavorarci senza problemi da molto tempo. Ovviamente se non ti fidi lascia stare. (in particolare gcc non gradisce le ottimizzazioni spinte quindi fattene sempre una copia con quickpkg)

LDFLAGS="-Wl,--as-need" serve a velocizzare il linking e l'avvio dei programmi. Prima era abbastanza problematica, adesso pare che siano solo alcuni pacchetti a non compilare o dare errore (tipo quella brutta bestia di crypto++ necessario al mulo). Non è ufficialmente supportata ma non è neppure sconsigliata come altre.

Alla fine è più problematica -Wl,-O1 come ldflag nella mia esperienza.

Se cerchi sul forum ci sono un paio di thread sull'argomento.

L'emerge -e (la via più sicura è lanciarlo prima per system e poi per world) ti conviene lanciarlo quanto prima, non vedo l'utilità di compilare tutto quel mattone di gnome due volte.

----------

## elegos

@ Tigerwalk: genkernel mette automaticamente il kernel in /boot  :Smile:  in ogni caso tutto a posto, WICD tra l'altro è fantastico  :Very Happy: 

@ djinnZ: quindi, sommariamente, ecco il mio make.conf

```
# These settings were set by the catalyst build script that automatically

# built this stage.

# Please consult /etc/make.conf.example for a more detailed example.

CFLAGS="-O2 -march=native -pipe -fomit-frame-pointer"

CXXFLAGS="$(CFLAGS)"

LDFLAGS="-Wl, --as-needed"

# WARNING: Changing your CHOST is not something that should be done lightly.

# Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing.

CHOST="x86_64-pc-linux-gnu"

MAKEOPTS="-j3"

GENTOO_MIRRORS="ftp://mirror.ing.unibo.it/gentoo/ ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/"

SYNC="rsync://rsync.it.gentoo.org/gentoo-portage"

USE="X gtk gnome -qt3 -qt4 -kde dvd alsa cdr hal howl xvmc"

PORTDIR_OVERLAY="/usr/local/portage"
```

Ma ho il GCC 4.1.2, come faccio ad aggiornarlo? (Sono poco pratico ancora con l'emerge...)

P.S.

emerge -e system:

```
--- cut ---

[blocks B     ] sys-apps/mktemp (is blocking sys-apps/coreutils-6.10-r2)

[blocks B     ] >=sys-apps/coreutils-6.10 (is blocking sys-apps/mktemp-1.5)
```

^-- Cosa posso fare?

----------

## djinnZ

Se stai tentando di passare CHOST da x86 ad x86_64 non farlo. Il cambio di chost x86 per x86 (in genere i486->i686) già è problematico figurarsi da 32 a 64 bit.

Se vuoi usare l'architettura a 64 bit usa uno stage a 64 bit e ricomincia da capo.

Ho parlato della versione di gcc perché uso la versione hardened che è ancora impantanata con il 3.4.6 di default e non mi ricordo qual è quella corrente su gentoo "normale". Con la 4.1 -march=native non dovrebbe funzionare ed usare una versione instabile di gcc alla prima installazione non mi pare utile. A naso mi pare che sia -march=nocona per la tua cpu ma verifica, te lo ripeto.

L'errore è dovuto ad una modifica relativamente recente al portage, se cerchi nel forum troverai la soluzione ovvero emerge -C mktemp e la spiegazione del perché. Mi pare di aver capito che hai aggiornato il portage con emerge --sync ma invece di aggiornare i pacchetti installati hai iniziato ad installarne altri, questa non è la via più semplice e siicura ma non perderti d'animo e completa l'emerge -e system. Dopo averlo fatto lancia emerge -NDu system.

Terminato l'emerge system installi gentoolkit, togli da world il riferimento al metapacchetto di gnome (che non hai completato, sempre a quel che ho capito, ma qui ci vuole uno gnomo fetente che spieghi, perchè le dipendenze di gnome mi sono abbastanza oscure, uso KDE io) lanci revdep-rebuild -X e lanci emerge -e world.

Fatto questo aggiorni il world con emerge -NDu world, lanci revdep-rebuild (tanto per scruplo) e dovresti avere il sistema perfettamente a posto.

Passata questa fase continui con l'emerge gnome e ti installi i rimanenti applicativi.

Dopo di questo ogni quando puoi ed almeno una volta al mese (questo è un mero consiglio) emerge --sync ; emerge -aNDuv world ed aggiorni il sistema.

Per ripulire i pacchetti orfani (ci sono ma al momento non doverebbero darti problemi) documentati sulle opzioni --depclean e --with-bdeps di emerge appena hai tempo.

----------

## elegos

Allora...

Ho reinstallato tutto (64bit), ho messo march=nocona, quindi ho configurato le altre cosucce, compilato il kernel e l'fstab e fatto:

```
emerge -e system

revdep-rebuild -X

emerge -e world
```

solo che l'ultimo comando mi sta DI NUOVO ricompilando gcc e glibc (dopo il system intendo), i due pacchetti più pesanti che abbia incontrato sin ora xD ... era proprio necessario? Non poteva il world eliminare dalla lista di compilazione i pacchetti compilati da system?

----------

## crisandbea

 *elegos wrote:*   

> Allora...
> 
> Ho reinstallato tutto (64bit), ho messo march=nocona, quindi ho configurato le altre cosucce, compilato il kernel e l'fstab e fatto:
> 
> ```
> ...

 

si era necessario , il world non elimina nulla,  piuttosto tu potevi dare direttamente emerge -e world, visto che volevi ricompilare tutto, 

ciauz

----------

## djinnZ

No. Word include system a meno che non giochi pesantemente con il portage.

Preferibile compilare due volte gcc e glibc piuttosto che dover intervenire manualmente usando direttamente -e world, il modo più rapido è compilare manualmente gcc glibc bintuils ed alcune altre dipendenze ma non è semplice.

----------

## elegos

OK ho terminato il procedimento ed avviato l'installazione di gnome e xscreenserver, solo che arrivato alle curl mi dà errore:

```
>>> Emerging (38 of 254) net-misc/curl-7.17.1 to /

 * curl-7.17.1.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...                                                                                                                     [ ok ]

 * checking ebuild checksums ;-) ...                                                                                                                                       [ ok ]

 * checking auxfile checksums ;-) ...                                                                                                                                      [ ok ]

 * checking miscfile checksums ;-) ...                                                                                                                                     [ ok ]

 * checking curl-7.17.1.tar.bz2 ;-) ...                                                                                                                                    [ ok ]

>>> Unpacking source...

>>> Unpacking curl-7.17.1.tar.bz2 to /var/tmp/portage/net-misc/curl-7.17.1/work

 * Applying curl-7.16.2-strip-ldflags.patch ...                                                                                                                            [ ok ]

 * Applying curl-7.17.1-null-handler-segfault.patch ...                                                                                                                    [ ok ]

 * Running elibtoolize in: curl-7.17.1

 *   Applying install-sh-1.5.patch ...

 *   Applying portage-1.5.10.patch ...

 *   Applying sed-1.5.6.patch ...

>>> Source unpacked.

>>> Compiling source in /var/tmp/portage/net-misc/curl-7.17.1/work/curl-7.17.1 ...

 * 

 * ERROR: net-misc/curl-7.17.1 failed.

 * Call stack:

 *               ebuild.sh, line   49:  Called src_compile

 *             environment, line 2422:  Called die

 * The specific snippet of code:

 *           die 'ldap and kerberos (gssapi) not playing nicely try version >=7.18.1';

 *  The die message:

 *   ldap and kerberos (gssapi) not playing nicely try version >=7.18.1

 * 

 * If you need support, post the topmost build error, and the call stack if relevant.

 * A complete build log is located at '/var/tmp/portage/net-misc/curl-7.17.1/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/net-misc/curl-7.17.1/temp/environment'.

 *
```

build.log:

```
>>> Unpacking source...

>>> Unpacking curl-7.17.1.tar.bz2 to /var/tmp/portage/net-misc/curl-7.17.1/work

 ^[[32;01m*^[[0m Applying curl-7.16.2-strip-ldflags.patch ...

^[[A^[[169C  ^[[34;01m[ ^[[32;01mok^[[34;01m ]^[[0m

 ^[[32;01m*^[[0m Applying curl-7.17.1-null-handler-segfault.patch ...

^[[A^[[169C  ^[[34;01m[ ^[[32;01mok^[[34;01m ]^[[0m

 ^[[32;01m*^[[0m Running elibtoolize in: curl-7.17.1

 ^[[32;01m*^[[0m   Applying install-sh-1.5.patch ...

 ^[[32;01m*^[[0m   Applying portage-1.5.10.patch ...

 ^[[32;01m*^[[0m   Applying sed-1.5.6.patch ...

>>> Source unpacked.

>>> Compiling source in /var/tmp/portage/net-misc/curl-7.17.1/work/curl-7.17.1 ...

 ^[[31;01m*^[[0m

 ^[[31;01m*^[[0m ERROR: net-misc/curl-7.17.1 failed.

 ^[[31;01m*^[[0m Call stack:

 ^[[31;01m*^[[0m               ebuild.sh, line   49:  Called src_compile

 ^[[31;01m*^[[0m             environment, line 2422:  Called die

 ^[[31;01m*^[[0m The specific snippet of code:

 ^[[31;01m*^[[0m           die 'ldap and kerberos (gssapi) not playing nicely try version >=7.18.1';

 ^[[31;01m*^[[0m  The die message:

 ^[[31;01m*^[[0m   ldap and kerberos (gssapi) not playing nicely try version >=7.18.1

 ^[[31;01m*^[[0m

 ^[[31;01m*^[[0m If you need support, post the topmost build error, and the call stack if relevant.

 ^[[31;01m*^[[0m A complete build log is located at '/var/tmp/portage/net-misc/curl-7.17.1/temp/build.log'.

 ^[[31;01m*^[[0m The ebuild environment file is located at '/var/tmp/portage/net-misc/curl-7.17.1/temp/environment'.

 ^[[31;01m*^[[0m
```

Come lo posso fixare? Ho trovato questo: https://bugs.gentoo.org/show_bug.cgi?format=multiple&id=206566 ma non so dove si possa prendere la 7.18.1...

----------

## djinnZ

```
 die 'ldap and kerberos (gssapi) not playing nicely try version >=7.18.1'
```

non puoi usare contemporaneamente kerberos ed ldap con la versione corrente di curl.

Se non pensi di usrare ldap disabiliti le use relative (non posso verificare ora quali sono, cercale) altrimenti disabiliti kerberos. Puoi anche farlo per singolo pacchetto usando /etc/portage/package.use.

Per vedere quali use sono configurate per il singolo pacchetto emerge -pv curl

Oppure metti la riga =net-misc/curl-7.18.1 ~x86 (od anche <net-misc/curl-7.18.2 così includi le eventuali revisioni, se sei su amd64 è ~amd64) in /etc/portage/package.keywords

ed installi il pacchetto in testing (che potrebbe creare problemi e nel bug non è detto se il problema è risolto).

Documentati sull'uso dei file in /etc/portage e sull'installazione dei pacchetti mascherati.

In giro per la rete c'è ancora gente che consiglia di mettere ACCEPT_KEYWORDS="~arch" in make.conf, assolutamente sbagliato ( leggi "cretino", ovviamente IMHO  :Twisted Evil:  ) è una opzione pensata per i devel e i tester, non per l'uso normale. Usare tutte le dipendenze instabili ha senso su una distribuzione binaria come debian o slackware ma non su gentoo.  :Wink: 

Quanto all'uso delle use per pacchetto ci sono due scuole correnti una segue l'idea di abilitare solo alcune use fondamentali e gestire tutte le altre per pacchetto, l'altra (scelta prevalentemente dai pigri che usano profuse o ufed) di abilitare tutto globalmente e gestire solo le eccezioni tramite package.use

Le prestazioni di portage restano parimenti penose nel calcolo delle dipendenze ma la seconda opzione potrebbe, ripeto potrebbe, farti mettere un paio di dipendenze in più.

All'atto pratico l'unico consiglio valido è scegliere un metodo ed essere sistematico, vere differenze non ce ne sono.

----------

