# [HOWTO] Correggere problemi al passaggio da gcc3.3 a 3.4

## motaboy

Cominciano a proliferare i casi da incasinamente da passaggio da gcc 3.3 a gcc 3.4 (come era successo col passaggio da gcc 3.1 a 3.2)

Il problema fondamentale si ha coi programmi scritti in C++. Infatti la libstdc++ é passatta dalla versione 5 (libstdc++.so.5)  alla versione 6 (libstdc++.so.6). Queste due versioni non sono compatibili tra loro e in alcuni casi possono dare problemi del tipo crash incapibili, comportamenti strani etc...

Alcuni mi hanno chiesto: "Ma allora a cosa serve la librerie di compatibilitá libstdc++-v3" ? quella serve per eseguire programmi compilati col gcc 3.3 senza che noi lo vogliamo installato (infatti la libstdc++ viene fornita dal gcc).

Il problema nasce quando si mischiano versioni differenti della libstdc++ nello stesso programma.

Esempio:

Io ho una libreria scritta in C++ che a suo tempo ho compilato con gcc 3.3 (linkato perció a libstdc++.so.5).

Adesso aggiorno il sistema e mi viene installato il gcc 3.4, poi compilo (quindi con gcc 3.4) un programma che si linka a tale libreria. Avró perció questo programma linkato all libstdc++.so.6 (quella del gcc 3.4) ma anche ad una libreria che invece é linkata a libstdc++.so.5. Questo puó creare grandi casini.

Parlando coi developers sul canale #gentoo-dev mi hanno detto che la soluzione definitiva é un bel

```

emerge -e world

```

ma a me sembra un pó drastica visto che cosi si ricompila veramente tutto, certamente é sicura.

Perció, parlando anche con altri developer ho pensato che una buona soluzione potrebbe essere l'utilizzo di revdep-rebuild (in gentoolkit):

```

rm ~/.revdep-rebuild*

revdep-rebuild -X --soname libstdc++.so.5 -p

```

É consigliato/necessario cancellare i file temporanei (con la prima istruzione) ogni volta che si lancia revdep-rebuild. 

in questo modo revdep-rebuild trova tutti i programmi C++ linkati alla vecchia libstdc++.so.5 e li ricompila. L'opzione -p viene passata ad emerge perció in questo caso elencherá solo i programmi. 

Ovviamente prima di cominciare la compilazione assicuratevi che state usando il gcc 3.4 

```

gcc -v

```

altrimenti tutto quello che farete sará inutile. 

Programmi binari come openoffice-bin ( o java, mozilla-bin, doom3 etc...) non hanno motivo di essere reinstallati, l'errore rimarrá comunque ma essendo linkati staticamente non daranno problemi.

N.B. É necessario passare ad emerge TUTTI i pacchetti da ricompilare (non dare emerge per ogni singolo ebuild), visto che anche l'ordine delle dipendenze é importante.

Avviso che non ho potuto fare molti esperimenti visto che non ho un sistema misto gcc 3.3 e 3.4.

Perció consiglierei a tutti quelli che hanno fatto il passaggio da gcc 3.3 a 3.4 e con programmi C++ notano crash prima non esistenti, di provare a lanciare questo script per vedere se hanno librerie vecchie mischiate alle nuove e poi provare a ricompilarle.

Una volta fatto potete provare a rilanciarlo per vedere se effettivamente tutto ha funzionato.

----------

## fedeliallalinea

Ottimo lavoro aggiunto ai post utilissimi sezione howto

----------

## Josuke

ecco un post che mi serviva proprio  :Smile: 

----------

## motaboy

fammi sapere se funziona e che problemi hai. Visto che per testarlo dovrei ricompilare tutto con gcc 3.3 e poi fare il passaggio al 3.4 (ma non ho tempo). Mi sono basato sui vari problemi che ho visto in giro.

----------

## gutter

Davvero un ottimo post   :Very Happy: 

----------

## federico

A me spara fuori sta roba ma non capisco molto bene che voglia dire :

