05 марта 2026 № 1 (2026)

ROSARIUM

газета советского программиста

Практикум 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.

Разделы практикума

  1. Теория: библиотеки, SONAME, ldconfig и pkgconfig
  2. Подготовка, скачивание и сборка
  3. Проверка качества и тестовая установка
  4. Ошибки новичков и дополнительные материалы