# [RISOLTO] Reinstallazione pacchetti di world

## caio

Ciao,

rieccomi con un nuovo problema fresco fresco di creazione.

Stavo provando ad ottimizzare il sistema provando i consigli contenuti in  questo ottimo  howto, ma devo aver canato qualcosa così ora non va più nulla.

Dopo aver installato prelink, ho aggiunto la FLAG "pic" al make.conf come suggerito  nella guida  ufficiale gentoo, e già che c'ero ho aggiunto pure queste flag al CFLAGS come suggerito nella stessa guida:

```
 "-fforce-addr -funroll-loops -falign-functions=4 -ffast-math -fprefetch-loop-arrays".
```

A questo punto ho lanciato il mio buon

```
emerge --update --deep --newuse world
```

ed è iniziata la compilazione.

Dopo aver compilato glibc il mio sistema è passato alla compilazione di libsdl che ha fallito con questo errore

```
rm: relocation error: /usr/lib/libsandbox.so: symbol realpath, version GLIBC_2.3 not defined in file libc.so.6 with link time reference

make[3]: *** [SDL_mixer_m68k.lo] Error 1

make[3]: Leaving directory `/var/tmp/portage/libsdl-1.2.8-r1/work/SDL-1.2.8/src/audio'

make[2]: *** [all-recursive] Error 1

make[2]: Leaving directory `/var/tmp/portage/libsdl-1.2.8-r1/work/SDL-1.2.8/src/audio'

make[1]: *** [all-recursive] Error 1

make[1]: Leaving directory `/var/tmp/portage/libsdl-1.2.8-r1/work/SDL-1.2.8/src'

make: *** [all-recursive] Error 1

!!! ERROR: media-libs/libsdl-1.2.8-r1 failed.

!!! Function src_compile, Line 143, Exitcode 2

!!! emake failed

!!! If you need support, post the topmost build error, NOT this status message.
```

Da questo momento in avanti è stato un dramma   :Rolling Eyes: 

Ho provato a rilanciare l'aggiornamento ottenendo questo errore:

```
painkiller ~ # emerge --update --deep --newuse world

/usr/bin/python: relocation error: /usr/X11R6/lib/libpython2.4.so.1.0: symbol realpath, version GLIBC_2.3 not defined in file libc.so.6 with link time reference

```

da qui in poi ottenevo questo errore anche con altri eseguibili, come ad esempio con mozilla e firefox.

Allora mi è venuto il dubbio che fosse stato prelink a creare problemi con le librerie, per cui ne ho lanciato l'undo:

```
painkiller ~ # prelink --all

prelink: /opt/sancho/sancho-bin: Could not find one of the dependencies

prelink: /usr/bin/glxgears: Cannot prelink against non-PIC shared library /usr/X11R6/lib/libGL.so.1

prelink: /usr/bin/mplayer: Cannot prelink against non-PIC shared library /usr/X11R6/lib/libGL.so.1

```

Da qui in poi continuo ad ottenere sempre lo stesso errore, qualunque comando lancio da shell:

```
painkiller ~ # env-update

/usr/bin/python: relocation error: /usr/X11R6/lib/libpython2.4.so.1.0: symbol realpath, version GLIBC_2.3 not defined in file libc.so.6 with link time reference

painkiller ~ # equery list glibc

/usr/bin/python: relocation error: /usr/X11R6/lib/libpython2.4.so.1.0: symbol realpath, version GLIBC_2.3 not defined in file libc.so.6 with link time reference

```

Tanto per migliorare le cose a questo punto sono andato in /urs/lib e ho creato e disfato un po di collegamenti alla libc.so.6 che non esisteva, poi in /usr/X11R6/lib/ e in preda alla follia ho cancellato la libc.so.6, e da li ho cominciato ad ottenere questo output strano con qualunque comando.

Qui di seguito ci sono i comandi che ho lanciato e l'output che ottengo con tutti i comandi da shell:

```

painkiller ~ # ln -s /usr/lib/libc.so.5 /usr/lib/lib.so.6

painkiller ~ # ls -la /usr/lib/libc.so.6

ls: /usr/lib/libc.so.6: No such file or directory

painkiller ~ # ls

2.6.11-deb  82.56.13.10  amule-cvs-2.ebuild  bookmarks.html  colorfilters  xorg.conf.new

painkiller ~ # ln -s /usr/lib/libc.so.5 /usr/lib/lib.so.6

libc.so.5

painkiller ~ # ln -s /usr/lib/libc.so.5 /usr/lib/libc.so.6

painkiller ~ # ls -la /usr/lib/libc.so.6

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by ls)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by ls)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by ls)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by ls)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by ls)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by ls)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/librt.so.1)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/librt.so.1)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/librt.so.1)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/librt.so.1)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/librt.so.1)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/librt.so.1)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libncurses.so.5)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libncurses.so.5)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libncurses.so.5)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libncurses.so.5)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libpthread.so.0)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libpthread.so.0)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libpthread.so.0)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libpthread.so.0)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libpthread.so.0)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libpthread.so.0)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libpthread.so.0)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libgpm.so.1)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libgpm.so.1)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libgpm.so.1)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libgpm.so.1)

