Линус Торвальдс - хакер? [закрыто]

Общие библиотеки должны иметь версию по следующей схеме:

blah.so.X.Y.Z

где

  • X = выпуск ABI с обратной несовместимостью
  • Y = выпуск ABI с обратной совместимостью
  • Z = только внутренние изменения - никаких изменений в ABI

Обычно вы видите только первую цифру, например hello.so.1, потому что первая цифра - единственное, что нужно для идентификации "версии" библиотеки, поскольку все остальные цифры обратно совместимы.

ldconfig ведет таблицу того, какие общие библиотеки доступны в системе и где находится путь к этой библиотеке. Вы можете проверить это, выполнив:

ldconfig -p

Когда пакет собирается для чего-то вроде Red Hat, общие библиотеки, вызываемые в двоичном файле, будут просмотрены и добавлены в качестве зависимостей пакета во время сборки RPM. Поэтому, когда вы собираетесь установить пакет, программа установки проверит, установлен ли hello.so.1 в системе, проверив ldconfig.

Вы можете посмотреть зависимости пакета, сделав что-то вроде:

rpm -qpR hello.rpm

Эта система (в отличие от Windows) позволяет устанавливать несколько версий hello.so в системе и использовать их одновременно разными приложениями.

5
03.05.2013, 22:53
0 ответов

Теги

Похожие вопросы