libisl.so.13:无法打开共享对象文件:没有这样的文件或目录

libisl.so.13: cannot open shared object file: No such file or directory

本文关键字:文件 对象 so 共享 libisl      更新时间:2023-10-16

使用*.run安装Qt后,我测试了一个简单的程序。我得到了下面的错误。我应该注意,g++编译我的代码没有问题。由于某些原因,虽然存在库,但cc1plus没有找到libisl.so.13。为什么?

Qt错误:

error: /usr/local/bin/../libexec/gcc/x86_64-pc-linux-gnu/6.2.0/cc1plus: error while loading shared libraries: libisl.so.13: cannot open shared object file: No such file or directory

ldd cc1plus:

linux-vdso.so.1 =>  (0x00007ffd95fb8000)
libisl.so.13 => /usr/local/lib64/libisl.so.13 (0x00007f670624e000)
libmpc.so.3 => /usr/lib/x86_64-linux-gnu/libmpc.so.3 (0x00007f6706036000)
libmpfr.so.4 => /usr/lib/x86_64-linux-gnu/libmpfr.so.4 (0x00007f6705dd0000)
libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10 (0x00007f6705b59000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f670593b000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f6705631000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f6705268000)
/lib64/ld-linux-x86-64.so.2 (0x000055ed64275000)

echo$LD_LIBRARY_PATH:

:/usr/lib/x86_64-linux-gnu:/usr/local/lib64

g++--版本:

g++ (GCC) 6.2.0

发生这种情况的原因有很多;这是我的50美分:

最近,我尝试为一些OPC/UA控制系统运行Unified Automation的一些示例。他们的评估版本是在Debian Wheezy上编译的,我使用的是Debian Stretch。他们的评估来自预编译库;他们这样做是为了确保你无法操作源代码并将他们的软件作为完整版本使用。因此,我遇到了与OpenSSL 1.0.0完全相同的问题,预编译库试图找到它。那么,您是否有任何预编译库尝试对libisl.so执行同样的操作?

最终,我编译了OpenSSL 1.0.0,并将其链接,得到了大量的分段错误。。。这是一条死胡同!因此,为了解决这个问题,我与Debian Wheezy创建了一个chroot来评估该软件,这很有魅力。

问题的另一个可能原因是:架构的二进制不兼容。您确定要调用64位程序并使用64位库吗?