ls: relocation error: /lib/libgpm.so.1: symbol __cxa_finalize, version GLIBC_2.1.3 not defined in file libc.so.6 with link time reference

painkiller ~ # emerge

/usr/bin/python: /usr/X11R6/lib/libc.so.6: no version information available (required by /usr/bin/python)

/usr/bin/python: /usr/X11R6/lib/libc.so.6: no version information available (required by /usr/X11R6/lib/libpython2.4.so.1.0)

/usr/bin/python: /usr/X11R6/lib/libc.so.6: no version information available (required by /usr/X11R6/lib/libpython2.4.so.1.0)

/usr/bin/python: /usr/X11R6/lib/libc.so.6: no version information available (required by /usr/X11R6/lib/libpython2.4.so.1.0)

/usr/bin/python: /usr/X11R6/lib/libc.so.6: no version information available (required by /usr/X11R6/lib/libpython2.4.so.1.0)

/usr/bin/python: /usr/X11R6/lib/libc.so.6: no version information available (required by /usr/X11R6/lib/libpython2.4.so.1.0)

/usr/bin/python: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libpthread.so.0)

/usr/bin/python: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libpthread.so.0)

/usr/bin/python: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libpthread.so.0)

/usr/bin/python: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libpthread.so.0)

/usr/bin/python: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libpthread.so.0)

/usr/bin/python: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libpthread.so.0)

/usr/bin/python: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libpthread.so.0)

/usr/bin/python: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libdl.so.2)

/usr/bin/python: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libdl.so.2)

/usr/bin/python: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libdl.so.2)

/usr/bin/python: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libdl.so.2)

/usr/bin/python: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libutil.so.1)

/usr/bin/python: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libutil.so.1)

/usr/bin/python: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libutil.so.1)

/usr/bin/python: /usr/X11R6/lib/libc.so.6: no version information available (required by /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libstdc++.so.5)

/usr/bin/python: /usr/X11R6/lib/libc.so.6: no version information available (required by /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libstdc++.so.5)

/usr/bin/python: /usr/X11R6/lib/libc.so.6: no version information available (required by /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libstdc++.so.5)

/usr/bin/python: /usr/X11R6/lib/libc.so.6: no version information available (required by /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libstdc++.so.5)

/usr/bin/python: /usr/X11R6/lib/libc.so.6: no version information available (required by /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libstdc++.so.5)

/usr/bin/python: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libm.so.6)

/usr/bin/python: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libm.so.6)

/usr/bin/python: /usr/X11R6/lib/libc.so.6: no version information available (required by /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libgcc_s.so.1)

/usr/bin/python: /usr/X11R6/lib/libc.so.6: no version information available (required by /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libgcc_s.so.1)

/usr/bin/python: /usr/X11R6/lib/libc.so.6: no version information available (required by /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libgcc_s.so.1)

/usr/bin/python: relocation error: /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libgcc_s.so.1: symbol __cxa_finalize, version GLIBC_2.1.3 not defined in file libc.so.6 with link time reference

painkiller ~ # rm /usr/lib/libc.so

libc.so    libc.so.5  libc.so.6  

painkiller ~ # rm /usr/lib/libc.so.6

rm: /usr/X11R6/lib/libc.so.6: no version information available (required by rm)

rm: /usr/X11R6/lib/libc.so.6: no version information available (required by rm)

rm: /usr/X11R6/lib/libc.so.6: no version information available (required by rm)

rm: /usr/X11R6/lib/libc.so.6: no version information available (required by rm)

rm: /usr/X11R6/lib/libc.so.6: no version information available (required by rm)

Inconsistency detected by ld.so: do-lookup.h: 113: do_lookup_x: Assertion `version->filename == ((void *)0) || ! _dl_name_match_p (version->filename, map)' failed!

painkiller ~ # rm /usr/lib/lib.so.  

lib.so.5  lib.so.6  

painkiller ~ # rm /usr/lib/lib.so.6

rm: /usr/X11R6/lib/libc.so.6: no version information available (required by rm)

rm: /usr/X11R6/lib/libc.so.6: no version information available (required by rm)

rm: /usr/X11R6/lib/libc.so.6: no version information available (required by rm)

rm: /usr/X11R6/lib/libc.so.6: no version information available (required by rm)

rm: /usr/X11R6/lib/libc.so.6: no version information available (required by rm)

Inconsistency detected by ld.so: do-lookup.h: 113: do_lookup_x: Assertion `version->filename == ((void *)0) || ! _dl_name_match_p (version->filename, map)' failed!

painkiller ~ # ls -la /usr/lib/libc.so.

libc.so.5  libc.so.6  

painkiller ~ # ls -la /usr/lib/libc.so.5

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by ls)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by ls)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by ls)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by ls)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by ls)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by ls)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/librt.so.1)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/librt.so.1)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/librt.so.1)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/librt.so.1)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/librt.so.1)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/librt.so.1)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libncurses.so.5)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libncurses.so.5)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libncurses.so.5)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libncurses.so.5)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libpthread.so.0)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libpthread.so.0)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libpthread.so.0)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libpthread.so.0)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libpthread.so.0)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libpthread.so.0)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libpthread.so.0)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libgpm.so.1)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libgpm.so.1)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libgpm.so.1)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libgpm.so.1)

