powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Почему не находится библиотека?
6 сообщений из 6, страница 1 из 1
Почему не находится библиотека?
    #33675755
Marina3494
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите!
Проблема- есть два сервера, основной и отладочный,
Informix один и тот же, Unix - тоже, настройки одинаковые.
Приложения, откомпилированные на одной машине, не работают на другой -
unable to find library 'libifsql.sl'.
Переменные окружения на обеих машинах прописаны в LOG_SET:
export LD_LIBRARY_PATH=/informix/lib/esql:informix/lib/tools;
export SHLIB_PATH=/informix/lib:/informix/lib/esql:informix/lib/tools;
Где еще копать, подскажите! Спасибо.
...
Рейтинг: 0 / 0
Почему не находится библиотека?
    #33675991
--null--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
надо смотреть есть ли libifsql.sl и опять же пути. Очень просто можно увидеть как глючит, запустив программу strace - там видно, как прога пытается искать библиотеки в доступных путях

например strace ./program 2>&1 | grep libifsql.sl покажет реальное состояние дел.
...
Рейтинг: 0 / 0
Почему не находится библиотека?
    #33676174
no-dashi-v2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
--null--например strace ./program 2>&1 | grep libifsql.sl покажет реальное состояние дел.
Читайте документацию. Для этих целей обычно используют ldd, а strace - только для "совсем динамических" библиотек (типа модулей апача, про которые бинарник не занет совсем).
В большинстве ситуаций такая проблема лечится указанием LD_LIBRARY_PATH="/каталог/в/котором/лежит/билиотека". Иногда проблема решается вызовом ldconfig (если билиотека уже в /usr но программа ее не видит).
...
Рейтинг: 0 / 0
Почему не находится библиотека?
    #33677394
--null--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
strace как раз и показывает то, что ищется в LD_LIBRARY_PATH
согласен, что ldd поможет, но сообщение unable to find library 'libifsql.sl' говорит как раз о shared library, который вполне себе будет виден в том числе и strace
(точнее, будет видно, как ее безуспешно ищут)
...
Рейтинг: 0 / 0
Почему не находится библиотека?
    #33677997
no-dashi-v2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
--null--strace как раз и показывает то, что ищется в LD_LIBRARY_PATH
strace показывает системные вызовы. Все. В отличие от ldd, который показывает данные, используемые загрузчиком (ld.so). И для анализа связей библиотек рекомендуется использовать именно ldd (например, потому, что какой-нибудь икс положит вам so'шку от другой архитектуры, и вы замучаетесь понимать почему она у вас не грузится).
...
Рейтинг: 0 / 0
Почему не находится библиотека?
    #33679057
Фотография v6y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
no-dashi-v2 --null--strace как раз и показывает то, что ищется в LD_LIBRARY_PATH
strace показывает системные вызовы. Все. В отличие от ldd, который показывает данные, используемые загрузчиком (ld.so). И для анализа связей библиотек рекомендуется использовать именно ldd (например, потому, что какой-нибудь икс положит вам so'шку от другой архитектуры, и вы замучаетесь понимать почему она у вас не грузится).
Да что вы до человека докопались? :). Для анализа самих библиотек да, но для анализа с какого места (прости Господи) программа пытается эти библиотеки подгрузить как раз полезен strace (поскольку используется системный вызов open). Я думаю --null-- имел ввиду именно это. И что делает strace, а что ldd он знает не хуже вас.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Почему не находится библиотека?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]