[devel] взаимозависимые библиотеки

Damir Shayhutdinov =?iso-8859-1?q?damir_=CE=C1_altlinux=2Eorg?=
Вт Сен 19 18:09:32 MSD 2006


> Естественно, при сборке сначала собирается libgda_handlers-3.so, ссылки
> на функции из основной библиотеки не мешают собраться этой библиотеке,
> но verify-elf её не пропускает (и правильно делает)
>
> Вопрос: как правильно преодолеваются такие случаи?

Правильно - разделением кольцевой зависимости  (созданием третьей
либы) на уровне апстрима.
Допустим, А использует функции из B, а B - из A.

Тогда библиотека B разделяется на библиотеку B' и C.
В библиотеку C выносятся все функции библиотеки B, которые использует
библиотека A. При этом C не должна иметь зависимостей на A или B'.

Таким образом, получается зависимость
A -> C
B' -> C, A

Идеологически неверно, но приемлемо решать методом
%_set_verify_elf_method unresolved=relaxed, но это естественно, намного проще.


Подробная информация о списке рассылки Devel