ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Eugene Prokopiev <prokopiev@stc.donpac.ru>
To: ALT Devel discussion list <devel@lists.altlinux.org>
Subject: Re: [devel] Сборка heartbeat с --as-needed
Date: Wed, 27 Sep 2006 13:20:33 +0400
Message-ID: <451A4261.5060807@stc.donpac.ru> (raw)
In-Reply-To: <679044850609270112l1846b1c9ta8e9bf7054618b46@mail.gmail.com>

Damir Shayhutdinov пишет:
>>Как в общем случае догадаться, что необходимо дописать в этот файл?
>>
>>В моем случае ситуация несколько облегчается тем, что есть
>>heartbeat-alt-build.patch от lakostis, правда для версии 2.0.4. В нем
>>фрагмент, относящийся к crm/pengine/Makefile.am, выглядит так:
> 
> 
>>Можно ли как нибудь сделать такой вывод (или другой, если это ошибочен)
>>не на основании патча к 2.0.4, а на основании вывода make?
> 
> Возможно, это поможет:
> http://lists.altlinux.org/pipermail/sisyphus/2006-July/084838.html

спасибо

пробую

> надо найти, в какой библиотеке находятся отсутствующие символы.
> Обычно можно догадаться по названию, но если это не ясно - придется
> искать. Я обычно делаю первичный поиск грепов по всем файлам *.so в
> каталоге сборки, а потом с помощью nm -CD bar/.libs/libbar.so | grep
> megabar определяю, есть ли этот символ в библиотеке libbar.so. (Если
> напротив символа стоит U - то нету, а если T - то есть).
> 
> Если выяснено, что unresolved символы находятся в библиотеке
> libbaz.so, тогда надо добавить в  строчку -lbaz - то есть примерно
> так:
> 
> libfoo_la_LIBADD = -lbar -lbaz

$ 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 нужно добавить обе библиотеки или выбирать, какую 
из? На основании чего?

>>После make clean, ./configure, make получаю:
>>gmake[2]: *** No rule to make target
>>`../../lib/crm/cib/libpe_status.la', needed by `libpengine.la'.  Stop.
> 
> 
> Проверьте путь к библиотеке. Также, возможно, вам надо будет поменять
> порядок директорий при сборке, чтобы libpe_status.la собиралась раньше
> чем libpengine.la

Проверил. Действительно, проблема в этом. Исправил, пока собирается.

Еще вопрос: я делаю make clean, ./configure, make. Это неправильно? Для 
чего и на каком этапе нужен autoreconf -fisv? Правильно ли я понимаю, 
что это замена make clean, ./configure? Для чего autoreconf -fisv нужен 
в спеке, если исходники после наложения патчей до %configure еще не 
сконфигурированы (т.е. ./configure не выполнен)

> _______________________________________________
> Devel mailing list
> Devel@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel


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



  reply	other threads:[~2006-09-27  9:20 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-09-27  6:21 Eugene Prokopiev
2006-09-27  6:30 ` Alexey I. Froloff
2006-09-27  6:52   ` Eugene Prokopiev
2006-09-27  7:39     ` Konstantin A. Lepikhov
2006-09-27  8:01       ` Eugene Prokopiev
2006-09-27  8:12 ` Damir Shayhutdinov
2006-09-27  9:20   ` Eugene Prokopiev [this message]
2006-09-27  9:39     ` Damir Shayhutdinov
2006-09-27 10:07       ` Eugene Prokopiev
2006-09-27 10:29         ` Damir Shayhutdinov
2006-09-27 10:41           ` Eugene Prokopiev
2006-09-27 11:26             ` Damir Shayhutdinov
2006-09-27 10:06     ` Konstantin A. Lepikhov
2006-09-27 10:28       ` Eugene Prokopiev
2006-09-27 10:46         ` Konstantin A. Lepikhov
2006-09-27 10:07     ` Eugene Prokopiev
2006-09-27 10:21       ` Damir Shayhutdinov
2006-09-27 10:35         ` Eugene Prokopiev
2006-09-27 10:23       ` Eugene Prokopiev
2006-09-27 10:29         ` Igor Zubkov
2006-09-27 10:29         ` Led
2006-09-27 10:30         ` Igor Zubkov
2006-09-27 10:11     ` Konstantin A. Lepikhov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=451A4261.5060807@stc.donpac.ru \
    --to=prokopiev@stc.donpac.ru \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git