J'ai installé Android Studio et j'ai essayé d'y exécuter mon premier projet, et j'ai l'erreur suivante:
Error Output was: /home/user/Android-studio/sdk/platform-tools/adb: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
J'ai déjà essayé de courir
Sudo ldconfig
mais ça n'aide pas. J'ai récemment installé libncurses (avant d'utiliser Android studio).
Que devrais-je faire?
Si vous êtes absolument sûr que libncurses, alias ncurses, est installé, comme vous l'avez fait avec succès un "ls" de la bibliothèque, alors peut-être que vous exécutez un système d'exploitation Linux 64 bits et que seuls les libncurses 64 bits sont installés, lorsque le programme en cours d'exécution (adb) est de 32 bits.
Si c'est le cas, un programme 32 bits ne peut pas se lier à une bibliothèque 64 bits (et ne le trouvera pas de toute façon), vous devrez donc peut-être installer libcurses ou ncurses (version 32 bits). De même, si vous exécutez un adb 64 bits, votre ncurses est peut-être 32 bits (un scénario possible mais moins probable).
Si libncurses n'est pas installé, installez-le et réessayez. Sudo apt-get install libncurses5:i386
Installez également la collection de bibliothèques à l'aide de cette commande Sudo apt-get install ia32-libs
erreur lors du chargement des bibliothèques partagées: libncurses.so.5
Si vous voyez cela, votre distribution a probablement une version plus récente de libncurse installée. Découvrez d'abord quelle version de libncurses votre distribution a:
$ ls -1 /usr/lib/libncurses*
/usr/lib/libncurses.so
/usr/lib/libncurses++.so
/usr/lib/libncurses++w.so
/usr/lib/libncursesw.so
/usr/lib/libncurses++w.so.6
/usr/lib/libncursesw.so.6
/usr/lib/libncurses++w.so.6.0
/usr/lib/libncursesw.so.6.0
Dans ce cas, nous avons affaire à la version 6, nous faisons donc deux liens symboliques:
$ Sudo ln -s /usr/lib/libncursesw.so.6.0 /usr/lib/libncurses.so.5
$ Sudo ln -s /usr/lib/libncursesw.so.6.0 /usr/lib/libtinfo.so.5
Après cela, le programme devrait s'exécuter normalement.
J'ai résolu le problème en utilisant
ln -s libncursesw.so.5 /lib/x86_64-linux-gnu/libncursesw.so.6
sur ubuntu 18.10
Dans Fedora 28, utilisez:
Sudo dnf install ncurses-compat-libs
Sur Arch, je corrige comme ceci:
Sudo ln -s /usr/lib/libncursesw.so.6 /usr/lib/libtinfo.so.6
Votre système ne fournit probablement pas la bibliothèque ncurses à la version Android studio utilise. Mon installation Arch Linux n'avait que ncurses 6 mais Android studio a besoin de la version 5. Vous pourrait vérifier si votre distribution a un package de compatibilité, ou utiliser la solution suggérée par Rahmat Aligos.
Pour Redhat Linux 8, essayez ceci:
Sudo yum install libncurses*
À installer ncurses-compat-libs
sur Fedora 24 m'a aidé sur cette question (unable to start adb error while loading shared libraries: libncurses.so.5
)
Sur Arch Linux, vous pouvez installer ncurses5-compat-libs
Paquet AUR.
Pour info, il est mentionné dans Arch Wiki Android, juste au cas où vous auriez besoin d'autres dépendances pour Android Studio: https://wiki.archlinux.org/index.php/Android