```

All prepared. Starting rebuild...

emerge --oneshot --nodeps -p =app-admin/fam-2.7.0-r1 =app-arch/rar-3.4.0 =app-cdr/k3b-0.11.17 =app-crypt/kgpg-1.0.0 =app-editors/scite-1.6.1 =app-office/abiword-2.0.11 =app-office/openoffice-bin-1.1.3 =app-text/aspell-0.50.5 =app-text/enchant-1.1.2 =app-text/ghostscript-7.07.1-r7 =app-text/html2text-1.3.2 =app-text/openjade-1.3.2-r1 =app-text/opensp-1.5-r1 =app-text/sablotron-1.0.1 =dev-db/mysql-4.0.21 =dev-java/blackdown-jdk-1.4.2 =dev-java/blackdown-jre-1.4.1 =dev-libs/DirectFB-0.9.20-r1 =dev-libs/libmix-2.05 =dev-libs/pwlib-1.6.6 =dev-perl/sdl-perl-1.20.3 =dev-python/wxpython-2.4.2.4 =dev-util/gperf-3.0.1 =games-arcade/frozen-bubble-1.0.0-r3 =games-simulation/simutrans-0.84.16.2 =gnome-base/gnome-vfs-2.8.1 =kde-base/arts-1.2.3 =kde-base/kdebase-3.1.4 =kde-base/kdebase-3.3.1 =kde-base/kdelibs-3.2.3 =kde-base/kdelibs-3.3.1 =media-gfx/imagemagick-6.1.0.1 =media-libs/faad2-2.0-r3 =media-libs/ladspa-sdk-1.12-r2 =media-libs/lcms-1.13 =media-libs/libdv-0.102 =media-libs/libmovtar-0.1.3-r1 =media-libs/libsdl-1.2.7-r3 =media-libs/sdl-gfx-2.0.11 =media-libs/sdl-image-1.2.3-r1 =media-libs/sdl-mixer-1.2.5-r1 =media-libs/sdl-ttf-2.0.6 =media-libs/smpeg-0.4.4-r4 =media-plugins/xmms-nebulus-0.6.0 =media-sound/ardour-0.9_beta19-r1 =media-video/avifile-0.7.38.20030710-r1 =media-video/ffmpeg-0.4.9_pre1 =media-video/mjpegtools-1.6.2-r3 =media-video/mplayer-1.0_pre5-r4 =media-video/realplayer-bin-10.0.1.436 =media-video/streamdvd-0.4-r1 =media-video/transcode-0.6.12-r2 =net-dialup/wvdial-1.54.0 =net-ftp/kbear-2.1.1 =net-im/gnomemeeting-1.0.2 =net-libs/openh323-1.13.5 =net-print/gnome-cups-manager-0.23 =net-wireless/kismet-cvs-3.1.0 =net-www/khttrack-0.10 =net-www/links-2.1_pre15 =net-www/mozilla-firefox-1.0_pre-r2 =net-www/mplayerplug-in-2.66 =net-www/opera-7.54 =sys-libs/db-4.2.52_p2 =sys-libs/lib-compat-1.3 =x11-libs/qt-2.3.2-r1 =x11-libs/wxGTK-2.4.2-r1 

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

Calculating dependencies |

emerge: there are no ebuilds to satisfy "=app-crypt/kgpg-1.0.0".

Result is not OK, you have following choices:

- if emerge failed during build, fix the problems and re-run revdep-rebuild

    or

- use -X or --package-names as first argument (try to rebuild package, not exact

  ebuild - ignores SLOT!)

    or

- set ACCEPT_KEYWORDS="~<your platform>" and/or /etc/portage/package.unmask

  (and remove /root/.revdep-rebuild_fb248503.5_order to be evaluated again)

    or

- modify the above emerge command and run it manually

    or

- compile or unmerge unsatisfied packages manually, remove temporary files and

  try again (you can edit package/ebuild list first)

To remove temporary files, please run:

rm /root/.revdep-rebuild*.?_*

altair ~ #

```

EDIT  : kgpg e' uscito dal portage per nn so quale ragione e mi blocca tutto mi pare di capire... ora lo tolgo visto che tanto l'ho usato mezza volta...

----------

## motaboy

Si, quelli sono tutti i programmi compilati col vecchio gcc.

Ovviamente tu devi avere impostato come gcc da usare adesso il 3.4 altrimenti non cambia nulla se li ricompili.

P.S. Ma hai avuto vari crash strani di qualcuno dei programmi elencati?

----------

## federico

A dire il vero non ho mai avuto strani crash di quei programmi ma mi pareva simpatico passare tutti i programmi che lo necessitavano al 3.4

