ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: "Damir Shayhutdinov" <damir@altlinux.org>
To: "ALT Devel discussion list" <devel@lists.altlinux.org>
Subject: Re: [devel] ldd: почему?
Date: Fri, 29 Sep 2006 09:39:44 +0400
Message-ID: <679044850609282239j5d9887a0y4fc9f0c67559891@mail.gmail.com> (raw)
In-Reply-To: <1159505564l.7030l.0l@ildar.nexttel.kz>

> > Потому что --as-needed.
> > Со статической сборкой было бы то же самое.
> Знаете, я не первый раз встречаюсь с упоминаемой близостью
> динамических--as-needed и статических библиотек. И мне такое сравнение
> не нравится. Всё-таки динамические (даже если с --as-needed) остаются
> динамическими. И пожелание к ним такое: чтобы они декларировали
> используемые библиотеки. Хотя, конечно, такое пожелание не всегда легко
> выполнимо.

Объясняю:
Допустим, что библиотека A использует библиотеку B.
Тогда, если вы собираете библиотеку С, которая использует символы из
библиотек A и B, то без --as-needed вам было достаточно прилинковывать
только библиотеку A, а библиотека B "вытягивалась" неявно. С
--as-needed вам надо прилинковывать обе библиотеки, и это правильно.
Вы ведь используете символы из обеих библиотек.
Если бы вы использовали символы только из A, то и прилинковывать надо
было только библиотеку A. В случае --no-as-needed к результирующей
библиотеке оказалась бы напрямую слинкована библиотека B. В случае
--as-needed этого бы не произошло.

>
> Хорошо, что у нас есть verify-elf, и он не дремлет!
Если вас волнуют предупреждение именно на этапе сборки, то можно
добавить -Wl,--no-allow-shlib-undefined в LDFLAGS (но это не панацея,
потому что некоторые кривые библиотеки должны быть недолинкованы).

> > Указывайте все библиотеки, символы которых используются в вашей
> > библиотеке, в строке линковки и у вас не будет проблем ни со
> > статической сборкой, ни с --as-needed.
> Чур меня от статических библиотек. :)
Это аргумент для апстримов.

  reply	other threads:[~2006-09-29  5:39 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-09-28  8:49 Ildar Mulyukov
2006-09-28  8:57 ` Damir Shayhutdinov
2006-09-29  4:52   ` Ildar Mulyukov
2006-09-29  5:39     ` Damir Shayhutdinov [this message]
2006-09-29 10:08       ` Ildar Mulyukov
2006-09-28 10:01 ` Sergey Vlasov
2006-09-28 11:21   ` Sergey V Turchin
2006-09-28 11:43     ` Sergey Vlasov
2006-09-28 12:15       ` Sergey Vlasov

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=679044850609282239j5d9887a0y4fc9f0c67559891@mail.gmail.com \
    --to=damir@altlinux.org \
    --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