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

Led =?iso-8859-1?q?led_=CE=C1_altlinux=2Eru?=
Вт Сен 19 18:50:42 MSD 2006


В сообщении от 19 сентября 2006 17:09 Damir Shayhutdinov написал(a):
> > Естественно, при сборке сначала собирается 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, но это естественно, намного
> проще.

Оно, конечно "идеологически неверное", но если на 100% уверен в том, для чего 
это делаешь, то ИМХО можно:)

-- 
Led.



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