加载共享库时出错: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 说 libncurses5
和 libncurses6
都已安装
如果 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...