ls: relocation error: /lib/libgpm.so.1: symbol __cxa_finalize, version GLIBC_2.1.3 not defined in file libc.so.6 with link time reference

painkiller ~ # rm -f /usr/lib/libc.so.6 

rm: /usr/X11R6/lib/libc.so.6: no version information available (required by rm)

rm: /usr/X11R6/lib/libc.so.6: no version information available (required by rm)

rm: /usr/X11R6/lib/libc.so.6: no version information available (required by rm)

rm: /usr/X11R6/lib/libc.so.6: no version information available (required by rm)

rm: /usr/X11R6/lib/libc.so.6: no version information available (required by rm)

Inconsistency detected by ld.so: do-lookup.h: 113: do_lookup_x: Assertion `version->filename == ((void *)0) || ! _dl_name_match_p (version->filename, map)' failed!

painkiller ~ # ls -la /usr/lib/libc.so.6

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by ls)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by ls)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by ls)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by ls)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by ls)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by ls)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/librt.so.1)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/librt.so.1)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/librt.so.1)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/librt.so.1)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/librt.so.1)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/librt.so.1)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libncurses.so.5)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libncurses.so.5)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libncurses.so.5)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libncurses.so.5)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libpthread.so.0)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libpthread.so.0)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libpthread.so.0)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libpthread.so.0)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libpthread.so.0)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libpthread.so.0)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libpthread.so.0)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libgpm.so.1)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libgpm.so.1)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libgpm.so.1)

ls: /usr/X11R6/lib/libc.so.6: no version information available (required by /lib/libgpm.so.1)

ls: relocation error: /lib/libgpm.so.1: symbol __cxa_finalize, version GLIBC_2.1.3 not defined in file libc.so.6 with link time reference
```

Ragazzi sono disperato, datemi una mano perchè ho paura anche a riavviare che non vorrei che poi non va più nulla.    :Shocked: 

P.S. I programmi che erano i esecuzione funzionano ancora, e se provo ad attivare un servizio (es samba) non ci sono problemi.Last edited by caio on Mon Mar 20, 2006 4:05 pm; edited 2 times in total

----------

## .:chrome:.

ottimo howto? gli ottimi howto sono tali solo se li si sa usare

 *Quote:*   

> -falign-functions=4 -ffast-math -fprefetch-loop-arrays

 

tu sai cosa fanno queste tre opzioni insieme?

se lo sapessi non avresti avuto questo problema.

in particolare, per quanto riguarda -ffast-math, ricordo la storia di un dev che ha detto ad un utente di non azzardarsi mai più a fare una segnalazione su bugzilla se nel suo make.conf c'è quella roba.

il tuo problema non credo abbia soluzione semplice, dal momento che non è possible operare nessun tipo di chroot.

l'unico modo che hai per ripristinare a colpo sicuro è sovrascrivere la tua installazione con uno stage3. se qualcuno ha idee migliori si faccia avanti.

d'altronde non hai nessuna possibilità di eseguire niente, quindi nemmeno chroot dal liveCd funzionerebbe.

la prossima volta pensa se guadagnare 1/2 secondo al boot vale avere il sistema sputtanato

EDIT: per la cronaca, funziona e continuerà a funzionare tutto quello che non è stato ricompilato con quelle opzioni assurde. c'è solo il problema non insignificante che con delle libc compilate così dubito che il tuo sistema possa fare ancora un boot

potresti cavartela abbastanza indolore usando uno stage2, RIPRISTINANDO DELLE FLAG DECENTI, e con un emerge -e world (salva prima il file world).

a scanso di equivoci posta il tuo emerge info

----------

## caio

 *k.gothmog wrote:*   

> ottimo howto? gli ottimi howto sono tali solo se li si sa usare
> 
>  *Quote:*   -falign-functions=4 -ffast-math -fprefetch-loop-arrays 
> 
> tu sai cosa fanno queste tre opzioni insieme?
> ...

 

No, infatti riconosco di non essere stato un genio ad aggiungere le flags senza essermi letto tutto il fottuto manuale su cosa implicassero tra loro.

Certo è che se nessuno linkasse delle pagine di suggerimento con certe informazioni , quoto dalla pagina:

 *Quote:*   

> Someone reported having a system working with no problem on an Athlon XP 2000+ with :
> 
> Athlon XP 2000+
> 
> CFLAGS="-march=athlon-xp -m3dnow -msse -mfpmath=sse -mmmx -O3 
> ...

 

nessuno farebbe cacchiate.

Si certo c'è anche scritto che lo si fa a proprio rischio e pericolo, quindi non voglio dare la colpa a nessuno e mi prendo la responsabilità, è solo x dire che non ho fatto le cose completamente a caso   :Confused: 

 *Quote:*   

> il tuo problema non credo abbia soluzione semplice, dal momento che non è possible operare nessun tipo di chroot.
> 
> l'unico modo che hai per ripristinare a colpo sicuro è sovrascrivere la tua installazione con uno stage3. se qualcuno ha idee migliori si faccia avanti.
> 
> d'altronde non hai nessuna possibilità di eseguire niente, quindi nemmeno chroot dal liveCd funzionerebbe.

 

