Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Почему не находится библиотека? / 6 сообщений из 6, страница 1 из 1
19.04.2006, 11:22:06
    #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
19.04.2006, 12:12:41
    #33675991
--null--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему не находится библиотека?
надо смотреть есть ли libifsql.sl и опять же пути. Очень просто можно увидеть как глючит, запустив программу strace - там видно, как прога пытается искать библиотеки в доступных путях

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


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