2017-01-29 802 views
0

我安裝了Qt *.run後,我測試了一個簡單的程序。我得到了下面的錯誤。我應該注意到g++編譯我的代碼沒有問題。由於某種原因libisl.so.13未被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) 

回聲$ LD_LIBRARY_PATH:

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

克++ --version:

g++ (GCC) 6.2.0 
+1

爲什麼不在包管理器中使用包?) – Inline

回答

0

有很多原因,這可能發生;這是我的50美分:

最近我嘗試運行一些OPC/UA控制系統的統一自動化的例子。他們的評估版本是在Debian Wheezy上編譯的,我使用的是Debian Stretch。他們的評估來自預編譯的庫;他們這樣做是爲了確保您無法操作源代碼並將其軟件用作完整版本。因此,我遇到了與OpenSSL 1.0.0完全相同的問題,其中預編譯的庫試圖找到這個問題。那麼,你有沒有預編譯過的庫試圖去做libisl.so

最終我編譯了OpenSSL 1.0.0,並將它鏈接起來,並且得到了大量的分段錯誤......這是一個死衚衕!所以,爲了解決這個問題,我使用Debian Wheezy創建了一個chroot來評估這個軟件,並且它像一個魅力一樣工作。

該問題的另一個可能的原因是:體系結構的二進制不兼容性。你確定你正在調用64位程序並使用64位庫嗎?

相關問題