错误:libXext.so.6:无法打开共享对象文件:没有那个文件或目录。

20
运行一个试图打开ods文件的java文件时,会出现以下错误:

线程“main”中的异常java.lang.UnsatisfiedLinkError:/opt/software/jdk1.6.0_45/jre/lib/i386/xawt/libmawt.so:libXext.so.6:无法打开共享对象文件:没有这样的文件或目录,在java.lang.ClassLoader$NativeL

我尝试了'yum install libXext',但收到消息-已经安装。 有什么建议吗?
回答:

执行命令yum install libXstst.so.6,它可以正常安装和工作。


4
类似的问题已经有人为Ubuntu回答了 - https://dev59.com/TWQm5IYBdhLWcg3wxBRg 此外,谷歌搜索也给出了大量结果。你尝试过其中任何一个吗? - nsane
1
可能是Can't find/install libXtst.so.6?的重复问题。 - jww
对我来说,只有sudo apt-get install libxrender1:i386 libxtst6:i386 libxi6:i386这个命令可以正常工作。 - GM1
5个回答

35
在我的情况下,我需要安装额外的库。
yum install libXext.x86_64
yum install libXrender.x86_64
yum install libXtst.x86_64

完美的答案。我正在AWS上设置RHEL8,并且必须安装所有3个软件包 - sudo yum install libXext / sudo yum install libXrender / sudo yum install libXtst。 - abhishek
如果我在无服务器云上运行它,没有访问Linux操作系统呢? - Man Coding
在RHEL7上安装PyCharm非常有效。 - Bas Krahmer
我也需要 sudo yum install libXft.x86_64 - pacoverflow

10

首先,您可以尝试使用以下命令:

yum search libXext

在进行这个搜索后,您会发现需要安装以下库:libXext.i686(或者很可能是libXext.i386)。安装完成后,您可以运行:

安装完成后,您可以运行:

sudo yum install libXext.i686

顺便提一下,我还需要安装以下库才能使我的Java应用程序正常工作:libXrender.i686和libXtst.i686。我认为这个问题是由于我们正在尝试在64位操作系统上使用32位Java版本。


2

我认为你可能在64位系统中安装了32位的jdk。如果你的CentOS是64位,而你安装的是32位的jdk,则在运行jar时会出现该错误。

你可以检查CentOS是32位还是64位,输入以下命令:

getconf LONG_BIT

如果CentOS是64位,则可以删除32位的jdk并安装新的64位jdk。


0

对于 Arch,我使用了 pkgfile(我通过 pacman 安装了它),然后运行了以下命令:

    pkgfile --update
    pkgfile libXtst.so.6

它显示了额外的/libxtst。

我使用pacman安装,目前一切正常。


0
  1. 使用file命令查看文件是32位还是64位 file /opt/software/jdk1.6.0_45/jre/lib/i386/xawt/libmawt.so 它的输出应该像这样:

    ELF 32-bit LSB executable

  2. 然后安装相应的库 对于32位:

    sudo yum install libXext.i686

    对于64位:

    sudo yum install libXext


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接