Практикум 4: Библиотека с подпакетом -devel (libyaml)
Разделение библиотеки на runtime и -devel на примере libyaml: SONAME, ldconfig, pkgconfig и типичные ошибки.
В этом практикуме мы упакуем libyaml — C-библиотеку для работы с YAML. Это ваш первый пакет с разделяемой библиотекой (shared library), и здесь будет много нового: подпакеты, символические ссылки, ldconfig и pkgconfig. Разберём всё по шагам.
Что вы узнаете
- Что такое shared library и как работает версионирование
.so - Зачем и как разделять пакет на основной и
-devel - Что делает
ldconfigи почему без него программы падают - Что такое pkgconfig и как разработчики находят библиотеки
- Как проверять SONAME с помощью
readelf - Почему нужно удалять
.la-файлы
О проекте
libyaml — это библиотека для парсинга и генерации YAML на языке C.
В этом практикуме мы соберём её из исходников, разделим на runtime-пакет
и -devel-подпакет, настроим ldconfig и pkgconfig.