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

Eugene Prokopiev =?iso-8859-1?q?prokopiev_=CE=C1_stc=2Edonpac=2Eru?=
Ср Сен 27 14:07:25 MSD 2006


Damir Shayhutdinov пишет:
>>$ 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?
> 
> Нет.

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

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

Makefile.in вроде генерируется на основе Makefile.am с помощью 
./configure, а ./configure я не менял. Значит autoreconf -fisv в таком 
случае не нужен? Или я не прав?

-- 
С уважением, Прокопьев Евгений




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