Merci Archlinux pour la glibc 2.36…

J’adore Archlinux – sinon cela ne ferait pas 13 ans que je l’utilise en démarrage simple – même avec ses travers comme d’avoir certaines technologies un peu à l’avance.

Il y a bientôt 12 ans, j’avais piqué une colère avec l’arrivée de Python 3.0 en avance sur le reste du doucéreux monde des distributions GNU/Linux.

Plus récemment, c’est l’arrivée de la glibc 2.36 qui a provoqué quelques problèmes. Un en relation avec Qemu corrigé par un patch que j’ai rajouté à mon paquet AUR qemu-git. Mais le bug le plus laxatif – de mon point de vue – c’est un bug qui bloque la compilation de Mozilla Firefox et Mozilla Thunderbird.

C’est ainsi que j’ai rapporté un bug. Au début j’ignorais que c’était en relation avec la glibc 2.36, penchant plus pour un bug du compilateur utilisé, clang.

Quelle ne fut pas ma surprise quand j’appris que c’était un bug lié à la glibc. Côté importance du bug, on tape dans le lourd.

Bien qu’au moment où j’écris cet article, les deux patchs correctifs ne sont pas encore intégrés dans le code source de Mozilla Firefox, cela montre qu’il n’y a pas de petits bugs… Après il y aura des personnes qui par fainéantise ou par un niveau d’anglais trop faible ne rapporte pas des bugs. Cela est dommageable.

En vrac rapide et libre de fin de semaine.

Pour finir cette semaine, un petit en vrac’ rapide et libre.

C’est tout pour aujourd’hui ! Bon samedi !

Petite leçon d’utilisation d’Archlinux : Ne jamais forcer une mise à jour…

Il est une règle d’or sur Archlinux : il ne faut jamais forcer la main à pacman. S’il veut pas faire une mise à jour, faut l’écouter. D’ailleurs, c’est vrai pour les autres distributions.

L’exemple parfait est une énorme connerie que j’ai fait cet après-midi. Une nouvelle version de test de la glibc 2.16 était disponible. Or une des nouveautés de cette version, c’est le remplacement de /lib par un lien symbolique vers /usr/lib, surement pour une raison lié à systemd.

Ayant un logiciel qui avait installé des liens dans le répertoire /lib, la mise à jour a raté, car un logiciel y avait laissé des petits… J’ai commis l’erreur de forcer la mise à jour, ce qui m’a planté en beauté le système, le noyau ne retrouvant plus ses petits.

J’ai commis une deuxième erreur : ouvrir un bug alors que j’avais fait la connerie. Après une remontée de bretelles justifiée, ayant eu une meilleure idée, celle de poster sur la liste arch-general, j’ai eu la solution par Tom Gundersen. Petite note préliminaire : à n’appliquer que si vous ne pouvez pas faire autrement. Je ne garantis pas qu’elle fonctionnera partout.

Je la donne ici, histoire de pouvoir être utile à des personnes ayant le même problème. Il faut avoir une clé ou un CD-RW avec une ISO d’archlinux, l’idéal étant une archboot récente. On démarre dessus, et on quitte l’installateur.

Il faut monter la partition root – dans mon cas /dev/sda5 – sous /mnt


mount /dev/sda5 /mnt

Ensuite, on entre dans /mnt, et on vire /lib.


cd /mnt
rm -rf /lib

Et enfin, on applique le lien qui permet de solutionner le problème.


ln -sf /usr/lib lib

Et tout ce merdier à cause d’un paquet – je pensais au début à yaourt, mais finalement, non, c’était kvm-git (vilain paquet !) qui m’avait laissé quelques règles dans /lib/udev :/

En tout cas, j’en ai été bon pour une sacrée claque et une frayeur que je ne suis pas prêt d’oublier. Morale de l’histoire : ne pas forcer une mise à jour, et lire les notes de publications avec minutie. Même si je sens que le passage de la glibc 2.16 sur Archlinux en version stable ne sera pas de tout repos.