Я установил программу в Centos 6.8, во время запуска программы получаю ошибку «ошибка при загрузке разделяемых библиотек: libm.so. 6: невозможно открыть файл общего объекта: нет такого файла или каталога « , когда я проверил связанную библиотеку с программой с помощью команды ldd, я могу увидеть libm.so.6 с правильным 64-битным » libm.so.6 =>/lib64 /libm.so.6 (0x0000003a19000000) " Это значит, что библиотека установлена и уже добавлена в переменную окружения, LD_LIBRARY_PATH Другая программа, использующая libm.so.6, отлично работает. Может ли кто-нибудь помочь решить эту проблему? Thankslibm.so.6: не удается открыть файл общего объекта: нет такого файла или каталога
ответ
В программировании подробнее вопрос.
Позволяет сказать, Программа, которую я пытаюсь запустить, ABC и установить
Это не детали, это гипотетический. Если вы хотите полезно ответы, вы должны поставить актуальным данных, о которых вы просили. В частности, отредактируйте свой вопрос (вместо того, чтобы комментировать другой бесполезный ответ) и сделайте следующее: «покажите команду ldd, на которой вы фактически запустили, и ее фактический результат».
Тем не менее, если ldd /usr/local/ABC/bin/ABC
действительно показать libm.so.6 => /lib64/libm.so.6
, то нет никакого способа для ABC
в не найти libm.so.6
.
Поэтому мы должны заключить, что ABC
вызывает некоторую другой программы и что программа не может найти libm.so.6
. Вы можете подтвердить это предположение, выполнив команду:
LD_DEBUG=files,libs /usr/local/ABC/bin/ABC
Это покажет, что ABC
не найдет libm.so.6
, что другие программы она вызывает, и где, что другая программа ищет libm.so.6
.
Возможно, что другая программа 32-разрядная и ищет /lib/libm.so.6
и что у вас нет 32-битных библиотек времени исполнения.
Вы можете установить их с помощью yum install glibc.i686
или некоторых таких.
Пожалуйста, покажите команду 'ldd', на которой вы фактически запустили, и ее выход. –