[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