8.5. Инсталляция совместно используемых библиотек

8.5. Инсталляция совместно используемых библиотек

Программа ldconfig выполняет всю рутинную работу по инсталляции совместно используемых библиотек. Вам всего лишь нужно получить файлы и запустить ldconfig. Выполните описанные ниже шаги.

1. Скопируйте совместно используемую библиотеку в каталог, в котором она должна быть сохранена.

2. Если нужно, чтоб компоновщик смог найти библиотеку без указания ее с помощью флажка -Lбиблиотека, инсталлируйте библиотеку в /usr/lib или создайте символическую ссылку в /usr/lib по имени имя_библиотеки.so, которая указывает на файл совместно используемой библиотеки. Вы должны использовать относительную символическую ссылку (когда /usr/lib/libc.so указывает на ../../lib/libc.so.5.3.12), а не абсолютную (когда /usr/lib/libc.so указывает на /lib/libc.so.5.3.12).

3. Если нужно, чтобы компоновщик смог обнаружить библиотеку без ее инсталляции в системе (или до ее инсталляции), создайте ссылку имя_библиотеки.so в текущем каталоге. Затем используйте -L., чтоб указать gcc на поиск библиотек в текущем каталоге.

4. Если полный путь к каталогу, в который вы инсталлировали файл совместно используемой библиотеки, не перечислен в /etc/ld.so.conf, добавьте его в этот файл, указав в отдельной строке.

5. Запустите программу ldconfig, которая создаст в каталоге, где инсталлирован файл совместно используемой библиотеки, еще одну символическую ссылку из имени soname на установленный файл. Затем в кэше динамического загрузчика появится соответствующая запись. В результате динамический загрузчик сможет найти вашу библиотеку при запуске скомпонованных с нею программ, не проводя поиск ее во множестве каталогов[14].

Создавать записи в /etc/ld.so.conf и запускать ldconfig нужно только тогда, когда библиотеки инсталлируются в качестве системных.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Механизмы эволюции библиотек

Из книги Основы объектно-ориентированного программирования автора Мейер Бертран

Механизмы эволюции библиотек Разработка высококачественных библиотек - долгая и трудная задача. Невозможно гарантировать, что построенные библиотеки сразу будут совершенными. Следовательно, важной проблемой является обеспечение разработчиков библиотеки


Потребители и производители повторно используемых программ

Из книги Сетевые средства Linux автора Смит Родерик В.

Потребители и производители повторно используемых программ В приведенном выше списке преимуществ можно выделить две ситуации - использование профессиональных или собственных компонентов. Первые четыре элемента списка описывают ситуацию использования существующих,


Форматы для распространения повторно используемых компонентов

Из книги Разработка приложений в среде Linux. Второе издание автора Джонсон Майкл К.

Форматы для распространения повторно используемых компонентов Еще одной задачей, охватывающей как технические, так и организационные проблемы, является выбор представления для распространения: исходный текст или двоичный формат? Это спорный вопрос, и мы ограничимся


Форматы данных, используемых при создании Web-узла

Из книги C++. Сборник рецептов автора Диггинс Кристофер

Форматы данных, используемых при создании Web-узла Несмотря на наличие специализированных инструментальных средств, необходимо знать форматы основных данных, применяемых при создании Web-узлов. Как правило, основное содержимое Web-узла составляют статические Web-страницы,


8.2. Совместно используемые библиотеки

Из книги Программирование для Linux. Профессиональный подход автора Митчелл Марк

8.2. Совместно используемые библиотеки Совместно используемые, или разделяемые, библиотеки обладают рядом преимуществ по сравнению со статическими библиотеками.• Linux разделяет используемую для кода исполняемого файла память между всеми процессами, которые совместно


8.3. Разработка совместно используемых библиотек

Из книги Linux и UNIX: программирование в shell. Руководство разработчика. автора Тейнсли Дэвид

8.3. Разработка совместно используемых библиотек Создание совместно используемых библиотек не намного труднее разработки обычных статических библиотек. Существует лишь несколько ограничений, но с ними очень легко справиться. Однако совместно используемым библиотекам


8.4. Сборка совместно используемых библиотек

Из книги Разработка ядра Linux автора Лав Роберт

8.4. Сборка совместно используемых библиотек Если вы разобрались с концепцией имен soname, все остальное просто. Достаточно следовать нескольким несложным правилам, которые перечислены ниже.• Собирайте свой исходный код с указанием флага -fPIC для gcc. В результате


8.6. Работа с совместно используемыми библиотеками

Из книги Продвижение порталов и интернет-магазинов автора Гроховский Леонид О.

8.6. Работа с совместно используемыми библиотеками Самый легкий способ работы с совместно используемыми библиотеками — игнорировать тот факт, что она совместная. Компилятор С автоматически задействует совместно используемые библиотеки вместо статических, если ему явно


2.3.2. Совместно используемые библиотеки

Из книги автора

2.3.2. Совместно используемые библиотеки Совместно используемая библиотека (известная также как динамически подключаемая библиотека) напоминает архив тем, что она представляет собой группу объектных файлов. Но между ними есть ряд важных различий. Самое основное из них


5.1. Совместно используемая память

Из книги автора

5.1. Совместно используемая память Простейшим способом взаимодействия процессов является совместный доступ к общей области памяти. Это выглядит так, как если бы два или более процесса вызвали функцию malloc() и получили указатели на один и тот же блок памяти. Когда один из


18.5.3. Использование команды ls совместно с циклом for

Из книги автора

18.5.3. Использование команды ls совместно с циклом for Этот цикл оценивает команду ls интерпретатора shell и отображает сведения о файлах текущего каталога.$ pg forls#!/bin/sh# forlsfor loop in `ls` doecho $LOOP done$


Совместно используемые обработчики

Из книги автора

Совместно используемые обработчики Совместно используемые (shared) обработчики выполняются практически так же, как и не совместно используемые. Существует, однако, три главных отличия.• Флаг SA_SHIRQ должен быть установлен в параметре flags при вызове функции


Замечания о формулировках заданий и используемых в них данных

Из книги автора

Замечания о формулировках заданий и используемых в них данных Если о типе исходных или результирующих числовых данных в задании ничего не сказано, то предполагаются вещественные данные. Исключение составляет группы заданий Dynamic и Tree (а также ObjDyn и ObjTree), в которой все