Outils personnels
Vous êtes ici : Accueil Linux Gentoo Utilisation d'une Gentoo - Problèmes/Solutions - FAQ 22 - "git-1.7.3.4-r1 failed" - MàJ du 02/01/2011
Navigation
Se connecter


Mot de passe oublié ?
 

22 - "git-1.7.3.4-r1 failed" - MàJ du 02/01/2011

Par Freecrazy - Dernière modification 08/01/2011 09:07

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 :

git-1.7.3.4 Mise à Jour du 02/01/2011

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 :

git-1.7.3.4-r1 libcurl.so error

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.

Actions sur le document