在我用*.run
安装Qt后,我测试了一个简单的程序。我收到了以下错误。我应该注意g++
编译我的代码没有问题。由于某些原因libisl.so.13
找不到cc1plus
,尽管库存在。那是为什么?
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 ++ --version:
g++ (GCC) 6.2.0
答案 0 :(得分:0)
有很多原因导致这种情况发生;这是我的50美分:
最近,我尝试从Unified Automation为一些OPC / UA控制系统运行一些示例。他们的评估版本是在Debian Wheezy上编译的,我使用的是Debian Stretch。他们的评估来自预编译库;他们这样做是为了确保您无法操纵源代码并将其软件用作完整版本。因此,我遇到了与OpenSSL 1.0.0完全相同的问题,其中预编译库试图找到它。那么,您是否有任何预编译库试图对libisl.so
执行相同的操作?
最终我编译了OpenSSL 1.0.0并将其链接起来,并且遇到了大量的分段错误......这是一个死胡同!因此,为了解决这个问题,我用Debian Wheezy创建了一个chroot来评估该软件,这就像一个魅力。
问题的另一个可能原因是:体系结构的二进制不兼容性。您确定要调用64位程序并使用64位库吗?