cazzo, ma non c'è modo ad esempio di sostituire i files creati dalla compilazione di glibc con quelli ad es. del cd live?

 *Quote:*   

> la prossima volta pensa se guadagnare 1/2 secondo al boot vale avere il sistema sputtanato

 

si certo che ci penserò, ma non smetterò nemmeno di fare prove un po azzardanti perchè altrimenti mi priverei di tutto il divertimento offerto da questo mondo. Magari documentandomi un po di più prima   :Rolling Eyes: 

 *Quote:*   

> EDIT: per la cronaca, funziona e continuerà a funzionare tutto quello che non è stato ricompilato con quelle opzioni assurde. c'è solo il problema non insignificante che con delle libc compilate così dubito che il tuo sistema possa fare ancora un boot

 

Beh l'unica cosa che ho compilato con queste flags è stata la libc, nient'altro.

 *Quote:*   

> potresti cavartela abbastanza indolore usando uno stage2, RIPRISTINANDO DELLE FLAG DECENTI, e con un emerge -e world (salva prima il file world).
> 
> a scanso di equivoci posta il tuo emerge info

 

Scusa ma non mi è chiaro cosa intendi.

Dici di rifare un'installazione da stage 2, cioè boot da live cd, modifico le flags e poi?

In questo modo perdo tutto ciò che ho installato sul sistema?

Il mio emerge info è sempre quello dell'altra volta solo che in più ci sono quelle stupide flags su CFLAGS, lo copio dall'altro thread perchè ora purtroppo non posso lanciare il comando

```

painkiller ~ # emerge info

Portage 2.0.51.22-r3 (default-linux/x86/2005.0, gcc-3.3.6, glibc-2.3.5-r2, 2.6.12-gentoo-r6 i686)

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

System uname: 2.6.12-gentoo-r6 i686 AMD Athlon(tm)

Gentoo Base System version 1.6.13

dev-lang/python:     2.3.5-r2, 2.4.2

sys-apps/sandbox:    1.2.12

sys-devel/autoconf:  2.13, 2.59-r6

sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1

sys-devel/binutils:  2.15.92.0.2-r10

sys-devel/libtool:   1.5.20

virtual/os-headers:  2.6.11-r2

ACCEPT_KEYWORDS="x86"

AUTOCLEAN="yes"

CBUILD="i686-pc-linux-gnu"

CFLAGS="-O3 -pipe -march=athlon-xp -fomit-frame-pointer"

CHOST="i686-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control"

CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"

CXXFLAGS="-O3 -pipe -march=athlon-xp -fomit-frame-pointer"

DISTDIR="/usr/portage/distfiles"

FEATURES="autoconfig distlocks sandbox sfperms strict"

GENTOO_MIRRORS="http://www.die.unipd.it/pub/Linux/distributions/gentoo-sources/"

LINGUAS="it en"

MAKEOPTS="-j2"

PKGDIR="/usr/portage/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

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

USE="3dfx 3dnow X alsa apm arts audiofile avi berkdb bitmap-fonts bzip2 cdr crypt cups curl dga directfb divx4linux dvd dvdr eds emboss encode esd ethereal exif expat fam fbcon ffmpeg flac foomaticdb fortran ftp gd gdbm gif glut gpm gstreamer gtk gtk1 gtk2 idn imagemagick imlib ipv6 java jpeg junit kde kdeenablefinal kdexdeltas lcms libg++ libwww lm_sensors mad matroska mikmod mmx mng motif mozilla mp3 mpeg msn ncurses nls ogg oggvorbis opengl oss pam pcre pdflib perl php png ppds python qt qtmt quicktime readline recode samba sdl spell ssl svg svga tcltk tcpd tiff truetype truetype-fonts type1-fonts udev unicode usb vorbis win32codecs wxwindows x86 xine xlib xml xml2 xmms xv xvid zlib linguas_it linguas_en userland_GNU kernel_linux elibc_glibc"

Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, PORTDIR_OVERLAY
```

----------

## .:chrome:.

 *caio wrote:*   

> Certo è che se nessuno linkasse delle pagine di suggerimento con certe informazioni , quoto dalla pagina:
> 
>  *Quote:*   Someone reported having a system working with no problem on an Athlon XP 2000+ with :
> 
> Athlon XP 2000+
> ...

 

resta il problema... se non si conosce il significato delle flag si sta camminando alla cieca in un campo minato.

se proprio vuoi ottimizzare ci sono molte altre strade. questa non è l'unica possibilità.

comuque se vuoi una spiegazione delle flag, è molto semplice: man gcc  :Wink: 

 *caio wrote:*   

> cazzo, ma non c'è modo ad esempio di sostituire i files creati dalla compilazione di glibc con quelli ad es. del cd live?

 

uhm... non so... la vedo grigia

suppongo che sovrascrivendo con uno stage2 dovresti minimizzare il danno, però non ne sono del tutto certo

 *caio wrote:*   

