Ошибка: libXext.so.6: невозможно открыть общий объектный файл: нет такого файла или каталога

Я получаю сообщение об ошибке ниже при запуске файла Java, который пытается открыть файл ods.

Исключение в потоке "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 установить libXstst.so.6 он устанавливает и работает нормально

5 ответов

В моем случае мне нужно было установить дополнительные библиотеки.

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

Прежде всего вы можете попробовать использовать следующую команду:

yum search libXext

После этого поиска вы обнаружите, что вам нужно установить следующую библиотеку: libXext.i686 (или наиболее вероятно libXext.i386). После этого вы можете запустить:

sudo yum install libXext.i686

Как примечание, мне также нужно было установить следующие библиотеки, чтобы заставить мое приложение Java работать должным образом: libXrender.i686 и libXtst.i686. Я думаю, что эта проблема связана с тем, что мы пытаемся использовать 32-битную версию Java на 64-битной ОС.

Я думаю, что вы можете установить 32-битный JDK в 64-битной системе. Если ваши CentOs 64-битные, и вы установили 32-битный JDK. Вы получите эту ошибку при запуске jar

Вы можете проверить CentOs 32-битный или 64-битный, введите команду:

getconf LONG_BIT

Если CentOs 64-битный, вы можете удалить 32-битный JDK и установить новый

Для Arch я использовал pkgfile (который я установил с pacman), а затем запустил:

    pkgfile --update
    pkgfile libXtst.so.6

и он показал мне дополнительные /libxtst.

Я установил с pacman и пока все хорошо.

  1. используйте команду file, чтобы увидеть, является ли это 32-битным или 64-битным файлом /opt/software/jdk1.6.0_45/jre/lib/i386/xawt/libmawt.so его вывод должен выглядеть так:

    ELF 32-битный LSB исполняемый файл

  2. затем установите соответствующую библиотеку для 32-битной:

    sudo yum установить libXext.i686

    для 64 бит:

    sudo yum установить libXext

Другие вопросы по тегам