22 - "git-1.7.3.4-r1 failed" - MàJ du 02/01/2011
2 mois sans mettre à jour, c'est normal que je me retrouve avec portage à mettre à niveau, et 223 paquets (ebuild) à upgrader. Dans ce nombre cela aurait été étonnant que je n'en ai pas un qui me pose problème, et ce fût ... git-1.7.3.4-r1
Après mes traditionnelles commandes :
# emerge --sync
pour voir si portage est à mettre à jour (et ici la mise à jour est nécessaire), et un :
# emerge --update --deep world
j'obtiens ce beau message d'erreur :
Une rapide recherche donne ce lien avec une mise à jour de l'ebuild postée ... la veille ! Je télécharge cet ebuild actualisé et je le copie dans son répertoire :
# cp Telechargement/git-1.7.3.4-r1.ebuild /usr/portage/dev-vcs/git/
et je relance la mise à jour de git seul cette fois :
# emerge --update dev-vcs/git
Manifestement pas cela ne suffit pas, la compilation sort toujours en erreur. En regardant de plus près le log, je vois ces lignes :
Donc, libcurl.so ne correspond pas aux attentes. Un peu plus haut on peut lire que libssl.so.0.9.8 et libcrypto.so.0.9.8 sont demandés pour libcurl.so. Or ma version d'openssl qui fournit ces 2 librairies est à la version supérieure 1.0.0 !! D'ailleurs nous avons bien :
/usr/lib/libssl.so --> libssl.so.1.0.0 /usr/lib/libcrypto.so --> libcrypto.so.1.0.0
Bon avant de creuser plus loin, on va s'occuper du reste. Je lance un emerge avec --pretend cette fois pour voir ce que cela pourrait donner, et un --noreplace pour mettre de côté la mise à jour de git :
# emerge --pretend --update --deep --noreplace dev-vcs/git world
En retour il est dit que x11-misc/transset-0.1_pre20040821 n'est plus maintenu et sera supprimé d'ici 30 jours (en attendant il est masqué) cf. aussi bugs.gentoo.org/338150. Je le supprime par un :
# emerge -C x11-misc/transset
Et c'est reparti pour un tour :
# emerge --update --deep --noreplace dev-vcs/git world
Là il me faudra encore attendre un peu, avant que la mise à jour de mes 125 paquets soit terminée. Mise à jour qui se termine encore par l'impossibilité de compiler git ?! Là je ne comprends pas tout, je pense que le --deep à pris le dessus sur le --noreplace.
Minute de réflexion ... si git refuse de compiler c'est à cause de libcurl.so qui n'est pas à la bonne version ... cela ressemble fort à un lien cassé, et sous Gentoo il y a une commande qui existe pour rétablir toutes les dépendances, donc essayons la :
# revdep-rebuild
Et là tout passe !
On boucle bien en relançant :
# emerge --update --deep world # emerge --depclean # revdep-rebuild
et bien sûr on termine par une mise à jour des fichiers de config :
# etc-update
Et mon micro est de nouveau fonctionnel ...
... enfin presque, mon clavier sous X est 'us' ? et le passage en 'fr' est moins facile que je ne le pensais, voir page suivante.