2015-04-20 86 views
6

運行試圖打開ods文件的java文件時出現以下錯誤。CentOS:錯誤:libXext.so.6:無法打開共享對象文件:沒有這樣的文件或目錄

Exception in thread "main" java.lang.UnsatisfiedLinkError: /opt/software/jdk1.6.0_45/jre/lib/i386/xawt/libmawt.so: libXext.so.6: cannot open shared object file: No such file or directory at java.lang.ClassLoader$NativeL

我試過 - 'yum install libXext',但得到了味精 - 已安裝。

有什麼建議嗎?

答:

做百勝安裝libXstst.so.6 它安裝並正常工作

+2

類似的問題被解答爲Ubuntu - http://stackoverflow.com/questions/17355863/cant-find-install-libxtst-so-6 此外,谷歌搜索給出了許多結果。你有嘗試過嗎? – nsane

+0

語法調整。 – dave

回答

5

你可以嘗試使用下面的命令首先:

yum search libXext 

這個搜索繼你會發現你需要安裝以下庫:libXext.i686(或者最可能的libXext.i386)。在這之後,你可以運行:

sudo yum install libXext.i686 

作爲一個方面說明,我還需要安裝以下庫,以便使我的Java應用程序正常工作:libXrender.i686和libXtst.i686。我認爲這個問題是由於我們試圖在64位操作系統上使用Java 32位版本。

7

在我的情況下,我需要安裝額外的庫。

yum install libXext.x86_64 
yum install libXrender.x86_64 
yum install libXtst.x86_64 
1

我想你可能會在64位系統中安裝32位jdk。如果你的CentOs是64位,並且你安裝了32位jdk。當您運行罐子

你可以檢查CentOS是32位或64位,你會得到這個錯誤,輸入命令:

getconf LONG_BIT

如果CentOS是64位的,那麼你就可以刪除32位JDK,並安裝一個新的

0
  1. 使用文件命令,看看它是否是32位或64位 文件/opt/software/jdk1.6.0_45/jre/lib/i386/xawt/libmawt.so 其輸出應該喜歡:

    ELF 32位LSB可執行

  2. 然後安裝相應的lib 針對32位:

    須藤百勝安裝libXext.i686

    爲64位:

    須藤蔭安裝libXext

0

對於Arch我u sed pkgfile然後運行:

pkgfile --update 
    pkgfile libXtst.so.6 

它顯示我extra/libxtst。

我安裝了pacman,迄今爲止都非常好。

相關問題