----------

## motaboy

Ho modificato il post superiore consigliando di passare anche l'opzione -X a revdep-rebuild. cosi non forza la versione.

Dovrebbe essere meglio in teoria...

----------

## Manuelixm

Io mi trovo proprio in questa situazione, a volte la barra inferiore e la barra superiore di kde senza motivo sparivano e a volte anche klipper andava in crash senza motivo.

Ho notato che sono effettivamente passato dal gcc 3.3 al 3.4, quindi potrei proprio essere in questa situazione. 

Ho dato questo comando:

```

rm ~/.revdep-rebuild*

```

ma mi ha restituito errore, perchè non avevo installato gentoolkit probabilmente, quindi ho emerso gentoolkit che non avevo.

Ho dato questo comando:

```

revdep-rebuild -X --soname libstdc++.so.5 -p

```

e il pc ha cominciato a runnare, alla fine mi ha restituito un'infinità di righe con queste dipendenze:

```

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

Calculating dependencies ...done!

[ebuild   R   ] sys-apps/groff-1.18.1-r4

[ebuild   R   ] x11-misc/ttmkfdir-3.0.9-r2

[ebuild   R   ] x11-base/xorg-x11-6.8.0-r1

[ebuild   R   ] dev-lang/perl-5.8.4-r1

[ebuild   R   ] app-admin/fam-2.7.0

[ebuild   R   ] app-arch/rar-3.3.0

[ebuild   R   ] dev-libs/libsigc++-1.2.5

[ebuild   R   ] dev-cpp/gtkmm-2.2.12

[ebuild   R   ] dev-cpp/gconfmm-2.0.2

[ebuild   R   ] dev-cpp/libgnomecanvasmm-2.0.1

[ebuild   R   ] dev-cpp/libglademm-2.0.1

[ebuild   R   ] dev-db/mysql-4.0.21

[ebuild   R   ] gnome-base/gnome-vfs-2.6.1.1

[ebuild   R   ] dev-cpp/libgnomemm-2.0.1

[ebuild   R   ] dev-cpp/libgnomeuimm-2.0.0

[ebuild   R   ] app-cdr/cdrdao-1.1.8

[ebuild   R   ] media-libs/id3lib-3.8.3-r3

[ebuild   R   ] x11-libs/qt-3.3.3

[ebuild   R   ] kde-base/arts-1.3.0

[ebuild   R   ] app-crypt/mit-krb5-1.3.4

[ebuild   R   ] app-text/ghostscript-7.07.1-r7

[ebuild   R   ] kde-base/kdelibs-3.3.0

[ebuild   R   ] dev-java/blackdown-jdk-1.4.1

[ebuild   R   ] kde-base/kdebase-3.3.0

[ebuild   R   ] media-libs/netpbm-10.20

[ebuild   R   ] dev-libs/DirectFB-0.9.20-r1

[ebuild   R   ] media-libs/libsdl-1.2.7-r2

[ebuild   R   ] media-libs/libmovtar-0.1.3-r1

[ebuild   R   ] media-libs/faad2-2.0-r3

[ebuild   R   ] sys-libs/lib-compat-1.4

[ebuild   R   ] media-video/avifile-0.7.41.20041001

[ebuild   R   ] media-libs/libdv-0.99-r1

[ebuild   R   ] media-libs/libquicktime-0.9.2_pre1

[ebuild   R   ] media-video/mjpegtools-1.6.2-r3

[ebuild   R   ] media-video/mpeg2vidcodec-12-r1

[ebuild   R   ] media-gfx/imagemagick-6.0.7.1

[ebuild   R   ] media-video/transcode-0.6.11

[ebuild   R   ] app-cdr/k3b-0.11.17

[ebuild   R   ] app-crypt/qca-tls-1.0

[ebuild   R   ] app-doc/doxygen-1.3.8

[ebuild   R   ] app-office/openoffice-bin-1.1.3

[ebuild   R   ] app-text/aspell-0.50.5-r4

[ebuild   R   ] app-text/enchant-1.1.3

[ebuild   R   ] app-text/opensp-1.5-r1

[ebuild   R   ] app-text/openjade-1.3.2-r1

[ebuild   R   ] app-text/xpdf-3.00-r3

[ebuild   R   ] dev-libs/gmp-4.1.3

[ebuild   R   ] dev-python/pyopengl-2.0.0.44

[ebuild   R   ] dev-util/kdevelop-3.1.0

[ebuild   R   ] kde-base/kdepim-3.3.0

[ebuild   R   ] media-libs/taglib-1.2

[ebuild   R   ] media-libs/musicbrainz-2.1.1

[ebuild   R   ] media-libs/tunepimp-0.3.0

[ebuild   R   ] kde-base/kdemultimedia-3.3.0

[ebuild   R   ] kde-base/kdeaddons-3.3.0

[ebuild   R   ] kde-base/kdeadmin-3.3.0

[ebuild   R   ] kde-base/kdeartwork-3.3.0

[ebuild   R   ] kde-base/kdebindings-3.2.0

[ebuild   R   ] kde-base/kdegames-3.3.0

[ebuild   R   ] kde-base/kdegraphics-3.3.0-r1

[ebuild   R   ] kde-base/kdenetwork-3.3.0

[ebuild   R   ] kde-base/kdesdk-3.3.0

[ebuild   R   ] kde-base/kdetoys-3.3.0

[ebuild   R   ] kde-base/kdeutils-3.3.0

[ebuild   R   ] media-libs/flac-1.1.0-r2

[ebuild   R   ] media-libs/sdl-image-1.2.3

[ebuild   R   ] media-libs/smpeg-0.4.4-r4

[ebuild   R   ] media-libs/sdl-mixer-1.2.5-r1

[ebuild   R   ] media-libs/xine-lib-1_rc6

[ebuild   R   ] media-plugins/xmms-kde-3.1_beta1

[ebuild   R   ] x11-libs/fltk-1.1.4

[ebuild   R   ] media-sound/alsa-tools-1.0.6

[ebuild   R   ] media-video/mplayer-1.0_pre4-r7

[ebuild   R   ] media-video/kmplayer-0.8.2

[ebuild   R   ] net-libs/wvstreams-3.70-r2

[ebuild   R   ] net-dialup/wvdial-1.53-r1

[ebuild   R   ] net-misc/smb4k-0.4.1a

[ebuild   R   ] net-www/mozilla-firefox-bin-1.0_pre-r1

[ebuild   R   ] x11-libs/gtkglarea-1.99.0

Now you can remove -p (or --pretend) from arguments and re-run revdep-rebuild.

```

