Отладка dlopen (динамической подгрузки) библиотек в Linux/UNIX

Понадобилось узнать, почему FreeIPA выдавала ошибку загрузки библиотеки, не выдавая подробный текст ошибки. Этот способ позволяет выполнять dlopen() библиотек и смотреть, успешно ли прошла операция, и видеть ошибки.
Используется Python CFFI.
Читать далее Отладка dlopen (динамической подгрузки) библиотек в Linux/UNIX

Пример использования valgrind для отладки в т.ч. зависания программы

named-pkcs11 при запуске зависает.
Читать далее Пример использования valgrind для отладки в т.ч. зависания программы

Что нужно для сборки программы на базе библиотеки в UNIX-подобных ОС

Есть бинарный (то есть уже скомпилированный) файл-библиотека kompas.so.6. Если она упакована по правилам дистрибутива, то kompas.so.6 входит в пакет libkompas6, а симлинк kompas.so -> kompas.so.6, заголовочные файлы /usr/include/kompas/*.h и файл pkgconfig /usr/lib64/pkgconfig/kompas.pc (в случае Debian, т.к. в нем не биарч, а мультиарч, вместо /usr/lib64 будет /usr/lib/$ABI/) входят в пакет libkompas-devel
Читать далее Что нужно для сборки программы на базе библиотеки в UNIX-подобных ОС

Собрал Kdenlive 18.12.0 с патчами

В PPA ppa:mikhailnov/utils собрал Kdenlive 18.12.0 для Ubuntu 18.04, 18.10, 19.04

Читать далее Собрал Kdenlive 18.12.0 с патчами

Как версионируются и совмещаются библиотеки из разных репозиториев

Давайте на примере btrfs-progs 4.19.1 и ffmpeg рассмотрим особенности сборки, версионирования пакетов и библиотек в дистрибутивах с продвинутой пакетной системой, то есть Deb или RPM, но не pacman или порты BSD (emerge из Gentoo имеет совсем иные принципы решения этих задач).

deb src: https://gitlab.com/nixtux-packaging/btrfs-progs/tree/master/btrfs-progs-4.19.1/debian
RPM src: https://abf.io/import/btrfs-progs
RPM binary: https://abf.io/build_lists/2957703

В приведенных примерах принцип упаковки и разделения на подпакеты идентичен.
Есть исходный пакет btrfs-progs, то есть исходные коды, расположенные по адресу https://github.com/kdave/btrfs-progs

Как можете наглядно видеть по ссылке «RPM binary: https://abf.io/build_lists/2957703» из одного исходного пакета собраны следующие бинарные, у каждого из которых стоит одинаковое значение %EVRD, то есть эпоха, версия, релиз и дистрибутив (в Альте %EVR вместо %EVRD в Росе):
— btrfs-progs
— libbtrfs0
— libbtrfsutil1
Читать далее Как версионируются и совмещаются библиотеки из разных репозиториев

Добавлено многопоточное сжатие XZ в RPM 5

В тестингах ROSA 2016.1 RPM 5, наученный упаковывать .rpm и .src.rpm, используя многопоточное сжатие xz.

Сжатие .src.rpm переведено с gzip на xz по умолчанию.
Сжатием .rpm был xz, он и остался, но стал многопоточным по умолчанию.

Пример проверки использованного в пакете сжатия:
Читать далее Добавлено многопоточное сжатие XZ в RPM 5