|
|
|
Почему не находится библиотека?
|
|||
|---|---|---|---|
|
#18+
Помогите! Проблема- есть два сервера, основной и отладочный, 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; Где еще копать, подскажите! Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2006, 11:22:06 |
|
||
|
Почему не находится библиотека?
|
|||
|---|---|---|---|
|
#18+
надо смотреть есть ли libifsql.sl и опять же пути. Очень просто можно увидеть как глючит, запустив программу strace - там видно, как прога пытается искать библиотеки в доступных путях например strace ./program 2>&1 | grep libifsql.sl покажет реальное состояние дел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2006, 12:12:41 |
|
||
|
Почему не находится библиотека?
|
|||
|---|---|---|---|
|
#18+
--null--например strace ./program 2>&1 | grep libifsql.sl покажет реальное состояние дел. Читайте документацию. Для этих целей обычно используют ldd, а strace - только для "совсем динамических" библиотек (типа модулей апача, про которые бинарник не занет совсем). В большинстве ситуаций такая проблема лечится указанием LD_LIBRARY_PATH="/каталог/в/котором/лежит/билиотека". Иногда проблема решается вызовом ldconfig (если билиотека уже в /usr но программа ее не видит). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2006, 12:45:53 |
|
||
|
Почему не находится библиотека?
|
|||
|---|---|---|---|
|
#18+
strace как раз и показывает то, что ищется в LD_LIBRARY_PATH согласен, что ldd поможет, но сообщение unable to find library 'libifsql.sl' говорит как раз о shared library, который вполне себе будет виден в том числе и strace (точнее, будет видно, как ее безуспешно ищут) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2006, 17:54:55 |
|
||
|
Почему не находится библиотека?
|
|||
|---|---|---|---|
|
#18+
--null--strace как раз и показывает то, что ищется в LD_LIBRARY_PATH strace показывает системные вызовы. Все. В отличие от ldd, который показывает данные, используемые загрузчиком (ld.so). И для анализа связей библиотек рекомендуется использовать именно ldd (например, потому, что какой-нибудь икс положит вам so'шку от другой архитектуры, и вы замучаетесь понимать почему она у вас не грузится). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2006, 07:02:59 |
|
||
|
Почему не находится библиотека?
|
|||
|---|---|---|---|
|
#18+
no-dashi-v2 --null--strace как раз и показывает то, что ищется в LD_LIBRARY_PATH strace показывает системные вызовы. Все. В отличие от ldd, который показывает данные, используемые загрузчиком (ld.so). И для анализа связей библиотек рекомендуется использовать именно ldd (например, потому, что какой-нибудь икс положит вам so'шку от другой архитектуры, и вы замучаетесь понимать почему она у вас не грузится). Да что вы до человека докопались? :). Для анализа самих библиотек да, но для анализа с какого места (прости Господи) программа пытается эти библиотеки подгрузить как раз полезен strace (поскольку используется системный вызов open). Я думаю --null-- имел ввиду именно это. И что делает strace, а что ldd он знает не хуже вас. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2006, 13:04:15 |
|
||
|
|

start [/forum/topic.php?fid=25&msg=33677997&tid=1489564]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 331ms |

| 0 / 0 |
