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

Posted

技术标签:

【中文标题】clang:加载共享库时出错:libtinfo.so.5:无法打开共享对象文件:没有这样的文件或目录【英文标题】:clang: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory 【发布时间】:2018-07-18 08:25:38 【问题描述】:

我正在从https://github.com/substratum/template 构建一个底层主题

我在运行时遇到以下错误:

Build command failed.
Error while executing process /home/anubhav/android/Sdk/ndk-bundle/ndk-build with arguments NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=/home/anubhav/AndroidStudioProjects/template/app/src/main/jni/Android.mk APP_ABI=armeabi-v7a NDK_ALL_ABIS=armeabi-v7a NDK_DEBUG=1 APP_PLATFORM=android-24 NDK_OUT=/home/anubhav/AndroidStudioProjects/template/app/build/intermediates/ndkBuild/debug/obj NDK_LIBS_OUT=/home/anubhav/AndroidStudioProjects/template/app/build/intermediates/ndkBuild/debug/lib /home/anubhav/AndroidStudioProjects/template/app/build/intermediates/ndkBuild/debug/obj/local/armeabi-v7a/libLoadingProcess.so
[armeabi-v7a] Compile thumb  : LoadingProcess <= LoadingProcess.c
/home/anubhav/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/clang: error while loading shared libraries: libtinfo.so.5: cannot open       shared object file: No such file or directory
make: *** [/home/anubhav/AndroidStudioProjects/template/app/build/intermediates/ndkBuild/debug/obj/local/armeabi-v7a/objs-debug/LoadingProcess/LoadingProcess.o] Error 127 

我在 Manjaro 上运行 Android Studio 3.0.1。我真的不知道还要提供什么信息,所以如果需要任何信息,请说明。

【问题讨论】:

【参考方案1】:

我在 Debian Buster 上遇到了同样的问题。安装 Debian 软件包 libncurses5 为我解决了这个问题:

$ sudo apt install libncurses5

【讨论】:

我的 Debian buster docker 镜像也遇到了类似的问题。我通过安装libncurses5-devlibncursesw5-dev 解决了这个问题 对我来说不是 -dev,The following NEW packages will be installed: libncurses5 libtinfo5a -4.19.0-6-amd64 #1 SMP Debian 4.19.67-2+deb10u2 (2019-11-11) x86_64 GNU/Linux 在 Ubuntu 19.10 上同样的问题,通过安装 libncurses5 解决 对于 Fedora,您需要安装 ncurses-compat-libs 参见 github.com/spacchetti/spago/issues/104#issuecomment-563100691 我在使用 kotlinc-native 时遇到了类似的问题。安装 libncurses5 修复它!谢谢!【参考方案2】:

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

【讨论】:

你能解释一下吗?这两个版本二进制兼容吗?他们甚至做同样的事情吗?为什么不安装所需的依赖项呢?另请参阅How to Answer。 老实说,懒惰搜索所需的库。由于两者都有所需的内部过程,因此调用库无关紧要。 ln -s /usr/lib/x86_64-linux-gnu/libtinfo.so.6 /usr/lib/libtinfo.so.5 在我的情况下,但是是的,这对我有用并修复了 pytorch。通常我不喜欢这种类型的答案,但我能说什么......有一个upvote。【参考方案3】:

libtinfo 不是 Android API。您需要为 Android 构建该库并将其包含在您的 APK 中。

【讨论】:

以上是关于clang:加载共享库时出错:libtinfo.so.5:无法打开共享对象文件:没有这样的文件或目录的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

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

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

docker compose:加载共享库时出错:libz.so.1:无法从共享对象映射段:不允许操作