GNU/Linux >> Tutoriels Linux >  >> Arch Linux

Comment réparer l'erreur "pacman:erreur lors du chargement des bibliothèques partagées" dans Arch Linux

Depuis quelques jours, j'ai beaucoup testé PIP et Pipenv outils dans mon système Arch Linux. Lors du test de ces outils, j'ai dû réinstaller et rétrograder les packages Python2.x, Python 3.x et d'autres packages de dépendances Python à plusieurs reprises. À un moment donné, cela a cassé mon Arch Linux et pacman a cessé de fonctionner. Chaque fois que j'exécute pacman, j'obtiens une erreur indiquant "pacman :erreur lors du chargement des bibliothèques partagées :libidn2.so.0 :impossible d'ouvrir le fichier objet partagé :aucun fichier ou répertoire de ce type" .

pacman :erreur lors du chargement des bibliothèques partagées :libidn2.so.0 :impossible d'ouvrir le fichier objet partagé :aucun fichier ou répertoire de ce type

Pas seulement pacman, certaines autres applications, telles que pacaur, yaourt, packer, virtualbox et transmission, etc., ont également cessé de fonctionner. Lorsque j'essaie d'ouvrir l'une de ces applications, je reçois ce message - "erreur lors du chargement des bibliothèques partagées :libidn2.so.0 :impossible d'ouvrir le fichier objet partagé". Il y a de fortes chances que j'aie désinstallé quelque chose dont je ne me souvenais pas. À ma malchance, c'était mon système personnel et je ne veux pas le réinstaller car il a beaucoup d'applications. Ainsi, la réinstallation du système d'exploitation et de toutes les applications peut prendre deux jours ou plus. Après avoir cherché vigoureusement sur le wiki Arch Linux et d'autres forums Linux comme un fou, j'ai finalement réussi à le réparer. Si jamais vous rencontrez un problème comme celui-ci, ne cherchez nulle part, téléchargez simplement le fichier source et copiez le ou les fichiers manquants dans /usr/lib/ dossier. D'après mes recherches sur le Web, cette méthode semble la plus simple jusqu'à présent. Lisez la suite pour savoir comment j'ai corrigé cette erreur.

Corrige l'erreur "pacman :erreur lors du chargement des bibliothèques partagées" dans Arch Linux

Comme je l'ai déjà dit, j'ai continué à recevoir cette erreur - "pacman :erreur lors du chargement des bibliothèques partagées :libidn2.so.0 :impossible d'ouvrir le fichier objet partagé :aucun fichier ou répertoire de ce type" lorsque j'exécute la commande pacman ou des assistants AUR tels que pacaur, packer, yaourt et que je ne peux même pas ouvrir l'application VirtualBox et le client de transmission. Donc, le vrai problème ici est le fichier "libidn2.so.0" a disparu. Nous devons le découvrir !

$ ls -la /usr/lib/libidn*

Exemple de sortie de mon système Arch Linux :

lrwxrwxrwx 1 root root 22 Jul 22 2013 /usr/lib/libidnkitlite.so -> libidnkitlite.so.1.0.2
lrwxrwxrwx 1 root root 22 Jul 22 2013 /usr/lib/libidnkitlite.so.1 -> libidnkitlite.so.1.0.2
-rw-r--r-- 1 root root 276352 Jul 22 2013 /usr/lib/libidnkitlite.so.1.0.2
lrwxrwxrwx 1 root root 18 Jul 22 2013 /usr/lib/libidnkit.so -> libidnkit.so.1.0.2
lrwxrwxrwx 1 root root 18 Jul 22 2013 /usr/lib/libidnkit.so.1 -> libidnkit.so.1.0.2
-rw-r--r-- 1 root root 282368 Jul 22 2013 /usr/lib/libidnkit.so.1.0.2
lrwxrwxrwx 1 root root 17 Aug 15 19:00 /usr/lib/libidn.so -> libidn.so.11.6.16
lrwxrwxrwx 1 root root 17 Aug 15 19:00 /usr/lib/libidn.so.11 -> libidn.so.11.6.16
-rwxr-xr-x 1 root root 210872 Aug 15 19:00 /usr/lib/libidn.so.11.6.16

