next up previous contents
Next: Модернизация компилятора gcc Up: Модернизация и установка нового Previous: Установка модуля с драйвером

Модернизация библиотек

    Как упоминалось выше, большая часть программного обеспечения системы Linux компилируется с использованием библиотек общего пользования (shared libraries). В этих библиотеках содержатся процедуры, которые используются различными программами.

Если при запуске программы система выдает сообщение

Incompatible library version
(несовместимые версии библиотек), то это означает, что нужна модернизация библиотек до той версии, которая требуется программе. Библиотеки совместимы со своими более старыми версиями, и значит, если какая-то программа работает со старой версией библиотеки, то она должна работать и после модернизации этой библиотеки. Обратное, однако, неверно.

Новейшие версии библиотек можно найти на FTP-сайтах системы Linux. На сайте sunsite.unc.edu они расположены в каталоге /pub/Linux/GCC. "Пояснительные" ("release") файлы, расположенные там же, расскажут, какие файлы надо копировать и как устанавливать. Вкратце, надо скопировать файлы image-version.tar.gz и inc-version.tar.gz, где version -- версия устанавливаемых библиотек, например, 4.4.1. Все библиотеки являются архивами tar, сжатыми программой gzip. Файл image содержит библиотеки, которые нужно установить в каталоги /lib и /usr/lib. Файл inc содержит файлы определений; они помещаются в каталог /usr/include.

Файл с именем release-version.tar.gz должен подробно описывать процедуру установки (точные инструкции изменяются для каждой новой версии). В целом, следует установить файлы .a и .sa из библиотек в каталог /usr/lib. Эти файлы являются библиотеками, используемыми при компилировании.

Помимо этого, устанавливаются библиотеки общего пользования libc.so.version в каталог /lib. Эти библиотеки загружаются при работе программ, использующих библиотеки. Для каждой библиотеки в каталоге /lib имеется также и символическая ссылка, в имени которой содержится основной номер версии библиотеки.

Основным номером версии для библиотеки libc версии 4.4.1 является номер 4. Библиотека содержится в файле libc.so.4.4.1. Символическая ссылка на имя libc.so.4 также помещена в каталог /lib и указывает на библиотеку. При модернизации библиотек эту символическую ссылку необходимо изменять. Например, при модернизации от версии libc.so.4.4 до версии libc.so.4.4.1 надо изменить символическую ссылку так, чтобы она указывала на новую версию.

Символическую ссылку надо изменять в один шаг так, как это показано ниже. Если символическая ссылка libc.so.4 будет удалена, то программы, зависящие от этой ссылки (включая такие основные утилиты, как ls и cat), перестанут работать. Для изменения символической ссылки libc.so.4 так, чтобы она указывала на файл libc.so.4.4.1, надо ввести команду

\# \tinput{ln -sf /lib/libc.so.4.4.1 /lib/libc.so.4}

Требуется также изменить аналогичным образом символическую ссылку libm.so.version. Сюда надо подставить соответствующие имена файлов (если модернизация проводится до другой версии библиотеки). Подробности должны быть указаны в комментариях к версии библиотеки (release notes). Более подробная информация о символических ссылках дана в разд. 3.11.


next up previous contents
Next: Модернизация компилятора gcc Up: Модернизация и установка нового Previous: Установка модуля с драйвером

root
Sun Aug 29 12:01:30 MSD 1999