Ошибка при загрузке разделяемых библиотек: libncurses.so.5:

Я установил Android Studio и попытался запустить свой первый проект, и у меня есть следующая ошибка:

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

Я уже пытался запустить

sudo ldconfig

но это не помогает. Недавно я установил libncurses (прежде чем использовать студию Android).

Что мне делать?

Ответ 1

Если вы абсолютно уверены, что libncurses, aka ncurses, установлен, так как вы сделали успешную "ls" библиотеки, возможно, вы используете 64-битную операционную систему Linux и имеете только 64-разрядные libncurses установлен, когда запущенная программа (adb) - 32 бит.

Если это так, 32-битная программа не может ссылаться на 64-битную библиотеку (и не будет ее размещать в любом случае), поэтому вам может потребоваться установить libcurses или ncurses (32-разрядная версия). Аналогично, если вы используете 64-битный adb, возможно, ваши ncurses - 32 бит (возможный, но менее вероятный сценарий).

Ответ 2

Если libncurses не установлен, установите его и повторите попытку. sudo apt-get install libncurses5:i386

Также установите коллекцию библиотек, используя эту команду sudo apt-get install ia32-libs

Ответ 3

при загрузке разделяемых библиотек: libncurses.so.5

Если вы видите это, у вашего дистрибутива, возможно, установлена ​​более новая версия libncurse. Сначала узнайте, какая версия libncurses имеет ваш дистрибутив:

$ 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

В этом случае мы имеем дело с версией 6, поэтому мы делаем две символические ссылки:

$ 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

После этого программа должна работать нормально.

Ответ 4

Ваша система, скорее всего, не предоставляет библиотеку ncurses в используемой версии Android. У моей установки linux linux были только ncurses 6, но для Android-студии нужна версия 5. Вы можете проверить, есть ли у вашего дистрибутива пакет совместимости или использовать решение, предложенное Рахматом Алигосом.

Ответ 5

На Arch я исправляю вот так:

sudo ln -s /usr/lib/libncursesw.so.6 /usr/lib/libtinfo.so.6

Ответ 6

В Fedora 28 используют:

sudo dnf install ncurses-compat-libs

Ответ 7

Я решил проблему с помощью

ln -s libncursesw.so.5  /lib/x86_64-linux-gnu/libncursesw.so.6

по убунуту 18.10

Ответ 8

Установка ncurses-compat-libs на Fedora 24 помогла мне в этом вопросе (unable to start adb error while loading shared libraries: libncurses.so.5)

Ответ 9

Для Redhat Linux 8 попробуйте это:

sudo yum install libncurses*

Ответ 10

В Arch Linux вы можете установить пакет AUR для ncurses5-compat-libs.

К вашему сведению, это упомянуто на странице Android Arch Wiki, на случай, если вам понадобятся другие зависимости для Android Studio: https://wiki.archlinux.org/index.php/Android