[kernelpanic] Libz.so ELFCLASS32 sur x86_64-gtk (résolu)

Questions et astuces concernant l'installation et la configuration d'archlinux
anxest
Hankyu
Messages : 12
Inscription : dim. 16 déc. 2012, 17:09

[kernelpanic] Libz.so ELFCLASS32 sur x86_64-gtk (résolu)

Message par anxest »

Bonjour,

Lors d'une réparation de guitarpro hier soir, ma machine a reboot et j'ai eu droit à un joli kernelpanic.

Code : Tout sélectionner

/sbin/init: error while loading shared libraries: libz.so.1: wrong ELF class: ELFCLASS32
Je précise que j'utilise un arch x86_64-gtk régulièrement maj, avec une multilib pour me permettre d'utiliser steam et quelques autres programmes en 32b.
Je crois comprendre qu'un raccourci vers libz.so a été modifié quelque part pour choisir par défaut le /lib/lib.z.so à la place du /lib64/lib.z.so qui devrait être celui par défaut pour gtk

Je ne pense pas que ce soit la réparation de guitarpro qui ait provoqué le problème mais peut-être plutôt la mise à jour que j'ai effectué peu de temps avant (ce qui a provoqué une maj de 3 paquets : chromium, gtk3 et gtksourceview3).

Ensuite, en chrootant dedans ce matin à partir d'un live-cd, afin de tenter un pacman -Syu, ou de downgrader le paquet gtk3 qui aurait pu provoquer la situation, j'obtiens l'erreur suivante :

Code : Tout sélectionner

pacman : error while loading shared libraries: libz.so.1: wrong ELF class: ELFCLASS32
C'est cohérent avec l'erreur précédente, mais du coup, je ne sais pas s'il y a une solution pour réparer sans avoir à lancer une réinstall.

Si vous avez des idées ou conseils, je suis preneur :s

[Edit] Après réflexion, ce doit effectivement être la réparation de GuitarPro qui a remplacé le zlib comme un sac sans chercher à comprendre l'environnement... A la base, il n'est pas développé pour Arch, mais cela fait réfléchir sur le comportement des programmes non-libres installés via AUR. Mais il a au moins le mérite d'être sur dispo sur linux...
Dernière modification par anxest le mer. 29 janv. 2014, 19:45, modifié 2 fois.
Linuxien depuis 2010, ArchLinuxien depuis 2013, Geek depuis toujours
Archlinux64 Multilib - GnomeShell 3.16
AMD FM-8350 8 core - MSI GTX760 TF OC (driver propriétaire :s) - 8Go DDR3 - SSD 120Go + HDD 2To
oktoberfest
Maître du Kyudo
Messages : 1855
Inscription : mer. 06 janv. 2010, 13:51
Localisation : Ried - Alsace - France

Re: [kernelpanic] Libz.so ELFCLASS32 sur x86_64-gtk

Message par oktoberfest »

Salut,

si ton pacman est cassé il va falloir s'en passer.
/lib/liz.so doit être un lien symbolique, dans mon cas :

Code : Tout sélectionner

$ ls -l /lib/libz.so
lrwxrwxrwx 1 root root 13 21 oct.  10:39 /lib/libz.so -> libz.so.1.2.8
Que donne alors un file du fichier pointé ? Dans mon cas j'ai :

Code : Tout sélectionner

$ file /lib/libz.so.1.2.8 
/lib/libz.so.1.2.8: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=7212a4c7a99747a95cee8ea4675fb62217ef4626, stripped
Si tu n'as pas un fichier x86_64, tu peux décompresser de ton cache pacman le paquet zlib :

Code : Tout sélectionner

# cd /
# bsdtar xf /var/cache/pacman/pkg/zlib-1.2.8-3-x86_64.pkg.tar.xz
Si cela te permet d'utiliser pacman cela simplifiera les prochaines opérations (un pacman -Syu par exemple).

EDIT : bsdtar utilisant zlib il est probable que cela ne marche pas... Il te faudra alors booter depuis un live-cd, monter ta partition / et décompresser le paquet zlib :

Code : Tout sélectionner

# mount /dev/<ma racine> /mnt
# (Monter /var dans /mnt/var si tu as une partition dédiée)
# cd /mnt
# bsdtar xf /mnt/var/cache/pacman/pkg/zlib-1.2.8-3-x86_64.pkg.tar.xz
La majorité des bugs se situe entre la chaise et le clavier...
Arrêtez de vous prendre la tête avec les partitions... passez au LVM
anxest
Hankyu
Messages : 12
Inscription : dim. 16 déc. 2012, 17:09

Re: [Résolu][kernelpanic] Libz.so ELFCLASS32 sur x86_64-gtk

Message par anxest »

merci pour le coup de main et pardon de n'avoir pas réagi plus vite (si j'avais deviné que la poisse que j'ai eu hier soir allait me suivre toute la journée au boulot, je ne me serais pas levé ce matin... Mais je m'égare).

Quand je file sur le libz, on tourne malheureusement en rond :D :

Code : Tout sélectionner

file /lib/libz.so.1.2.8
file: error while loading shared libraries: libz.so.1: wro,g ELF class : ELFCLASS32
Ensuite, j'ai donc suivi ta méthode pour décompresser zlib (j'ai utilisé l'archive que j'avais encore en mémoire : faut que je fasse un peu de ménage :D), mais utilisé tar -xf (bsdtar n'étant pas disponible pour le live ubuntu que j'ai trouvé dans un tiroir).

La dessus, un reboot et miracle !! Tout roule et gnome démarre sans rien dire :) J'ai pu faire un pacman -Syu, reboot encore pour être sûr, et vraiment, ca tourne parfaitement.

Je ne pensais pas que ca allait fonctionner aussi simplement : "ce serait trop beau !". Arch continue de me surprendre par sa simplicité et son efficacité. Merci beaucoup pour le coup de main et pour la leçon :) (si seulement je pouvais réussir à convaincre mon sysadmin de migrer sur linux !)
Linuxien depuis 2010, ArchLinuxien depuis 2013, Geek depuis toujours
Archlinux64 Multilib - GnomeShell 3.16
AMD FM-8350 8 core - MSI GTX760 TF OC (driver propriétaire :s) - 8Go DDR3 - SSD 120Go + HDD 2To
Répondre