Gentoo, GCC, libtool
Par dJeyL, lundi 28 mars 2005 à 00:27 :: Geekitudes :: #16 :: rss
Je n'ai pas vu une seule machine sous Gentoo subsister récemment à une mise à jour de GCC.
Alors je mets la solution ici, pour Fef qui a eu le problème et que j'ai "résolu" très salement, et pour pouvoir retomber dessus une fois que le cas se représentera et que j'aurai totalement oublié comment le corriger. 
Le problème intervient après une mise à jour de GCC, tant en ACCEPT_KEYWORDS=x86 qu'en ~x86.
Symptôme : un emerge se chie dessus en disant que libtool ne trouve pas le fichier libstdc++.la dans /usr/lib/gcc/arch/version/.
Mettons qu'on (ou emerge tout seul comme un grand après un emerge world) a upgradé GCC de la version 3.3.4, architecture i686-pc-linux-gnu, à la version 3.3.5, architecture i386-pc-linux-gnu : libtool va se plaindre qu'il ne trouve pas /usr/lib/gcc/i686-pc-linux-gnu/3.3.4/libstdc++.la et c'est bien normal.
La solution ? Un petit script magique dénommé fix_libtool_files.sh, qui appelle lui-même un script awk (/lib/rcscripts/awk/fixlafiles.awk), qui part à la recherche de références "en dur" à certains fichiers GCC.
Et qui s'invoque de la façon suivante, dans notre cas : fix_libtool_files.sh 3.3.5 --oldarch i686-pc-linux-gnu ("--oldarch truc" étant optionnel si ça n'a pas changé lors de l'upgrade).
Voilà voilà. Soit ce billet n'aura pas (ou très peu) de commentaires, soit ils seront totalement à côté de la plaque. 
Commentaires
1. Le lundi 28 mars 2005 à 02:23, par L'eau rend homme
2. Le lundi 28 mars 2005 à 02:48, par Slaash
3. Le lundi 28 mars 2005 à 02:51, par dJeyL
4. Le lundi 28 mars 2005 à 03:26, par Sherif
5. Le lundi 28 mars 2005 à 21:51, par fef
6. Le mercredi 15 juin 2005 à 07:36, par Alex
Ajouter un commentaire