加载共享库时出错:libncurses.so.5:

Posted

技术标签:

【中文标题】加载共享库时出错:libncurses.so.5:【英文标题】:error while loading shared libraries: libncurses.so.5: 【发布时间】:2013-06-05 00:47:23 【问题描述】:

我已安装 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 studio 之前)。

我该怎么办?

【问题讨论】:

【参考方案1】:

如果未安装 libncurses,请安装并重试。

对于 32 位二进制文​​件:sudo apt-get install libncurses5:i386

对于 64 位二进制文​​件: sudo apt-get install libncurses5

还可以使用此命令安装库集合,

sudo apt-get install ia32-libs

【讨论】:

这个真的解决了 Ubuntu 20.04 的问题!! 在 Ubuntu 20.04 中也适用于我。谢谢! 也适合我。我正在使用 Ubuntu 20.04。非常感谢 我在包安装过程中得到这个 E: 包 'ia32-libs' 没有 20.04 的安装候选 遇到E: Unable to locate package libncurses5:i386,通过dpkg --add-architecture i386 && apt update解决。【参考方案2】:

加载共享库时出错: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

之后,程序应该可以正常运行了。

【讨论】:

同样,这并不能回答问题,因为它指的是在提出问题时不可用的软件。 虽然它可能不能解决最初的人物问题,但它解决了我在 Arch 64 上的问题,产生了与 OP 完全相同的错误消息。 ls: cannot access '/usr/lib/libncurses*': No such file or directory apt 说 libncurses5libncurses6 都已安装 如果 ls 命令失败,请使用 find: find /usr/lib/ -name *ncurses* 尝试它【参考方案3】:

如果您绝对确定已安装 libncurses(又名 ncurses),就像您已成功完成库的“ls”一样,那么您可能正在运行 64 位 Linux 操作系统并且只有 64 位 libncurses已安装,当正在运行的程序 (adb) 是 32 位时。

如果是这样,32 位程序无法链接到 64 位库(并且无论如何也不会找到它),因此您可能必须安装 libcurses 或 ncurses(32 位版本)。同样,如果您正在运行 64 位 adb,那么您的 ncurses 可能是 32 位(可能但不太可能的情况)。

【讨论】:

您还可以检查 LD_LIBRARY_PATH 中的库。可能是您的路径设置不正确,因此找不到库。 在我的情况下,apt 表示已安装 libncurses 的每个版本 5 和 6 的 32 位和 64 位版本,但 Android Studio 仍在抱怨不存在 @ 987654323@. @Tooniis 版本号不是架构,架构与计算机中的 CPU 大致匹配,而版本号与“旧/新”版本匹配。如果您在不同的架构下安装了正确的版本,您仍然可能缺少正确的库架构。这只是令人困惑,因为 Intel 和 AMD 芯片支持多种架构,i386 支持向后兼容,x86_64 是现代架构。 我告诉过你我已经安装了 i386 和 amd64 架构的版本 5 和 6,所以 Android Studio 应该能够找到它需要的任何东西。 @Tooniis 抱歉,没有看到关于“两种架构”的部分。在这种情况下,通常是因为您在启动 Android Studio 之前在 shell 中缺少/错误配置的 LD_LIBRARY_PATH,或者您的 Android Studio 为该功能维护了自己的配置。我会检查编译器选项(抱歉,Android Studio 与我大量使用它时相比发生了很大变化,所以我不能只指出该选项)。无论如何,一旦你配置了 /usr/lib/(32 位)或 /usr/lib64(64 位),你应该会看到成功。【参考方案4】:

在 Arch Linux 上你可以安装 ncurses5-compat-libs AUR 包。

仅供参考,它在 Arch Wiki android 页面中有所提及,以防万一您需要 Android Studio 的其他依赖项:https://wiki.archlinux.org/index.php/Android

【讨论】:

【参考方案5】:

对于 Redhat Linux 8,试试这个:

sudo yum install libncurses*

【讨论】:

【参考方案6】:

在 Fedora 28 中使用:

sudo dnf install ncurses-compat-libs

【讨论】:

这在 Fedora 30 上也成功了。德州仪器 Code Composer Studio 9(2019 年)基于 eclipse 也需要 ncurses5,而 6 是 Fedora 上的默认值。【参考方案7】:

在 Arch 上,我是这样修复的:

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

【讨论】:

【参考方案8】:

我用

解决了这个问题
ln -s libncursesw.so.5  /lib/x86_64-linux-gnu/libncursesw.so.6

在 ubunutu 18.10 上

【讨论】:

因为我已经在我的 ubuntu 20.04 中安装了 libncursesw6,所以我做了 sudo apt install libncursesw6 并解决了它。所以我额外安装了版本 5,没有添加符号链接。我认为你的方法也没有害处。【参考方案9】:

您的系统可能不提供 android studio 使用的版本的 ncurses 库。我的 Arch linux 安装只有 ncurses 6,但 android studio 需要版本 5。 您可以检查您的发行版是否具有兼容性包,或使用 Rahmat Aligos 建议的解决方案。

【讨论】:

这个问题是在 ncurses 6 发布前两年提出的。 有点晚了(似乎是我的事),但我在写答案时遇到了这个具体问题。【参考方案10】:

在 Fedora 24 上安装 ncurses-compat-libs 帮助我解决了这个问题 (unable to start adb error while loading shared libraries: libncurses.so.5)

【讨论】:

【参考方案11】:

这对 Redhat Linux 有帮助,

sudo yum install ncurses-compat-libs

【讨论】:

【参考方案12】:

Mixaz 的上述答案对我有用。但是,由于 PGP 检查失败,我在安装软件包时遇到了问题。通过跳过签名安装它,你可以试试这个:

yaourt --m-arg "--skipchecksums --skippgpcheck" -Sb <your-package>

【讨论】:

以上是关于加载共享库时出错:libncurses.so.5:的主要内容,如果未能解决你的问题,请参考以下文章

加载共享库时出错,无法打开共享对象文件:没有这样的文件或目录(hiredis)

nmon安装出现错误error while loading shared libraries: libncurses.so.5: cannot open shared object file: No

加载共享库时出错:libgmock.so:无法打开共享对象文件:没有这样的文件或目录

/usr/share/code/bin/../code:加载共享库时出错:libX11-xcb.so.1:无法打开共享对象文件:

加载共享库时出错:libgfortran.so.1:无法打开共享对象文件:没有这样的文件或目录

《MySQL系列-部署维护》MySQL启动异常:error while loading shared libraries: libncurses.so.5: cannot open shared...