E' tutto ok? Posso procedere?

----------

## motaboy

Si, basta che togli la -p dal revdep-rebuild e lui dovrebbe ricompilarti tutto (con un pó di pazienza).

Ovviamente controlla che 

```

gcc -v

```

ritorni gcc 3.4.x

----------

## Manuelixm

Sì già fatto, mi ritorna questo:

```

$ gcc -v

Reading specs from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/specs

Configured with: /var/tmp/portage/gcc-3.3.4-r1/work/gcc-3.3.4/configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/3.3 --includedir=/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3/info --enable-shared --host=i686-pc-linux-gnu --target=i686-pc-linux-gnu --with-system-zlib --enable-languages=c,c++ --enable-threads=posix --enable-long-long --disable-checking --disable-libunwind-exceptions--enable-cstdio=stdio --enable-version-specific-runtime-libs --with-gxx-include-dir=/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/g++-v3 --with-local-prefix=/usr/local --enable-shared --enable-nls --without-included-gettext --disable-multilib --enable-__cxa_atexit --enable-clocale=generic

Thread model: posix

gcc version 3.3.4 20040623 (Gentoo Linux 3.3.4-r1, ssp-3.3.2-2, pie-8.7.6)

```

quindi tutto ok, posso contribuire facendo qualcosa?

Altrimenti procedo.

Complimenti motaboy, ottimo howto.

----------

## motaboy

In questo momento tu stai usando il 3.3.4, quindi non servirebbe a niente. 

Sei sicuro di avere compilato qualcosa col 3.4? Per vederlo puoi dare revdep-rebuild ma mettendo il 6 al post del 5 nella libstdc++, se ti ritorna qualche pacchetto allora hai compilato qualche programma in C++ col 3.4

----------

## Cazzantonio

