Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Как установить дополнительные совместно используемые библиотеки



Что, если при установленном linux_base порте ваше приложение все равно сообщает об отсутствии необходимой библиотеки? Как узнать, какая именно нужна библиотека и где ее взять? В принципе, есть два способа. Вам необходимо иметь привилегии пользователя root для их осуществления.

Если у вас есть доступ к машине, на которой установлен Linux, узнайте, какие библиотеки использует Linux–приложение, и просто скопируйте из на свою машину. Рассмотрим следующий пример:

Допустим, вы скачали по FTP Linux–версию Doom и установили ее на Linux–машине. Вы можете узнать, какие совместно используемые библиотеки нужны Doom, с помощью команды ldd linuxdoom:

% ldd linuxdoom

libXt.so.3 (DLL Jump 3.1) => /usr/X11/lib/libXt.so.3.1.0

libX11.so.3 (DLL Jump 3.1) => /usr/X11/lib/libX11.so.3.1.0

libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29

Вам потребуются все файлы, перечисленные в последнем столбце. Скопируйте их в дерево /compat/linux на вашей системе, а также создайте символические ссылки на эти файлы с именами из первого столбца, соответственно. В итоге, у вас в системе FreeBSD должны быть следующие файлы:

/compat/linux/usr/X11/lib/libXt.so.3.1.0

/compat/linux/usr/X11/lib/libXt.so.3 -> libXt.so.3.1.0

/compat/linux/usr/X11/lib/libX11.so.3.1.0

/compat/linux/usr/X11/lib/libX11.so.3 -> libX11.so.3.1.0

/compat/linux/lib/libc.so.4.6.29

/compat/linux/lib/libc.so.4 -> libc.so.4.6.29

Замечание: Учтите, что если у вас уже есть совместно используемая библиотека Linux с соответствующим первому столбцу результатов ldd основным номером версии, вам не обязательно копировать файл, указанный в последнем столбце, в вашу систему. Уже существующий файл должен подойти. Рекомендуется, однако, все равно скопировать совместно используемую библиотеку, если ее версия новее. Предыдущую версию библиотеки можно удалить, если вы создали символическую ссылку на новую. Итак, если у вас в системе есть следующие библиотеки:

/compat/linux/lib/libc.so.4.6.27

/compat/linux/lib/libc.so.4 -> libc.so.4.6.27

и какое-либо приложение требует библиотеку более поздней версии, судя по результатам команды ldd:

libc.so.4 (DLL Jump 4.5pl26) -> libc.so.4.6.29

Если версии немного отличаются в последней цифре, копировать /lib/libc.so.4.6.29 необязательно, так как программа, скорее всего, будет нормально работать и с немного устаревшей версией. Тем не менее, вы можете заменить libc.so:

/compat/linux/lib/libc.so.4.6.29

/compat/linux/lib/libc.so.4 -> libc.so.4.6.29

Замечание: Символические ссылки важны только для Linux–программ. Runtime–компоновщик FreeBSD самостоятельно подберет правильные номера версий библиотек, и вам не нужно об этом беспокоиться.





Дата публикования: 2015-01-10; Прочитано: 258 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...