(Примечание: имена двоичных и двоичных файлов и библиотеки ниже запутаны для защиты невиновных. ;-) Приложение является проприетарным в соответствии с соглашением о неразглашении информации, но его поведение может не зависеть от него.)
У меня есть двоичный файл Linux, который при запуске выдает следующую ошибку:
двоичный: ошибка при загрузке общих библиотек: libshared.so: невозможно открыть файл общих объектов: нет такого файла или каталога
Что само по себе сбивает с толку, поскольку libshared.so находится в LD_LIBRARY_PATH. Тем не мение,
Библиотека обнаруживается правильно при запуске
ldd binary
(т.е. вывод ldd указывает на расположение файла)Библиотека обнаруживается правильно при запуске
strace binary
, так что программе удается распечатать информацию о ее использовании!
Я никогда не видел приложения, которое ведет себя по-другому при запуске отдельно от strace, но я полагаю, может быть, кто-то еще видел это раньше? Есть идеи, как это решить?
У меня нет исходного кода, поэтому я не могу его восстановить. Запуск приложения в производственной среде под strace, вероятно, не начнется. Операционная система - RHEL 6.2.