100 votes

Mise à niveau vers Ubuntu 20.04, Python manquant libffi.so.6

J'ai récemment mis à niveau mon OS vers Ubuntu 20.04 LTS.

Maintenant, lorsque j'essaie d'importer une bibliothèque comme Numpy en Python, j'obtiens l'erreur suivante :

ImportError: libffi.so.6: cannot open shared object file: No such file or directory

J'ai essayé d'installer le paquet libffi, mais apt ne peut pas le localiser :

sudo apt-get install libffi
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package libffi

1 votes

Vous pouvez essayer de réinstaller python3-numpy

0 votes

Si cela peut aider, vous pouvez rechercher les paquets Ubuntu en ligne. Par exemple, recherchez des noms de fichiers contenant libffi.so sur Focal, amd64.

0 votes

Voir stackoverflow.com/q/65000467/12544391 des rubyistes, par exemple en ajoutant gem "ffi" à Gemfile corrige cela

2voto

dntrplytch Points 89

Le paquet libffi6 peut être téléchargé et installé comme suit :

Identifier une source pour apt dans la liste Page de téléchargement pour libffi6 (J'ai choisi http://mirrors.kernel.org/ubuntu/ par exemple)

Faire une sauvegarde de /etc/apt/sources.list (au cas où)

Modifier /etc/apt/sources.list et ajouter la ligne (je l'ai ajoutée à la toute fin du fichier) et enregistrer le fichier

deb https://mirrors.kernel.org/ubuntu bionic main

Mettre à jour pour utiliser le nouveau dépôt

sudo apt update

Enfin, installer le paquet :

sudo apt install libffi6

Notez que libffi6 et libffi7 semblent coexister. (Ma version d'Ubuntu est 20.04)

$ sudo apt list | grep libffi[67]/

ATTENTION: apt n'a pas d'interface CLI stable. Utilisez avec prudence dans les scripts.

libffi6/bionic,now 3.2.1-8 amd64 [installé]
libffi7/focal,now 3.3-4 amd64 [installé,automatique]

0voto

pac88 Points 11

J'ai eu le même problème (lorsque j'ai mis à jour vers Ubuntu 20.04) lorsque j'ai essayé d'exécuter Jupyter Notebook.

Étape 1) --> Réinstallez simplement python3.7.6 (la version que j'utilisais) :

$ cd chemin_vers_le_dossier_python3.7
  • Refaites le processus d'installation :

    $ ./configure --enable-optimizations
    $ make
    $ sudo make install

  1. Étape 2 : désinstallez jupyter. J'ai utilisé pip3.7 uninstall ... Voir : Comment désinstaller Jupyter note book installé par pip3

  2. Étape 3 : Réinstallez à nouveau jupyter :

    $ pip3.7 install jupyterlab
    $ pip3.7 install notebook

Essayez d'exécuter à nouveau jupyter. Ça devrait fonctionner.

0voto

CJ Lee Points 1

La liaison symbolique vers une version supérieure de la bibliothèque libffi existante, (par exemple, en pointant 6 vers 8 ou 9) ne nuit pas car l'interface de libffi est presque gelée jusqu'à 9 ans à partir de maintenant.

Une version SO plus élevée comme 6, 7 ou 8, simplement, elle est là pour indiquer les exigences minimales en cas de disponibilité de nouvelles fonctionnalités telles que ffi_tramp_is_present. libffi est lui-même totalement compatible avec les versions antérieures jusqu'en 2022.

N'importe qui peut confirmer cela en parcourant le dossier inc sur https://github.com/libffi/libffi

Donc, si vous rencontrez ce problème sous Ubuntu 22, n'hésitez pas à créer un lien symbolique vers la version la plus récente disponible dans votre distribution.

-1voto

Han Vinke Points 1

Le problème avec libffi peut également être résolu en créant un lien symbolique : sudo ln -s /usr/path/to/libffi.so.8 /usr/lib/path/to/libffi.so.7 Ensuite, vous obtenez une autre erreur dans le journal xorg concernant Wayland. Ce qui m'a aidé était de réinstaller Wayland et lib32-wayland. Après cela, j'ai pu démarrer normalement (bien que j'utilise xorg dans Cinnamon, mais j'ai également Gnome installé)

-2voto

Aravir Points 7

C'est probablement le paquet libffi6 que vous voulez, qui installe un libffi.so.6.

sudo apt-get install libffi6

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X