2015-09-09 152 views
0

我試圖運行一個名爲「solvate」的程序,我發現了以下錯誤。請讓我知道我該如何解決這個問題。我正在使用「ubuntu 14.04」,64位 預先感謝您!加載共享庫時出錯

與問候, 亞娜

錯誤消息:

./solvate:錯誤而載入共享庫: libboost_program_options-mt.so.1.38.0:無法打開共享對象文件: 沒有這樣的文件或目錄

回答

1

./solvate: error while loading shared libraries: libboost_program_options-mt.so.1.38.0

此錯誤表示可執行文件solvate找不到它需要的Boost庫之一。有幾種常見的原因:

  1. 庫中不存在該系統上的所有,或
  2. 庫中存在,但不是在運行時鏈接程序的搜索位置,或
  3. 圖書館存在,但對於錯誤的體系結構

locate libboost_program_options-mt.so.1.38.0
/usr/lib/libboost_program_options-mt.so.1.38.0

該輸出告訴我們,1和2都不可能。因此,原因3必須是它。

在64位Ubuntu上,/usr/lib是安裝64位庫的位置。您可以驗證/usr/lib/libboost_program_options-mt.so.1.38.0是一個64位的庫:

file /usr/lib/libboost_program_options-mt.so.1.38.0 

應打印:

/usr/lib/libboost_program_options-mt.so.1.38.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked ... 

必須也不錯,./solvate32位可執行文件。您可以確認與

file ./solvate 

應打印

./solvate: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), ... 

最後,解決你的問題:

sudo apt-get install libboost-all-dev:i386