```

........ (una sfilza infinita di pacchetti che al solo pensiero di dover ricompilare mi prende malissimo)...........

Cleaning list of packages to rebuild... done.

  (/root/.revdep-rebuild_fb248503.5_packages)

Evaluating package order...

Warning: Failed to resolve package order.

Will merge in "random" order!

Possible reasons:

- Some ebuilds are no more in portage tree.

- Some ebuilds are masked, try to change ACCEPT_KEYWORDS="~<your platform>"

  and/or use /etc/portage/package.unmask

.....ln: accessing `/root/.revdep-rebuild_fb248503.4_ebuilds': No such file or directory

 done.

  (/root/.revdep-rebuild_fb248503.5_order)

cat: /root/.revdep-rebuild_fb248503.5_order: No such file or directory

There are no dynamic links to libstdc++.so.5... All done. 
```

Che significa?

----------

## Manuelixm

Esatto, come dicevi tu motaboy, non ho compilato nulla con il 3.4  :Sad:  , quindi i miei problemi risiedono altrove, ma posso comunque ricompilare tutto col 3.4?

[EDIT]

Scusate ho capito ora tutto, dimenticavo un 3, invece del 3.4 capivo 3.3.4, scusatemi infinitamente, ignoratemi. :Embarassed:   :Embarassed:   :Embarassed: 

[/EDIT]

----------

## .:deadhead:.

 *Cazzantonio wrote:*   

> <snip>
> 
> There are no dynamic links to libstdc++.so.5... All done. [/code]
> 
> Che significa?

 Hey, copione, è successo anche a me. Ma devo ammetterlo, io l'ho fatto sapendo consciamente di NON avere GCC 3.4 [uso il fido 3.3.4]

Cmq il risultato non mi garba:  *motaboy wrote:*   

>  trova tutti i programmi C++ linkati alla vecchia libstdc++.so.5

  così fscendo sembra che non abbia nulla di linkato, e non è vero.

Oppure un'uscita così strana è da imputare all'errore avuto in precedenza?

Se la vista non mi ha ingannato l'unico pacchetto con cui ha rognato era gpgme o qualcosa di simile relativo a gpg...

qulacuno ha idee che possano illuminare?

----------

## motaboy

quell'output li non lo capisco, infatti  proprio per il fatto che non avete programmi compilati col gcc 3.4 dovrebbe mostrarvi un sacco di ebuilds da ricompilare.

Potete fornirmi l'output intero del revdep-rebuild, ricordatevi prima di cancellare i files temporanei. grazie.

----------

## .:deadhead:.

Tra poco spero di poterti dare l'output. Cmq potrebbe esser migliorato dal punto di vista dell'interazione con l'utente. Se lanciato senza parametri si lancia al lavoro. -h --help non danno output ma lo fan partire al lavoro... man revdep-rebuild mi fa apparire una man che dice, hey, chi fa la man di sto pacchetto?

OT

la tua sorpresa quando arriverà? O ci farai aspettare fino a natale?

/OT

----------

## motaboy

ma a me -h e --help funzionano.

----------

## .:deadhead:.

Adesso anche a me... boh, magari sbagliavo qualche cosa: la stanchezza  :Rolling Eyes: 

```

revdep-rebuild -X --soname libstdc++.so.5 -p

Checking reverse dependencies...

Packages containing binaries and libraries using given shared object name,

will be recompiled.

