Ошибка: 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 и пока все хорошо.
используйте команду file, чтобы увидеть, является ли это 32-битным или 64-битным файлом /opt/software/jdk1.6.0_45/jre/lib/i386/xawt/libmawt.so его вывод должен выглядеть так:
ELF 32-битный LSB исполняемый файл
затем установите соответствующую библиотеку для 32-битной:
sudo yum установить libXext.i686
для 64 бит:
sudo yum установить libXext