LINUX.ORG.RU

установить несколько версий библиотек


0

0

при сборке программы нужно прилинковывать стороннюю библиотеку и хочется держать у себя параллельно несколько версий этой библиотеки для тестирования. Как наиболее разумно это сделать? Ведь все в /usr/local не положишь. Наверное как-то играть с prefix?

Таким вещам место в /opt/*

Slavaz ★★★★★
()

Если для тестирования, и если эта библиотека не пересекается с уже установленными в системе, то IMHO проще всего сделать символическую ссылку на библиотеку нужной версии и потом менять её (возможно не забывая набирать ldconfig). При этом необходимо исключить размещение библиотек нескольких версий в LD_LIBRARY_PATH, т.е. разместите библиотеки где-нибудь в /home/user/libs.

Можно еще наверное делать LD_PRELOAD=/home/user/lib/libtest.so.1.2.3 myapplication

saper ★★★★★
()
Ответ на: комментарий от Rarruga

И еще. Вот я собрал сам библиотеку из исходников, сделал configure c нужным мне --prefix, make и make install. А удалить корректно не понятно как, потому что в makefile нету цели uninstall. А в цели инсталл просто копирование и отрабатывает программа /usr/bin/install

Короче если просто руками удалить все установленные файлы, то все равно где-то что-то остается. Это видно по тому, что другая библиотека для своей сборки пытается найти эту на прежнем месте, откуда я ее уже удалил.

Rarruga
() автор топика
Ответ на: комментарий от Rarruga

Думаю не нужно было делать make install, а лучше поставить и запускать checkinstall, которая сама отследит и сделает пакет, который можно потом удалить.

saper ★★★★★
()
Ответ на: комментарий от Rarruga

> Короче если просто руками удалить все установленные файлы, то все равно где-то что-то остается. Это видно по тому, что другая библиотека для своей сборки пытается найти эту на прежнем месте, откуда я ее уже удалил.

лучше использовать stow/xstow. Программа ставится с уникальным префиксом, а затем stow создает/удаляет симлинки в /usr/local.

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