[32;01mCollecting system binaries and libraries...[0;0m using existing /root/.revdep-rebuild.1_files.

[32;01mChecking dynamic linking...[0;0m
```

cutto perchè l'output era davvero troppo. Grazie motaboy.

----------

## motaboy

deve essere un bug di revdep-rebuild che non riesce a mettere gli ebuild in ordine e va in sbattimento.

Dovresti comunque trovare la lista nel file

/root/.revdep-rebuild_fb248503.5_packages

ovviamente i numeri cambiano, questo sono quelli di Cazzantonio.

perció puoi passare direttamente questi ad emerge.

```

emerge -p `cat /root/.revdep-rebuild_fb248503.5_packages`

```

----------

## Cazzantonio

 *.:deadhead:. wrote:*   

> Hey, copione, è successo anche a me. Ma devo ammetterlo, io l'ho fatto sapendo consciamente di NON avere GCC 3.4 [uso il fido 3.3.4]

 

Scusa... speravo di aver fatto un errore originale questa volta, tanto che pensavo di andare di corsa a brevettarlo    :Laughing: 

@motaboy

I file temporanei me li cancella alla fine del processo fallito (non so perchè)

Per ottenere la lista dei pacchetti che collega a programmi linkati alle vecchie librerie gli ho messo un >pippo davanti e ho fatto passare al filtro il contenuto per eliminare i pacchetti ripetuti

Dopo un rapido controllo (non te li posto... sono 86 pacchetti) mi indica anche dei pacchetti che ho recentemente emerso, dopo l'upgrade

Huston abbiamo un problema?

----------

## motaboy

no, il problema é proprio quello che ho spiegato. devi riemergere prima le librerie incriminate e poi il programma, IN ORDINE, altrimenti la fantomatica libreria libstdc++.so.5 viene a trovarsi linkata anche al programma. Per quello che dico di passare ad emerge tutti i pacchetti e non solo alcuni e poi altri.

----------

## cloc3

Sto provando su ppc G3, dove avevo un sacco di crash inspiegabili in fase di compilazione (soprattutto di kde).

Per adesso, solo grazie.

----------

## Cazzantonio

 *motaboy wrote:*   

> no, il problema é proprio quello che ho spiegato. devi riemergere prima le librerie incriminate e poi il programma, IN ORDINE, altrimenti la fantomatica libreria libstdc++.so.5 viene a trovarsi linkata anche al programma. Per quello che dico di passare ad emerge tutti i pacchetti e non solo alcuni e poi altri.

 

ovvero?

revdep-rebuild mi passa una sfilza lunghissima di pacchetti ripetuti (e talvolta alternati con altra roba in mezzo) spesso del calibro di kdelibs!

Mi ci mette un mese a compilare tutto... faccio prima a cancellare l'hd e ricominciare da capo! (o fregarmene... come del resto farò)

----------

## federico

Basta ho deciso. Lo faccio. E' una pazzia ma posso farlo  :Smile:  Tutto questo solo per appagare il mio bisogno di sistema aggiornato  :Smile:  62 comodi pacchetti tra i quali figurano la maggioranza di ebuild MOSTROSAMENTE GRANDI ... Facciamo macinare un po' sto processore che altrimenti ruba lo stipendio  :Wink: 

----------

## cloc3

 *cloc3 wrote:*   

> Sto provando su ppc G3, dove avevo un sacco di crash inspiegabili in fase di compilazione (soprattutto di kde).
> 
> Per adesso, solo grazie.

 

Motaboy, sei una colonna. Soprattutto mi stupisce la capacità di occuparsi spontaneamente delle questioncine di noi nubbi, da parte di uno sviluppatore che sicuramente ha una quantità di problemi più seri da affrontare.

Comunque. finalmente ho compilato anche kdelibs-3.3.1!!!

Giuro che mi pareva impossibile... Ogni volta, dopo qualche ora abbondante di compilazione, una failure con dichiarazione di errore non riproducibile. Credevo che il mio vecchio Mac fosse sul punto di abbandonarmi, ma non rilevavo segnali di sofferenza nel dmesg.

La cosa strana è che, per prudenza, avevo ricompilato da subito, dopo aver emerso gcc-3.4.1, con emerge -e system tutti i file di sistema e speravo così di essere al riparo dai guai.

Adesso proverò a continuare con le altre routine di kde, e speriamo che il problema fosse tutto lì.

----------

## federico

Ho la compilazione interrotta da un errore ma ora sono fuori casa e nn ho tempo per risolvere, guardo meglio come torno pero' avevo compilato circa 50 pacchetti su 64 .. Dopo mi aspetta openoffice :°

----------

## federico

Allora dopo due giorni di compilazione e due pacchetti che ho unmerso perche' non si compilavano (uno dei due e' wvdial e cerchero' di riemetterlo perche' mi serve) ho un problema.

Alcuni pacchetti nei varii inchiodamenti sono stati riemersi piu' e' piu' volte e comapiono ancora nella lista. Siccome non mi diverto a compilare qt a colpi di 40 minuti per volta 

```

     Mon Sep 13 04:40:44 2004 >>> x11-libs/qt-3.3.3-r1

       merge time: 45 minutes and 1 second.

     Tue Oct 26 14:04:01 2004 >>> x11-libs/qt-3.3.3-r1

       merge time: 37 minutes and 2 seconds.

     Tue Oct 26 23:05:23 2004 >>> x11-libs/qt-3.3.3-r1

       merge time: 37 minutes and 45 seconds.

     Wed Oct 27 09:47:12 2004 >>> x11-libs/qt-3.3.3-r1

       merge time: 41 minutes and 53 seconds.

```

vorrei capire che devo fare... Tutti i pacchetti nella lista sono stati ricompilati gia' dal sistema proposto.

```

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

Calculating dependencies ...done!

[ebuild   R   ] app-arch/rar-3.4.0  

[ebuild   R   ] dev-java/blackdown-jdk-1.4.2  

[ebuild   R   ] app-office/openoffice-bin-1.1.3  

[ebuild   R   ] dev-java/blackdown-jre-1.4.2  

[ebuild   R   ] x11-libs/qt-3.3.3-r1  

[ebuild   R   ] kde-base/arts-1.3.1  

[ebuild   Rf  ] media-video/realplayer-bin-10.0.1.436  

[ebuild   R   ] net-www/opera-7.54  

```

----------

## cloc3

 *federico wrote:*   

> 
> 
> vorrei capire che devo fare... Tutti i pacchetti nella lista sono stati ricompilati gia' dal sistema proposto.
> 
> 

 

Provando dare:

```

revdep-rebuild -X --soname libstdc++.so.5 >out.tx 2>&1

```

Si scopre che revdep, dopo alcuni calcoli, lancia un comando del tipo:

```

emerge --oneshot --nodeps =kde-base/kdepim-3.3.1 =media-libs/musicbrainz-2.1.1 =media-libs/tunepimp-0.3.0 =kde-base/kdemultimedia-3.3.1 =kde-base/kdeaddons-3.3.1 =kde-base/kdeadmin-3.3.1 =kde-base/kdeartwork-3.3.1 ...

```

Dopo il primo problema, ho riutilizzato quel comando, tagliando gli ebuild falliti o già sistemati.

Penso che una cosa analoga si possa fare utilizzando il file rebuild.txt[/code]

----------

## federico

Ma perche' mi ripropone tutti quei pacchetti che ho gia' compilato almeno un paio di volte perche' inizialmente ci credevo a quello che mi diceva?

----------

## federico

Nulla, ho riemerso stanotte ancora quei pacchetti e tutto e' andato a buon fine e stamattina il revdep mi dice che ancora sarebbero da riemergere ma a sto punto penso che mi pigli in giro...

----------

## donno

Dopo aver upgradato a gcc 3.4.3 avevo dei problemi con alcuni programmi che non trovavano libstdc++.so.6:

```
error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
```

l'ho risolto con:

```
gcc-config i686-pc-linux-gnu-3.4.3
```

in quanto il problema era semplicemente che il vecchio profilo era stato cancellato.

Questa è la soluzione che per me ha funzionato, senza dover ricompilare nemmeno un singolo pacchetto.

----------

## ScolaBirra

 *federico wrote:*   

> Nulla, ho riemerso stanotte ancora quei pacchetti e tutto e' andato a buon fine e stamattina il revdep mi dice che ancora sarebbero da riemergere ma a sto punto penso che mi pigli in giro...

 

Il vatto e' che  revdep-rebuild memorizza le dipendenze che calcola perche' ci mette un po' a calcolarle. Prova a dare un

```
rm ~/.revdep-rebuild* 
```

e poi fargliele ricalcolare.

----------

## motaboy

donno: infatti il problema trattato qui é un'altro. come ho spiegato nel primo post.

federico: é per quello che nel primo post dico sempre di cancellare. inoltre hai controllato che stai usando gcc 3.4 quando compili?

----------

## Inc!

thanks for this howto, it was very helpful in my case. seems i couldn't use revdep-rebuild properly to solve the problem myself  :Smile: 

----------

## motaboy

Just curious, what kind of problems did you had? and now, are they solved?

----------

## Fuzzo

 *donno wrote:*   

> Dopo aver upgradato a gcc 3.4.3 avevo dei problemi con alcuni programmi che non trovavano libstdc++.so.6:
> 
> ```
> error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
> ```
> ...

 

Anche io ho risolto perfettamente con il tuo metodo   :Very Happy: 

----------

## motaboy

Infatti questo post e' relativo ad un altro problema come spiegato all'inizio.

----------

