# [upgrade] souci passage de gcc-4.5.4 à gcc-4.6.3 [resolu]

## bpier

Lors de la dernière mise à jour de ma gentoo, gcc-4.5.4 a été upgradé vers gcc-4.6.3. C'est la première fois que je suis confronté à une MAJ majeure de gcc. J'ai donc fait un emerge --depclean, virer gcc-4.5.4, puis fait un gcc-config -l pour choisir le profil du nouveau $GHOST afin de prendre en compte gcc-4.6.3. Enfin, j'ai fait un emerge -eav system, puis un emerge -eav world.

Je précise que sont installés sur ma distrib les paquets Arduino et crossdev / avr, pour pouvoir compiler sur Arduino. 

Cela étant dit, l'upgrade me laisse perplexe : pas mal de paquets ne répondent plus, comme par exemple gnome-terminal. J'ai beau le lancer, rienne se passe. Ce n'est pas le seul paquet dans ce cas. Alors, comment résoudre ce problème ? Merci Pierre

----------

## guilc

 *bpier wrote:*   

> Enfin, j'ai fait un emerge -eav system, puis un emerge -eav world.

 

C'était inutile. Un simple "fix_libtool_files.sh 4.5.4" suffisait pour les quelques packages qui hardcodent des paths de gcc. M'enfin bon, pas grave ta méthode prend juste plus de temps  :Mr. Green: 

 *Quote:*   

> Cela étant dit, l'upgrade me laisse perplexe : pas mal de paquets ne répondent plus, comme par exemple gnome-terminal. J'ai beau le lancer, rienne se passe. Ce n'est pas le seul paquet dans ce cas. Alors, comment résoudre ce problème ? Merci Pierre

 

C'est un peu vague. Il manque des infos pour deviner ce qui se passe.

Aucun message d'erreur au lancement ? C'est un peu étonnant. Si aucun message, que donne la sortie de "strace gnome-terminal" par exemple ?

----------

## bpier

 *Quote:*   

> C'est un peu vague. Il manque des infos pour deviner ce qui se passe. 
> 
> Aucun message d'erreur au lancement ? C'est un peu étonnant. Si aucun message, que donne la sortie de "strace gnome-terminal" par exemple ?

 

Non, aucun message d'erreur dans le terminal (LXTerminal), rien, nada. Etant au boulot à l'heure qu'il est (eh oui, je bosse ce dimanche), je regarde ce midi (à l'heure du repas) ce donne un ps ax. Pour voir.

EDIT => test du midi (12h) : gnome-terminal se lance, parfait ; qjackctl aussi. J'ai néanmoins sur gnome-terminal, un message d'erreur, celui-là : 

 *Quote:*   

> /usr/bin/make_services: error while loading shared libraries: libobjc.so.2: cannot open shared object file: No such file or directory
> 
> /usr/bin/gdnc: error while loading shared libraries: libobjc.so.2: cannot open shared object file: No such file or directory

 

Faudra que je résolve ça. Mais ce n'est pas gagné. Car j'ai fait un revdep-rebuild --library libobjc.so.2, ça a lancé une compilation qui a planté au premier paquet :  gnustep-base/gnustep-base....  :Embarassed:  Mais mon problème ressemble à ça : https://forums.gentoo.org/viewtopic-t-935474-start-0.html. Je regarderai ce soir. Mais d'ici là si quelqu'un a eu problème similaire, je suis preneur de conseil. D'autant que le seul fichier que j'ai dans /usr/lib/gcc/i686xxx/4.6.3/, c'est libobjc.so.3

Voilà le résultat d'un gcc-config -l sur ma bécane : http://www.bruynooghe.fr/public/divers/Arduino_Gentoo/Capture-root_bpier_-home-bpier.png

NOUVEL EDIT => J'ai recompilé sys-devel/gcc-4.6.3 et cross-avr/gcc-4.6.3, voilà le résultat :

 *Quote:*   

> * Messages for package sys-devel/gcc-4.6.3:
> 
>  * 
> 
>  * LTO support is still experimental and unstable.
> ...

 

Et puis à l'issue d'un revdep-rebuild :

 *Quote:*   

> 
> 
> /usr/lib/libgnustep-gui.so: undefined reference to `object_getClass'
> 
> collect2: ld a retourné 1 code d'état d'exécution
> ...

 

Bref, ça échoue sur la compilation de gnustep-gui-0.22.0. Apparemment, je ne suis pas le seul.

EDIT ET RESOLUTION => J'ai fini par virer tous les paquets gnustep, fait un nettoyage (en fait un rm /usr/lib/GNUstep/Bundles/Cddb.bundle/Resources/Info-gnustep.plist), puis j'ai relancé la compilation de gnustep-base, gnustep-gui, etc. 

Tout s'est installé correctement. Enfin, en lançant un eix-sync, puis emerge --update --newuse --deep --with-bdeps=y @world, emerge a recompilé sys-devel/gcc-4.6.3 et cross-avr/gcc-4.6.3. Pour bétonner, j'ai bouclé le tout en tapant en console et en # un ./fix_libtool_files.sh 4.6.3 dans /usr/share/gcc-data/i686-pc-linux-gnu/4.6.3/. Dernier point : un revdep-rebuild se chargera de recompiler gnustep-libs/cddb qui restait attaché à libobjc.so.2. Voilà. Je mets un [résolu] sur ce post.

----------

