URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID15
Нить номер: 3788
[ Назад ]

Исходное сообщение
"Одновременная установка двух версий одной библиотеке."

Отправлено art.tykh , 07-Мрт-12 12:54 
Есть:  
Ubuntu 10.10, библиотека libexpat версии 2.0.1.

Необходимо:
Установить дополнительно библиотеку libexpat версии 2.0.0.

Что делаю:

Качаю с http://expat.sourceforge.net/ source для libexpat-2.0.0. Собираю.     Устанавливаю. По умолчанию ставиться в /usr/local/lib:

$/usr/local/lib/
libexpat.a  libexpat.la  libexpat.so  libexpat.so.1  libexpat.so.1.5.0

Но в списке установленых библиотек данной версии нет:

$/sbin/ldconfig -p | grep libexpat
libexpatw.so.1 (libc6) => /lib/libexpatw.so.1
libexpat.so.1 (libc6) => /lib/libexpat.so.1

$dpkg -l |grep 'ii  libexpat'
ii  libexpat1                            2.0.1-7ubuntu1

Вопрос:
Как сделать доступной для приложений версию libexpat-2.0.0?

Глобальный вопрос:
Как в Ubuntu реализован механизм одновременной установки разных версий одной библиотеки?

Заранее спасибо!


Содержание

Сообщения в этом обсуждении
"Одновременная установка двух версий одной библиотеке."
Отправлено Loly , 07-Мрт-12 13:33 

> Необходимо:

/sbin/ldconfig -v | grep "/usr/local/lib"

or

echo "/usr/local/lib" >> /etc/ld.so.conf && ldconfig


"Одновременная установка двух версий одной библиотеке."
Отправлено art.tykh , 07-Мрт-12 14:14 
> echo "/usr/local/lib" >> /etc/ld.so.conf && ldconfig

Теперь библиотека есть в списке:


$/sbin/ldconfig -p | grep libexpat
    libexpatw.so.1 (libc6) => /lib/libexpatw.so.1
    libexpat.so.1 (libc6) => /usr/local/lib/libexpat.so.1
    libexpat.so.1 (libc6) => /lib/libexpat.so.1
    libexpat.so.1 (libc6) => /usr/lib/libexpat.so.1
    libexpat.so (libc6) => /usr/local/lib/libexpat.so
    libexpat.so (libc6) => /usr/lib/libexpat.so

Но dpkg её не отображает:


$dpkg -l |grep 'ii  libexpat'
ii  libexpat1                            2.0.1-7ubuntu1

Это проблема?

Достаточно ли добавления директории /usr/local/lib в /etc/ld.so.conf для корректной работы програм с версией 2.0.0?


"Одновременная установка двух версий одной библиотеке."
Отправлено Loly , 07-Мрт-12 15:22 
>Качаю с http://expat.sourceforge.net/ source для libexpat-2.0.0. Собираю. Устанавливаю.

Где тут dpkg -i или apt-get/aptitude install ?


"Одновременная установка двух версий одной библиотеке."
Отправлено art.tykh , 07-Мрт-12 16:01 
>>Качаю с http://expat.sourceforge.net/ source для libexpat-2.0.0. Собираю. Устанавливаю.
> Где тут dpkg -i или apt-get/aptitude install ?

Ок. Я понял.
Обобщающий вопрос: значит добавления директории, в которую установлена библиотека(например /usr/local/lib), в файл /etc/ld.so.conf достаточно для корректной работы приложения с данной версией библиотеки(даже если в /usr/lib или /lib лежит другая версия библиотеки)?


"Одновременная установка двух версий одной библиотеке."
Отправлено LSTemp , 09-Мрт-12 06:10 
>>>Качаю с http://expat.sourceforge.net/ source для libexpat-2.0.0. Собираю. Устанавливаю.
>> Где тут dpkg -i или apt-get/aptitude install ?
> Ок. Я понял.
> Обобщающий вопрос: значит добавления директории, в которую установлена библиотека(например
> /usr/local/lib), в файл /etc/ld.so.conf достаточно для корректной работы приложения с
> данной версией библиотеки(даже если в /usr/lib или /lib лежит другая версия
> библиотеки)?

как у Вас все туго... что такое dll в винде знаете? так вот so (shared object) аналог. только надо либо явно указывать библиотеки для работы_программ/сборки_сырцов, либо отдать это на откуп специально обученному зверю. man ldconfig и смотрите какие файлы конфига он использует в Вашей системе. и после изменения настроек не забудьте запустить ldconfig чтоб он их скушал/скомпилил и отдавал актуальные данные.



"Одновременная установка двух версий одной библиотеке."
Отправлено LSTemp , 09-Мрт-12 06:13 
> Глобальный вопрос:
> Как в Ubuntu реализован механизм одновременной установки разных версий одной библиотеки?

как и везде - разными файлами. может Вы о каком-то менеджере пакетов хотели спросить?

> Заранее спасибо!