Здравствуйте. Для тех, кто не в курсе, краткая справка: libtool -- это wrapper для компилятора и линкера для упрощенного создания библиотек. Псевдо-библиотека libtool имеет суффикс .la (пресловутые .la files). Псевдо-библиотеке соответствуют статическая .a и динамическая .so библиотеки. Сборка этих двух типов библиотек автоматически выполняются с разными флагами компиляции (для динамических библиотек генерируется т.н. position independent code с помощью -fPIC). Таким образом, одни и те же библиотечные исходники компилируются дважды (если не отключить статическую сборку). По умолчанию используются динамические библиотеки, для которых PIC code дает заметное преимущество. Для статических библиотек и executables PIC code дает небольшой проигрыш. Теперь обратим внимание на пакет mpfc (music player for console). $ cat mpfc-1.1.1/plugins/effect/echo/Makefile.am lib_LTLIBRARIES = libecho.la libdir = $(prefix)/lib/mpfc/effect libecho_la_SOURCES = echo.c INCLUDES = -I$(top_builddir)/src libecho_la_LIBADD = $(top_builddir)/src/util/libutil.a \ $(top_builddir)/src/cfg/libcfg.a $ Здесь мы видим, что "полноценная" libtool библиотека libecho.la как в статическом, так и в динамическом виде линкуется со вспомогательными статическими библиотеками libutil.a и libcfg.a. $ cat mpfc-1.1.1/src/util/Makefile.am noinst_LIBRARIES = libutil.a libutil_a_SOURCES = util.c ../util.h localedir = $(datadir)/locale DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@ INCLUDES = -I$(top_builddir)/src $ Здесь мы видим, что библиотека libutil.a действительно является вспомогательной и не предназначена для установки (noinst_LIBRARIES), а предназначена только для статической компоновки в libecho.la и в некоторые другие библиотеки этого пакета. Таким образом, by design, в этом пакете статический non-piс код (libutil.a) будет "подмешиваться" в динамические библиотеки (libecho.so). Соответственно, такие динамические библиотеки не будут проходить проверку brp-verify_elf. К чести libtool надо сказать, что в таких ситуациях он выдает честное предупреждение: *** Warning: Linking the shared library libecho.la against the *** static library ../../../src/util/libutil.a is not portable! К "стыду" разработчиков надо сказать, что пакет mpfc не один подвержен этой напасти (сегодня я ещё исправил flac и буду дальше заниматься этим вопросом). Теперь предлагаю обсудить варианты решения проблемы: 1) Можно изменить структуру пакета (возможно, увеличив число полноценных библиотек и исключив вспомогательные статические библиотеки). 2) Обнаружив вспомогательные статические библиотеки, можно "насильно" заставить их собираться с -fPIC примерно следующим образом: %configure %__subst -p 's/%optflags/& %optflags_shared/g' .../Makefile %make_build Я пока предпочел второй вариант.