> si certo che ci penserò, ma non smetterò nemmeno di fare prove un po azzardanti perchè altrimenti mi priverei di tutto il divertimento offerto da questo mondo. Magari documentandomi un po di più prima   

 

bene... ADESSO hai capito perfettamente qual'è lo spirito giusto  :Smile: 

 *caio wrote:*   

>  *Quote:*   EDIT: per la cronaca, funziona e continuerà a funzionare tutto quello che non è stato ricompilato con quelle opzioni assurde. c'è solo il problema non insignificante che con delle libc compilate così dubito che il tuo sistema possa fare ancora un boot 
> 
> Beh l'unica cosa che ho compilato con queste flags è stata la libc, nient'altro.
> 
>  *Quote:*   potresti cavartela abbastanza indolore usando uno stage2, RIPRISTINANDO DELLE FLAG DECENTI, e con un emerge -e world (salva prima il file world).
> ...

 

allora... parti da CD, salvi il file world, scarichi uno stage2 e lo spacchetti sopra la tua installazione

se non ho perso completamente la testa, stage2 è quello che si ha alla fine del bootstrap, quindi ti fornisce glibc e ambiente base, che è quello che a te si è corrotto.

io spero che così tu possa avere un sistema quantomeno usabile.

a questo punto, se riesci a fare chroot, sei a posto. non ti resterebbe che ripristinare il tuo file world e fare un emerge -e system, ovviamente dopo aver messo a posto make.conf, con delle flag più conservative

----------

## caio

 *k.gothmog wrote:*   

> 
> 
> allora... parti da CD, salvi il file world, scarichi uno stage2 e lo spacchetti sopra la tua installazione
> 
> se non ho perso completamente la testa, stage2 è quello che si ha alla fine del bootstrap, quindi ti fornisce glibc e ambiente base, che è quello che a te si è corrotto.
> ...

 

cavolo speriamo funzioni.

Mi basta il cd minimale visto che la rete mi funge vero?

Quindi ok non dovrei perdere nulla in questo modo...speriamo speriamo.

Quindi dopo aver bootato mi reco in /mnt/gentoo che avrò montato prima, mi scarico ad esempio  questo file, lo scompatto in / (giusto?) con tar xvjpf stage2-athlon-xp-2005.1.tar.bz2, mi chrootto in /mnt/gentoo (chroot /mnt/gentoo/ /bin/bash) e se ce l'ho fatta lancio l'emerge.

Tutto ok?

----------

## .:chrome:.

teoricamente è tutto corretto

ricorda di salvarti /var/lib/portage/world, prima di iniziare a spacchettare lo stage in /mnt/gentoo

----------

## caio

 *k.gothmog wrote:*   

> teoricamente è tutto corretto
> 
> ricorda di salvarti /var/lib/portage/world, prima di iniziare a spacchettare lo stage in /mnt/gentoo

 

ok vado, e che Dio me la mandi buona   :Exclamation: 

Grazie 1000 per ora, concittadino   :Wink: 

----------

## .:chrome:.

 *caio wrote:*   

> concittadino  

 

oooh... ma che bello trovare i vicini di casa  :Smile: 

----------

## caio

Niente.

Allora ieri notte prima di andare a dormire lancio la compilazione di system come avevamo detto, dopo il primo pacchetto il tutto si impianta restituendomi lo stesso errore delle Glibc.

E da li emerge non andava più.

Allora riscompatto lo stage2 in / e lancio la compilazione della glibc, che va a buon fine.

Poi rilancio la compilazione di system, e sembra tutto ok, e vado a nanna   :Razz: 

Stamattina mi sveglio con un bell'errore in compilazione su qualche pacchetto strano di perl (text qualcosa).

La mia domanda a questo punto è:

visto che se rilancio emerge -e system ricomincia daccapo con i suoi 108 pacchetti, non c'è un modo per continuare la compilazione in modo indolore e non dover ricominciare?

Altre soluzioni?

----------

## randomaze

 *caio wrote:*   

> visto che se rilancio emerge -e system ricomincia daccapo con i suoi 108 pacchetti, non c'è un modo per continuare la compilazione in modo indolore e non dover ricominciare?

 

```
emerge --resume --skipfirst
```

dovrebbe fare al caso tuo...

----------

## caio

Niente da fare.

Riavvio, monto, mi chrootto, lancio l'emerge e dopo qualche decina di secondi di controlli mi spara uno 

```
[portage-2.0.51.22-r2] bash: /usr/lib/portage/bin/ebuild.sh: No such file or directory

!!!FAILED postrm: 127
```

Uffa.

La lancio li...

E se sovrascrivessi con uno stage 3e poi ricompilassi tutto successivamente?

Riuscirei comunque a mantenere tutto il resto del software e dei file di configurazione che ho installato?

[EDIT]

ho riavviato e ripetuto la procedura, stavolta appena mi chrootto mi dice 

```
chroot: cannot run command '/bin/bash': Not a directory
```

e il comando emerge non esiste più   :Shocked: 

----------

## randomaze

 *caio wrote:*   

> ho riavviato e ripetuto la procedura, stavolta appena mi chrootto mi dice 
> 
> ```
> chroot: cannot run command '/bin/bash': Not a directory
> ```
> ...

 

