LINUX.ORG.RU

Путь к либам


0

0
Как заставить программу искать определенную разделяемую библиотеку в текущем каталоге? В данном случае нужно заставить подгружать libmysqlclient.so.16 лежащую в одном каталоге и исполняемым файлом

в одном каталоге C исполняемым файлом
T-34
() автор топика
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$PWD"
snizovtsev ★★★★★
()
Ответ на: комментарий от UVV
Корректным ли будет решение распространять cgi написанный на Cи, с пару тройкой либ (libmysqlclient) и sh скриптом который будет вызываться апачем. В свою очередь sh cкрипт будет устанавливать LD_PRELOAD и вызывать целевую программу?
T-34
() автор топика
Ответ на: комментарий от T-34
Можно ведь подгружать libmysqlclient через dlopen???
T-34
() автор топика
Ответ на: комментарий от T-34
Что делает такого особенного твой скрипт на Си, чего не достичь "традиционными" средствами -- python. php, ruby?
kondor ★★★
()
Ответ на: комментарий от mv
> LD_PRELOAD=/path/to/libmysqlclient.so.16 xxx

Это же для того, чтобы грузить либу, которую бинарник сам не просит. А если просит, то выше упомянутое LD_LIBRARY_PATH помогает найти либу в нужном месте.

const86 ★★★★★
()
Ответ на: комментарий от const86
Насколько я понимаю, LD_PRELOAD гарантирует, что указанная библиотека будет загружена первой (и, соответственно, символы из неё заменят такие же из других библиотек). ИМХО если такая же библиотека есть и в системе - лучше LD_PRELOAD.
slav ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.