[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