LINUX.ORG.RU

сборка библиотек для «набора программ» в PREFIX_CUSTOM

 


0

1

добрый день

есть идея сборку "некоего набора программ" сделать по «своему», так сказать, с некоторыми «своими финтами ушных сраковин»..., ну как обычно ...

1. сборка (*) «дублирующих» библиотек для «набора программ» планируется ставить в свои PREFIX_CUSTOM=/usr/lib/libXXX (or /opt/libXXX, не суть важна)

(*) - допустим, в «дефолтной» установке LINUX библиотека lib_xxx-1.x.x, а для сборки/работы «набора программ» требуется lib_xxx-2.x.x, поэтому планируется не «рихтовать/препаритовать» систему, а установить «рядом» нужную библиотеку в PREFIX_CUSTOM и для «сборки/работы» «набора программ» использовать ее

2. сборка самого "набора программ" с соотв. ключами/environmen/LIBRARY_PATH, указывающими на соотв. библиотеки в CUSTOM_PREFIX

ВОПРОС: собранные «программы» будут по умолчанию искать библиотеки в PREFIX_SANDART или для «правильного поведения» нужно принудительно указывать LD_LIBRARY_PATH=PREFIX_CUSTOM?

p.s. буду благодарен за любые ответы по теме, спасибо

★★★★

Если бинарно распостранять не самоцель, то можно RPATH использовать.

Ещё, можно посмотреть, как devtoolset в rhel сделаны.

pon4ik ★★★★★
()

собранные «программы» будут по умолчанию искать библиотеки в PREFIX_SANDART или для «правильного поведения» нужно принудительно указывать LD_LIBRARY_PATH=PREFIX_CUSTOM?

https://en.wikipedia.org/wiki/Rpath

Deleted
()
Ответ на: комментарий от sunjob

Надо почитать man ld от корки до корки, и все вопросы отпадут :)

По факту нужно просто сделать абсолютными и безусловными пути в таблице импорта.

Альтернатива - собирать статически. Другая альтернатива - иметь точку входа которая нужное окружение устанавливает(пресловутый LD_LIBRARY_PATH). Может ещё есть какие то варианты вокруг ldconfig.

pon4ik ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.