[devel] Сборка heartbeat с --as-needed

Damir Shayhutdinov =?iso-8859-1?q?damir_=CE=C1_altlinux=2Eorg?=
Ср Сен 27 14:29:50 MSD 2006


> > Одну из них. Какая полностью покрывает все undefined symbol, такую и брать.
>
> Бывает, что ни одна не покрывает? И тогда мне брать ту которая покрывает
> больше всего + еще какую(какие)-нибудь?
Угу, бывает надо несколько библиотек прилинковать, чтобы все
зависимости закрыть. Процесс итеративный, хотя о том, какие библиотеки
нужны иногда можно догадаться по именам символов и тогда добавить
сразу все.

Например, если символы в библиотеке libfoo.so начинаются с foo_
(например, foo_bar), а символы в библиотеке libbar.so начинаются с
bar_, тогда если в выводе "ldd -r" какой-то третьей библиотеки
появляются символы с префиксами foo_ и bar_, то ясно что
прилинковывать надо обе :)

> Вот я меняю Makefile.am, делаю только make clean, ./configure, make без
> autoreconf -fisv и вижу, что дело движется ... Почему? В моем случае это
> исключение, а обычно без autoreconf -fisv толку нет? От чего это зависит?
От даты модификации файлов "Makefile", "Makefile.in и Makefile.am".
autoreconf -fisv нужно обязательно делать при изменении configure.in
или configure.ac.

> Makefile.in вроде генерируется на основе Makefile.am с помощью
> ./configure, а ./configure я не менял.
Нет, Makefile.in генерируется из Makefile.am с помощью automake (эта
команда в числе прочих вызывается при autoreconf).

А с помощью configure из Makefile.in генерируется финальный Makefile.

> Значит autoreconf -fisv в таком случае не нужен? Или я не прав?
В принципе достаточно сделать automake. Но autoreconf надежнее :)


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