J'avais "libidn.so", mais je ne trouve pas "libidn2.so.0". Étant donné que pacman et tout autre gestionnaire de packages ne fonctionnaient pas, il n'y a aucun moyen d'installer, de mettre à niveau ou de rétrograder des packages à partir du référentiel officiel ou du cache local. Donc, j'ai pensé que le seul moyen pourrait être de télécharger le paquet contenant le fichier manquant sur Internet, de l'extraire et enfin de copier le ou les fichiers manquants dans le répertoire /usr/lib/. Permettez-moi de créer un répertoire pour enregistrer le fichier tar libdin2 :

$ mkdir libidn
$ cd libidn

Recherchez et téléchargez la dernière version de ce package. Une recherche rapide sur Google m'a amené ici . Extrayez le fichier :

$ tar xf libidn2-2.0.4-2-x86_64.pkg.tar.xz

La commande ci-dessus a extrait le contenu du fichier dans un répertoire nommé "usr". Accédez au dossier usr/lib :(Remarque - C'est usr/lib , pas /usr/lib )

$ cd usr/lib

Copiez enfin le fichier manquant, dans notre cas il s'agit de libidn2.so.0 , dans le répertoire /usr/lib/ de votre système Arch Linux.

$ sudo cp libidn2.so.0 /usr/lib/

Ensuite, j'ai couru :

$ sudo pacman -syu

Mettre à jour Arch Linux

Voila ! Pacman fonctionne maintenant !! Oups! Oh non, attends.. Ça n'a pas marché. J'ai eu cette erreur après quelques minutes.

[....]
(511/511) checking keys in keyring [######################] 100%
(511/511) checking package integrity [######################] 100%
(511/511) loading package files [######################] 100%
(511/511) checking for file conflicts [######################] 100%
error: failed to commit transaction (conflicting files)
libidn2: /usr/lib/libidn2.so.0 exists in filesystem
Errors occurred, no packages were upgraded.

Pour résoudre ce problème, j'ai lancé :

$ sudo pacman -S libidn2 --force

Ensuite, j'ai réessayé de mettre à jour :

$ sudo pacman -Syu

Fixé!! Tout va bien maintenant. Donc, si jamais vous rencontrez un problème comme "erreur lors du chargement des bibliothèques partagées :.. impossible d'ouvrir le fichier objet partagé :aucun fichier ou répertoire de ce type" , une façon de résoudre ce problème consiste à rechercher le package contenant les fichiers manquants, à télécharger la dernière version de ce package, à l'extraire et à copier les fichiers manquants dans /usr/lib/ annuaire. Bien sûr, il pourrait y avoir plusieurs façons de résoudre ce genre de problèmes. Mais c'est la seule solution de travail que j'ai pu trouver et je trouve cela beaucoup plus facile et plus rapide. Cette astuce peut également fonctionner sur d'autres distributions Linux.

Lire connexe :

  • Comment restaurer l'état de fonctionnement précédent de Broken Arch Linux
  • Comment réparer l'erreur "Impossible de verrouiller la base de données" dans Arch Linux
  • Comment réparer l'erreur "paquet invalide ou corrompu (signature PGP)" dans Arch Linux
  • Comment résoudre le problème "Démarrage de la mise à niveau complète du système... il n'y a rien à faire" dans Arch Linux
  • Comment résoudre l'"erreur :échec de la validation de la transaction (fichiers en conflit)" dans Arch Linux

Arch Linux
  1. Comment corriger l'erreur d'installation de Python lors du chargement des bibliothèques partagées :libssl.so.1.0.0 ? [Résolu]

  2. Erreur lors du chargement des bibliothèques partagées libcrypto.so.1.1 – OpenSSL [Réparer]

  3. Comment corriger « erreur lors du chargement des bibliothèques partagées :libgtk-x11-2.0.so.0 »

  4. Erreur Linux lors du chargement des bibliothèques partagées :impossible d'ouvrir le fichier objet partagé :aucun fichier ou répertoire de ce type

  5. erreur lors du chargement des bibliothèques partagées :libncurses.so.5 :

Comment installer MATE Desktop sur Arch Linux

Comment réparer l'erreur "le travail pour le service netctl a échoué" dans Arch Linux

Comment ajuster la taille de la partition racine sur Live Arch Linux

Comment répertorier les bibliothèques partagées utilisées par les exécutables sous Linux

Comment réinitialiser un mot de passe racine oublié dans Arch Linux

rpm :erreur lors du chargement des bibliothèques partagées :en-tête ELF invalide