Каковы хорошие практики в отношении разделяемых библиотек в Linux?

Недавно я много читал о разделяемых библиотеках в Linux, и вот что я узнал:

  • Общая библиотека должна встраивать soname включая его основной номер версии. Что-то вроде: libfoo.so.1
  • Его реальное имя файла также должно включать вспомогательный номер версии. Что-то вроде: libfoo.so.1.0
  • Когда файл библиотеки копируется, скажем, /usr/local/lib, если ldconfig будет запущен, он будет читать soname и создайте символическую ссылку с именем libfoo.so.1 указывая на libfoo.so.1.0,
  • Если кто-то хочет использовать эту библиотеку для своих разработок, он должен сначала создать символическую ссылку без какого-либо номера версии на настоящий файл, скажем, libfoo.so указывая на libfoo.so.1.0, Обычно это делается пакетом разработки (когда библиотека упакована).

Это правильно?

1 ответ

Решение

Предлагаемое чтение:

Ульрих Дреппер Как писать общие библиотеки: http://www.akkadia.org/drepper/dsohowto.pdf

Передовой опыт Ульриха Дреппера в области проектирования, реализации и обслуживания библиотек: http://www.akkadia.org/drepper/goodpractice.pdf

Dsohowto гораздо более подробно. GoodPractice - это быстрое чтение.

Другие вопросы по тегам