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

Damir Shayhutdinov =?iso-8859-1?q?damir_=CE=C1_altlinux=2Eorg?=
Ср Сен 27 13:39:01 MSD 2006


> $ find -name *.so | xargs grep add_hash_param
> Binary file ./lib/crm/pengine/.libs/libpe_rules.so matches
> Binary file ./lib/crm/pengine/.libs/libpe_status.so matches

> $ nm -CD ./lib/crm/pengine/.libs/libpe_status.so | grep add_hash_param
> 00005640 T add_hash_param
>
> $ nm -CD ./lib/crm/pengine/.libs/libpe_rules.so | grep add_hash_param
> 00003bf0 T add_hash_param
>
> Вообще, Т означает, что функция экспортируется? Это нормально, что одну
> функцию экспортирует несколько библиотек?
Это не нормально, но бывает, если определение функции включено
например в заголовочный файл.

> В libpengine_la_LIBADD нужно добавить обе библиотеки или выбирать, какую
> из? На основании чего?
Одну из них. Какая полностью покрывает все undefined symbol, такую и брать.

> Еще вопрос: я делаю make clean, ./configure, make. Это неправильно?
Лучше make distclean && ./configure && make

> Для чего и на каком этапе нужен autoreconf -fisv?
Он нужен, если вы меняете что-либо в файлах .am или .ac. Например,
добавляете -lbar в libfoo_la_LIBADD.
Его надо вызывать перед configure, чтобы перегенерировать файлы
configure и Makefile.in, если "исходные файлы" - configure.in
(configure.ac) и Makefile.am были изменены.

> Правильно ли я понимаю,
> что это замена make clean, ./configure?
Нет.

> Для чего autoreconf -fisv нужен
> в спеке, если исходники после наложения патчей до %configure еще не
> сконфигурированы (т.е. ./configure не выполнен)

Чтобы сделать правильный ./configure и Makefile.in


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