Apparentemente stai invertendo i parametri del chroot.

----------

## caio

Mi sembra strano ma incasinato come sono potrebbe anche essere.

Purtroppo ora non posso più accedere al pc fino a venerdì, per cui ne riparliamo questo fine settimana.

Grazie cmq per ora

----------

## .:chrome:.

 *caio wrote:*   

> Mi sembra strano ma incasinato come sono potrebbe anche essere.
> 
> Purtroppo ora non posso più accedere al pc fino a venerdì, per cui ne riparliamo questo fine settimana.
> 
> Grazie cmq per ora

 

calma e sangue freddo. non iniziare ad andare già di testa se no è finita

come ha detto randomaze fai attenzione a quello che scrivi: non sbagliare le sintassi.

per il tuo errore, poi preparati un pacchetto precompilato con portage

----------

## yardbird

 *k.gothmog wrote:*   

> ottimo howto? gli ottimi howto sono tali solo se li si sa usare
> 
>  *Quote:*   -falign-functions=4 -ffast-math -fprefetch-loop-arrays 
> 
> tu sai cosa fanno queste tre opzioni insieme?
> ...

 

Bah... quelle flag sono strippate dall'ebuild di glibc o sbaglio?

 *glibc.ebuild wrote:*   

>         # Over-zealous CFLAGS can often cause problems.  What may work for one
> 
>         # person may not work for another.  To avoid a large influx of bugs
> 
>         # relating to failed builds, we strip most CFLAGS out to ensure as few
> ...

 

Dubito il problema stia lÃ¬...

----------

## caio

 *k.gothmog wrote:*   

> 
> 
> per il tuo errore, poi preparati un pacchetto precompilato con portage

 

di cosa me lo creo il pacchetto?

----------

## caio

ok, sono davanti al pc incasinato.

Come detto sopra se mi chrootto dopo aver montato la directory mi da un errore, forse sopra per la fretta avevo sbagliato a copiarlo, cmq l'output è questo:

```
gentoo# chroot /mnt/gentoo /bin/bash

bash: grep: command not found
```

e poi mi restituisce un terminale senza colori in root@livecd / in cui non trovo il comando emerge.

Che fare? Riscompatto lo stage 2 e riprovo la compilazione?

----------

## caio

Yuhu...c'è + nessuno che mi da una mano?

----------

## .:chrome:.

```
gentoo# chroot /mnt/gentoo /bin/bash

bash: grep: command not found
```

mi pare chiaro, no? non trova grep.

era capitato anche a me qualcosa di simile: un bel giorno mi è comparsa una USE="pcre" tra i make.defaults (si è scoperto poi essere stato un errore di commit da parte di un dev) e grep non funzionava più.

prendi una copia di grep da una tua installazione, o anche dal liveCD e poi metti "-pcre" tra le USE di make.conf

----------

## .:chrome:.

```
gentoo# chroot /mnt/gentoo /bin/bash

bash: grep: command not found
```

mi pare chiaro, no? non trova grep.

era capitato anche a me qualcosa di simile: un bel giorno mi è comparsa una USE="pcre" tra i make.defaults (si è scoperto poi essere stato un errore di commit da parte di un dev) e grep non funzionava più.

prendi una copia di grep da una tua installazione, o anche dal liveCD e poi metti "-pcre" tra le USE di make.conf

poi fai un emerge --resume

----------

## caio

 *k.gothmog wrote:*   

