# problema con CHOST

## alexbgl

Mi sono accorto che la variabile CHOST sembrava sbagliata perchè quando compilando diceva che i686-pc-linux-gnu-gcc non esisteva, e difatti c'è i486-pc-linux-gnu-gcc.

A me risulta che un Intel Celeron Coppermine sia un i686, quindi pongo due domande:

1-cambio la variabile CHOST seguendo questa guida http://www.gentoo.org/doc/it/change-chost.xml?style=printable rischiando di mandare tutto in malora, come dice nell'introduzione?

2-Come mai c'è i486?? Io non l'ho mai impostato.

----------

## Scen

 *alexbgl wrote:*   

> 1-cambio la variabile CHOST seguendo questa guida http://www.gentoo.org/doc/it/change-chost.xml?style=printable rischiando di mandare tutto in malora, come dice nell'introduzione?

 

No, non è che rischi in modo assoluto! Tu segui attentamente le istruzioni e vedrai che rimane tutto sano  :Razz: 

 *alexbgl wrote:*   

> 2-Come mai c'è i486?? Io non l'ho mai impostato.

 

O l'hai modificato per sbaglio senza accorgertene oppure hai installato utilizzando uno stage in cui era impostato quel CHOST (sicuramente uno stage vecchio o sperimentale).

----------

## alexbgl

 *Scen wrote:*   

> 
> 
> O l'hai modificato per sbaglio senza accorgertene oppure hai installato utilizzando uno stage in cui era impostato quel CHOST (sicuramente uno stage vecchio o sperimentale).

 

E' l'unica perchè non ho mai messo i484....certo che sono stato proprio un pirla a sbagliare stage, se l'ho sbagliato.

Va beh, allora provo a fare il cambio (fate una preghierina per me   :Very Happy:  )

----------

## alexbgl

dio...sono accettate bestemmie?

```

gcc   -O -DENABLE_CHECKING -DENABLE_ASSERT_CHECKING -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long -Wno-variadic-macros -Wold-style-definition -Wmissing-format-attribute    -DHAVE_CONFIG_H -DGENERATOR_FILE  -o build/genattrtab \

         build/genattrtab.o build/genautomata.o \

         build/rtl.o build/read-rtl.o build/ggc-none.o build/min-insn-modes.o build/gensupport.o build/insn-conditions.o build/print-rtl.o build/errors.o \

         build/varray.o ../build-i686-pc-linux-gnu/libiberty/libiberty.a -lm

build/genattrtab /var/tmp/portage/sys-devel/gcc-4.1.2/work/gcc-4.1.2/gcc/config/i386/i386.md > tmp-attrtab.c

/bin/sh: line 1: 12332 Killed                  build/genattrtab /var/tmp/portage/sys-devel/gcc-4.1.2/work/gcc-4.1.2/gcc/config/i386/i386.md >tmp-attrtab.c

make[2]: *** [s-attrtab] Error 137

make[2]: Leaving directory `/var/tmp/portage/sys-devel/gcc-4.1.2/work/build/gcc'

make[1]: *** [stage1_build] Error 2

make[1]: Leaving directory `/var/tmp/portage/sys-devel/gcc-4.1.2/work/build/gcc'

make: *** [profiledbootstrap] Error 2

!!! ERROR: sys-devel/gcc-4.1.2 failed.

Call stack:

  ebuild.sh, line 1615:   Called dyn_compile

  ebuild.sh, line 972:   Called qa_call 'src_compile'

  ebuild.sh, line 44:   Called src_compile

  ebuild.sh, line 1305:   Called toolchain_src_compile

  toolchain.eclass, line 26:   Called gcc_src_compile

  toolchain.eclass, line 1537:   Called gcc_do_make

  toolchain.eclass, line 1411:   Called die

!!! emake failed with profiledbootstrap

!!! 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/sys-devel/gcc-4.1.2/temp/build.log'.

```

(compilazione di gcc)

Che cavolo faccio adesso?

----------

## Scen

In concomitanza con il cambiamento di CHOST non è che stai aggiornando anche world?

Attualmente hai già gcc-4.1.2 installato?

Sei su sistema stabile o ~arch?

Posta il tuo /etc/make.conf

----------

## alexbgl

