【问题标题】:Error: libXext.so.6: cannot open shared object file: No such file or directory [duplicate]错误:libXext.so.6:无法打开共享对象文件:没有这样的文件或目录[重复]
【发布时间】:2015-06-26 19:15:50
【问题描述】:

在运行试图打开 ods 文件的 java 文件时出现以下错误。

线程“主”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 安装 libXstst.so.6 它安装和工作正常

【问题讨论】:

标签: java centos ods


【解决方案1】:

就我而言,我需要安装额外的库。

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。
  • 如果我在无服务器云上运行它,无法访问 Linux 操作系统...
  • 在 RHEL7 上安装 PyCharm 的奇迹
【解决方案2】:

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

yum search libXext

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

sudo yum install libXext.i686

附带说明,我还需要安装以下库以使我的 java 应用程序正常工作:libXrender.i686 和 libXtst.i686。我认为这个问题是由于我们试图在 64 位操作系统上使用 java 32 位版本。

【讨论】:

    【解决方案3】:

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

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

    getconf LONG_BIT

    如果 CentO 是 64 位的,那么你可以删除 32 位的 jdk,然后安装一个新的

    【讨论】:

      【解决方案4】:
      1. 使用file命令查看是32bit还是64bit 文件 /opt/software/jdk1.6.0_45/jre/lib/i386/xawt/libmawt.so 它的输出应该是:

        ELF 32 位 LSB 可执行文件

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

        sudo yum install libXext.i686

        对于 64 位:

        sudo yum install libXext

      【讨论】:

        【解决方案5】:

        对于 Arch,我使用了 pkgfile(我使用 pacman 安装的)然后运行:

            pkgfile --update
            pkgfile libXtst.so.6
        

        它向我展示了 extra/libxtst。

        我用 pacman 安装了,到目前为止一切顺利。

        【讨论】:

          猜你喜欢
          • 2020-10-19
          • 2018-04-17
          • 1970-01-01
          • 2021-09-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-01-03
          • 2015-11-30
          相关资源
          最近更新 更多