> 
> 
> ```
> gentoo# chroot /mnt/gentoo /bin/bash
> 
> ...

 

ok, ma come ho detto non trovo nemmeno il binario di emerge, quindi come faccio a compilare?

----------

## .:chrome:.

 *caio wrote:*   

> ok, ma come ho detto non trovo nemmeno il binario di emerge, quindi come faccio a compilare?

 

cazzarola... mi era sfuggito

metodo brutale: prendi un pc funzionante, fai un quickpkg di quello che ti serve e poi prendi il pacchetto e lo estrai nel tuo sistema.

intendiamoci: è una pezza per evitare di rifare tutto da capo. non è una soluzione pulita

cerca di risolvere "in qualche modo" e poi daiun emerge -e, quando avrai il sistema funzionante

----------

## caio

Avevo un pizzico fretta di ritirarla su perchè se non riesco entro domani pomeriggio poi devo ancora aspettare fino a venerdi per poterlo fare, per cui ho riprovato spartanamente estraendo per l'ennesima volta lo stage2 e rilanciando la compilazione.

Ovviamente si è inchiodato per l'ennesima volta su un pacchetto diverso (questa volta su perl-gettext, spero non sia importante), allora sperando utopisticamente sia uno dei pochi errori che avrò ho rilanciato il resume di emerge dicendogli di saltare il pacchetto che ha dato errore (--skipfirst) e ora speriamo che arrivi alla fine.

[CUT]

[/CUT]Last edited by caio on Sun Nov 27, 2005 1:12 pm; edited 1 time in total

----------

## caio

bene, sono riuscito a portare a termine la compilazione del sistema, e il pc viene "per modo di dire" su.

Certo che se avessi saputo che i principali file di configurazione venivano sovrascritti (fstab, xorg.conf, ecc...) me ne sarei di sicuro fatto una copia.

[EDIT]

[/EDIT]

risolto il problema login, ora vediamo se riesco a ripristinare il mio utente principale senza sovrascriverne la directory home.

Il passo successivo per tornare alla condizione iniziale qual'è? emerge sync && emerge -uD world?

----------

## .:chrome:.

fai un ls in /home e vedi a quale UID appartengono i tuoi vecchi file. a questo punto basta che crei un utente con lo stesso UID e sei a posto.

se il sistema così funziona non ti resta che fare i lavori di finitura e sei a posto

----------

## caio

 *k.gothmog wrote:*   

> fai un ls in /home e vedi a quale UID appartengono i tuoi vecchi file. a questo punto basta che crei un utente con lo stesso UID e sei a posto.
> 
> se il sistema così funziona non ti resta che fare i lavori di finitura e sei a posto

 

ok grazie.

Cmq alla faccia dei lavori di rifinitura, qui la tastiera è configurata all'americana, X non parte, ci sono tutti i moduli di snd del kernel caricati, la scheda di rete anche se carico il modulo non viene riconosciuta, ecc....devo dedurre che tutti i file di configurazione in /etc sono stati sovrascritti e che quindi mi devo riconfigurare tutto e ricompilare il kernel?   :Shocked:   :Shocked: 

----------

## .:chrome:.

credo sia stata sovrescritta solo la configurazione dei moduli. dovrebbe bastarti sistemare quella

----------

## caio

si, c'erano un po di altri file (rc.conf, shadow, fstab) ma dovrei aver sistemato quasi tutto.

Ho aggiornato portage, e tutto il sistema con emerge --update --deep world, sperando di aver risolto.

Ma adesso non parte più X, e, ironia della sorte, l'errore è ancora quello legato alla /usr/lib/libc.so.6 che avevo eliminato o rilinkato a mano (non ricordo di preciso).

Infatti se cerco di avviare X da utente normale, ottengo una serie di errori come questo:

```
dcop: /usr/lib/libc.so.6: no version information available (required by /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libgcc_s.so.1)
```

e richiesta da molte altre librerie.

Prima di morire poi mi da

```
dcop: relocation error: /lib/libm.so.6: symbol __cxa_finalize, version GLIBC_2.1.3 not defined in file libc.so.6 with link time reference
```

Se provo a lanciare X da root ottengo più o meno lo stesso errore, legato sempre alla GLIBC, alla /lib/libm.so.6 e alla /usr/lib/libc.so.6.

Ho provato a lanciare la ricompilazione di kdebase e kdelibs ma fallisce dopo poco con gli stessi errori circa.

 Qui c'è il log  della ricompilazione fallita della kdelibs.

Idee?

----------

## caio

Niente cavolo, ho lanciato un emerge -e world, ha compilato 2-3 ore e adesso si è impiantato con 

```
rm: /usr/lib/libc.so.6: no version information available (required by /usr/lib/libsandbox.so)