allora, la versione di gcc: gcc (GCC) 4.1.1 (Gentoo 4.1.1-r3) (mai aggiornato dall'installazione)

make.conf:

```

CFLAGS="-O2 -march=i686 -mmmx -msse -pipe -fomit-frame-pointer"

CHOST="i686-pc-linux-gnu"

CXXFLAGS="${CFLAGS}"

MAKEOPTS="-j2"

USE="mmx sse -alsa -gtk -gnome -qt3 -qt4 -kde -X"

SYNC="rsync://192.168.0.1/gentoo-portage"

GENTOO_MIRRORS="http://mirror.switch.ch/ftp/mirror/gentoo"

PORTAGE_NICENESS = "-1"

```

----------

## Scen

Però dal tuo log di errore tentavi di emergere la version 4.1.2 di GCC (quindi un aggiornamento).

Siccome mi pare di vedere che ciò dà dei problemi, invece di dare

```

emerge -1av gcc

```

e basta, specifica la versione attualmente installata

```

emerge -1av =gcc-4.1.1-r3

```

Dopo aver completato la procedura di migrazione al nuovo CHOST, potrai aggiornare interamente world (compreso GCC)

----------

## alexbgl

Mi da ancora errore.

Ma, se io faccio una cosa del genere:

rimuovo completamente gcc, glibc, e binutils, poi scarico lo stage giusto ed estraggo tutto...dovrò rifare la configurazione di un po' di cose, ma è sempre meglio di ricominciare da zero.

E' un'idea?

----------

## crisandbea

 *alexbgl wrote:*   

> Mi da ancora errore.
> 
> Ma, se io faccio una cosa del genere:
> 
> rimuovo completamente gcc, glibc, e binutils, poi scarico lo stage giusto ed estraggo tutto...dovrò rifare la configurazione di un po' di cose, ma è sempre meglio di ricominciare da zero.
> ...

 

è sicuramente un 'idea, però magari da usare in casi particolari, la tua situazione dovrebbe essere risolvibile senza grandi problemi, 

posti  un 

```
ls -l /etc/make.profile
```

----------

## alexbgl

```
total 20

drwxr-xr-x 2 portage portage 4096 Apr 14 00:06 desktop

-rw-r--r-- 1 portage portage  493 Apr 14 00:02 make.defaults

-rw-r--r-- 1 portage portage  664 Apr 14 00:02 packages

-rw-r--r-- 1 portage portage    3 Apr 14 00:02 parent

drwxr-xr-x 2 portage portage 4096 Apr 14 00:06 server

```

Tra l'altro, a proposito dei profili, come si fa a cambiarlo?

----------

## crisandbea

 *alexbgl wrote:*   

> 
> 
> ```
> total 20
> 
> ...

 

il tuo problema è proprio qua, ovvero non hai un link a nessun profilo,   prova a fareee:

```

ln -s /usr/portage/profiles/default-linux/x86/2007.0/desktop /etc/make.profile
```

dopo di che ridai:

```

emerge -av1 binutils gcc glibc
```

 e segui : qua

ciauz

----------

## alexbgl

```

ln -s /usr/portage/profiles/default-linux/x86/2007.0/desktop /etc/make.profile

ln: creating symbolic link `/etc/make.profile/desktop': File exists

```

Ma dovrebbe essere giusto il profilo dato che l'output di ls -l /etc/make.profile è uguale a quello del pc che uso di solito, dove è tutto apposto.

----------

## crisandbea

 *alexbgl wrote:*   

> 
> 
> ```
> 
> ln -s /usr/portage/profiles/default-linux/x86/2007.0/desktop /etc/make.profile
> ...

 

allora prima hai postato un ls -l errato prima.

ciauz

----------

## Scen

@crisandbea: no, non penso che sia quello il problema

```

$ ls -1 /usr/portage/profiles/default-linux/x86/2007.0/

desktop

make.defaults

packages

parent

server

```

se il profilo non fosse impostato correttamente, ad ogni tentativo di emerge gli verrebbero sputati fuori una valanga di errori.

@alexbgl: mi confermi che, dopo aver cambiato CHOST, hai ricompilato con successo libtool?

riguardo alla cancellazione di libtool, gcc e glibc è una bruttissima idea IMHO, in quanto rischi di guastare irrimediabilmente il sistema. Per completezza, puoi postare l'output di

```

emerge --info

```

e

```

gcc-config -l

```

?

----------

## alexbgl

emergendo libtool con il nuovo CHOST va tutto a buon fine.

```

gcc-config -l

 [1] i486-pc-linux-gnu-4.1.1 *

emerge --info

Portage 2.1.2.7 (default-linux/x86/2007.0, gcc-4.1.1, glibc-2.5-r0, 2.6.20-gentoo-r8 i686)

=================================================================

System uname: 2.6.20-gentoo-r8 i686 Celeron (Coppermine)

Gentoo Base System release 1.12.9

Timestamp of tree: Wed, 23 May 2007 16:30:09 +0000

distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]

dev-lang/python:     2.4.3-r4

dev-python/pycrypto: 2.0.1-r5

sys-apps/sandbox:    1.2.17

sys-devel/autoconf:  2.61

sys-devel/automake:  1.10

sys-devel/binutils:  2.16.1-r3

sys-devel/gcc-config: 1.3.14

sys-devel/libtool:   1.5.22

virtual/os-headers:  2.6.17-r2

ACCEPT_KEYWORDS="x86"

AUTOCLEAN="yes"

CBUILD="i686-pc-linux-gnu"

CFLAGS="-O2 -march=i686 -mmmx -msse -pipe -fomit-frame-pointer"

CHOST="i686-pc-linux-gnu"

CONFIG_PROTECT="/etc"

CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo"

CXXFLAGS="-O2 -march=i686 -mmmx -msse -pipe -fomit-frame-pointer"

DISTDIR="/usr/portage/distfiles"

FEATURES="distlocks metadata-transfer sandbox sfperms strict"

GENTOO_MIRRORS="http://mirror.switch.ch/ftp/mirror/gentoo"

MAKEOPTS="-j2"

PKGDIR="/usr/portage/packages"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

SYNC="rsync://192.168.0.1/gentoo-portage"

USE="acl berkdb bitmap-fonts cli cracklib crypt cups dri fortran gdbm gpm iconv ipv6 isdnlog libg++ midi mmx mudflap ncurses nls nptl nptlonly openmp pam pcre perl pppd python readline reflection session spl sse ssl tcpd truetype-fonts type1-fonts unicode x86 xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="apm ark chips cirrus cyrix dummy fbdev glint i128 i740 i810 imstt mach64 mga neomagic nsc nv r128 radeon rendition s3 s3virge savage siliconmotion sis sisusb tdfx tga trident tseng v4l vesa vga via vmware voodoo"

Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY

```

Cmq non è che guasto molto perchè gentoo l'ho appena installata, quindi non perdo molto dopotutto.

----------