rm: relocation error: /lib/libdl.so.2: symbol_libc_intl_domainname, version GLIBC_2.0 not defined in file libc.so.6 with time reference
```

Nessuno ha idea di come risolvere?!??!   :Crying or Very sad: 

----------

## .:chrome:.

premetto che sto andando a tentoni, ma proverei un emerge -e glibc

hai delle opzioni particolari per il linker?

----------

## caio

 *k.gothmog wrote:*   

> premetto che sto andando a tentoni, ma proverei un emerge -e glibc
> 
> hai delle opzioni particolari per il linker?

 

l'ho lanciato, ora vediamo se arriva alla fine.

Ma poi se lancio ancora emerge --resume riesco ancora a recuperare la ricompilazione precedente di tutto il sistema o devo rilanciarla da 0?

Per il linker intendi qualche impostazione in make.conf alla voce LDFLAGS?

Se è questo no, non è impostata nel make.conf.

Però quel giorno in cui è successo il casino (come scritto all'inizio del thread) avevo installato prelink, non so se questo potrebbe creare problemi..

----------

## neryo

 *caio wrote:*   

>  *k.gothmog wrote:*   premetto che sto andando a tentoni, ma proverei un emerge -e glibc
> 
> hai delle opzioni particolari per il linker? 
> 
> l'ho lanciato, ora vediamo se arriva alla fine.
> ...

 

devi rilanciarlo da 0.. resume vale per l'ultima volta che hai usato emerge

----------

## caio

 *neryo wrote:*   

> 
> 
> devi rilanciarlo da 0.. resume vale per l'ultima volta che hai usato emerge

 

eh lo sospettavo purtroppo, ero arrivato al 70esimo pacchetto su 470 circa   :Shocked: 

speriamo che ora vada però...

----------

## caio

niente, ho compilato glibc con l'opzione -e, poi ho provato a rilanciare un "emerge kdebase" che era una di quelle che mi dava problemi con la libm.so.6, x vedere se era scomparso l'errore libc ma mi da cmq errore.   :Confused: 

----------

## caio

per essere sicuro stanotte ho rilanciato la compilazione prima di andare a dormire e come immaginavo stamattina ho scoperto che si era bloccato di nuovo al 70esimo pacchetto sulla libcurl a causa di un errore della solita libc.

Altree idee prima di reinstallare tutto da 0 ?   :Crying or Very sad: 

----------

## caio

non mi lasciate solo con la mia broken distro!   :Crying or Very sad: 

nessun'altra idea?

----------

## Cazzantonio

Caio se sei stato l'ultimo a postare puoi editare il tuo ultimo post per aggiungere qualcosa... non importa creare nuovi post ogni volta...

grazie

----------

## CRV§ADER//KY

 *k.gothmog wrote:*   

> ottimo howto? gli ottimi howto sono tali solo se li si sa usare
> 
>  *Quote:*   -falign-functions=4 -ffast-math -fprefetch-loop-arrays 
> 
> tu sai cosa fanno queste tre opzioni insieme?
> ...

 

per la cronaca, AFAIK è solo -ffast-math a essere un'opzione "cattiva"... le altre due sono persino attivate di default con -O2

sbaglio?

----------

## caio

 *Cazzantonio wrote:*   

> Caio se sei stato l'ultimo a postare puoi editare il tuo ultimo post per aggiungere qualcosa... non importa creare nuovi post ogni volta...
> 
> grazie

 

hai ragione...scusate   :Embarassed: 

Però se non posto nuovi messaggi il messaggio rimane dov'è e il thread non lo guarda più nessuno...   :Crying or Very sad:   :Wink: 

----------

## Cazzantonio

[quote="caio"] *Cazzantonio wrote:*   

> Però se non posto nuovi messaggi il messaggio rimane dov'è e il thread non lo guarda più nessuno...   

 

Si è vero, puoi uppare se sono passate almeno 23 ore...

Scusa ma avevo letto male la data e pensavo fossero post immediatamente successivi)

----------

## caio

Ok.

Allora ho aggiornato positivamente GCC alla 3.4.4 come da wiki, e da li ho ricompilato system con l'opzione -e (tutto ok, niente errori).

Allora ho lanciato una bella compilazione di world (sempre con -e) e come l'altra volta mi si ferma dopo un po (su net-misc/curl-7.15.0 ) con lo stesso errore di sempre "libc.so.6: no version information available".

Allora ho ricompilato pure la glib ma se ricompilo curl mi da sempre lo stesso errore.

Controllato libc.so.6 ed ho visto che punta a /lib/libc-2.3.5.so,  è corretto?

Se reinstallassi uno stage 3 (considerando che l'ho gia fatto con il 2) secondo voi risolverei?

----------

## PioniereElfico

Caio, secondo le mie più recondite idee invece di passare interminabili giorni in compilazione risolverei tutto segando via la gentoo e ricominciando da zero con delle flag sicure   :Cool:  non è bello avere i programmi che puntano dove non devono.

Baci cari

----------

## caio

Spinto da un irrefrenabile desiderio di masochismo ho scompattato uno stage 3 e poi ho ricompilato system, ovviamente ottenendo lo stesso errore di sempre.

A questo punto veramente stanco, ho segato via tutto e reinstallato da 0 con stage 3.

Mi sono salvato tutta la /etc, ed alla prima reinstallazione gliel'ho risbatutta dentro pensando che così avrei mantenuto anche i miei files di configurazione; purtroppo questo mi ha portato a dover ripetere il procedimento, perchè qualunque comando lanciassi dopo aver fatto la sostituzione mi dava un errore su una shared library (libstdcc++.so.5).

Rifatto il tutto (x l'ennesima volta), ho semplicemente provveduto a sostituire il file /var/lib/portage/world con quello vecchio che avevo sulla distro rotta, che contiene l'elenco di tutto il software che mi serve e che non ho voglia di installare pacchetto x pacchetto.

La cosa strana però è che se lancio un emerge -p world i pacchetti che ci sono dentro non vengono considerati; se faccio emerge -ep la stessa cosa.

Ho copiato il file anche in /var/cache/edb/world come spiegato nella guida, ma non cambia nulla.

Come faccio a dirgli di reinstallare tutto ciò che avevo? (considerate anche che ho fatto un sostanziale cambiamento al make.conf)

Un'altra cosa...nella mia vecchia distro avevo un po di servizi che partivano al boot...è possibile ricopiarli dentro in init.d e dirgli in qualche modo di aggiungerli come erano prima?

----------

## makoomba

```
cat vecchioworld | xargs emerge
```

----------

## caio

 *makoomba wrote:*   

> 
> 
> ```
> cat vecchioworld | xargs emerge
> ```
> ...

 

ottimo, grazie 1000   :Very Happy: 

Avendo appena aggiornato gcc alla 3.4.4 (e avendo però gia anche ricompilato system e world) è cmq meglio se gli do un -e ad emerge o va bene liscio senza parametri?

----------

## makoomba

se hai già ricompilato system, non è necessario il -e

tutti i nuovi pacchetti verranno emersi con il nuovo toolchain

----------

## caio

 *makoomba wrote:*   

> se hai già ricompilato system, non è necessario il -e
> 
> tutti i nuovi pacchetti verranno emersi con il nuovo toolchain

 

ok perfetto, grazie   :Smile: 

----------

