ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Sviatoslav Sviridov <svd@altlinux.ru>
To: ALT Devel discussion list <devel@lists.altlinux.org>
Subject: [devel]  subversion, libaprutil, libdb4 (was: apache2-2.0.55-alt5)
Date: Fri, 24 Mar 2006 10:19:27 +0200
Message-ID: <4423AB8F.70203@altlinux.ru> (raw)
In-Reply-To: <20060323231825.GC7117@basalt.office.altlinux.org>

[-- Attachment #1: Type: text/plain, Size: 2770 bytes --]

Dmitry V. Levin wrote on 3/24/2006 1:18 AM:
> On Fri, Mar 24, 2006 at 02:13:58AM +0300, Денис Смирнов wrote:
>   
>> $ldd /usr/lib/libsvn_fs_base-1.so.o | grep libdb
>> 	libdb-4.3.so => /lib/libdb-4.3.so (0x3acf3000)
>>
>> Почему зависимости на libdb-4.3.so не образовалсь?
>>     
>
> Потому что ldd. :)
>   
Да-да.
libdb вытаскивается по зависимостям libaprutil.

Причем интересная ситуация получается.
Раньше при сборке subversion прикладывался патчик, который в
configure.in проставлял текущую версию libdb, соответственно приходилось
следить за тем, чтобы своевременно обновлять этот патчик, потому как без
него configure обламывался, когда обнаруживал, что версии желаемая и
действительная не совпадают. Сейчас этот патч уже не обязателен
(кажется), главное правильно рассказать как линковаться с libdb.
configure пытается использовать apu-config
(svn_apu_bdb_lib=["`$apu_config --link-ld --ldflags --libs`"]) для
определения правильных ключей, но оттуда все было оторвано в свое время
(все в той же гонке за чистоту зависимостей :) )... Справиться с этим
помогает такая конструкция:

LIBS="-ldb-4" ./configure

Однако не хотелось, чтобы -ldb-4 появлялся так глобально (хотя при
использовании ). В Makefile.in замечен зародыш в виде SVN_DB_LIBS, и при
помощи небольшого патча он стал использоваться в configure, поэтому
сейчас работает:

SVN_DB_LIBS="-ldb-4" ./configure

Но вместе с этим появилась мысль: а может стоит вернуть в apu-config
[хотя бы] часть вырезанного? При использовании --as-needed все равно
лишнее не будет влинковываться...

По поводу зависимости на libdb4.x: для subversion необходимо
использовать ту же версию libdb, с которой собрана libaprutil (полагаю,
это же справедливо и для других пакетов, использующих libaprutil).
Соответственно, возникает желание убрать зависимость на libdb4.x-devel
из subversion и полагаться на зависимости libaprutil. Ну а в libaprutil
ввести зависимость на конерктную libdb4.x-devel, а не на libdb4-devel,
поскольку автоматические пересборки с новыми версиями чреваты...

А пока суть да дело, еще одна вещь меня удивила сейчас:
Сейчас libsvn_fs_base напрямую использует функции из libdb-4 (напр,
db_create), но не слинкована с ней напрямую (отсутствует в objdump -p
..|grep NEEDED, libdb-4 загружается за счет libaprutil). Это ведь
неправильно? Похоже, что упомянутый выше патчик про SVN_DB_LIBS решит
эту проблему. По крайней мере, во время сборки вроде бы библиотека
слинкована нормально, посмотрим, что получится, когда таки удастся
получить бинарные rpm пакеты :)
 А потеряна такая зависимость была как раз за счет того, что apu-config
не вернул необходимых ключей, а makefile на это очень расчитывал :)

-- 
Best Regards,
Sviatoslav Sviridov


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 250 bytes --]

  reply	other threads:[~2006-03-24  8:19 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-03-21  1:35 ` [devel] apache2-2.0.55-alt5 Dmitry V. Levin
2006-03-21  7:13   ` Aleksey Avdeev
2006-03-21  8:26     ` Anton Farygin
2006-03-21 12:02       ` Aleksey Avdeev
2006-03-21 12:20         ` Anton Farygin
2006-03-21  9:07     ` Sviatoslav Sviridov
2006-03-21 11:38       ` [devel] apache2-2.0.55-alt5 и libdb4 Michael Shigorin
2006-03-21 12:00       ` [devel] apache2-2.0.55-alt5 Aleksey Avdeev
2006-03-21 12:19         ` Anton Farygin
2006-03-21 12:35           ` Aleksey Avdeev
2006-03-21 12:45             ` Aleksey Avdeev
2006-03-21 13:32               ` Anton Farygin
2006-03-21 14:09                 ` Aleksey Avdeev
2006-03-21 12:44         ` Sviatoslav Sviridov
2006-03-22  1:10           ` Aleksey Avdeev
2006-03-22 21:08           ` Денис Смирнов
2006-03-23 22:33             ` Sviatoslav Sviridov
2006-03-23 23:13               ` Денис Смирнов
2006-03-23 23:18                 ` Dmitry V. Levin
2006-03-24  8:19                   ` Sviatoslav Sviridov [this message]
2006-03-24 13:50                     ` [devel] subversion, libaprutil, libdb4 (was: apache2-2.0.55-alt5) Dmitry V. Levin
2006-03-24  8:28                 ` [devel] apache2-2.0.55-alt5 Sviatoslav Sviridov
2006-03-24 10:36                   ` Sviatoslav Sviridov
2006-03-23 22:34             ` Aleksey Avdeev
2006-03-21  9:12   ` [devel] Переход на libdb4.4 (was: apache2-2.0.55-alt5) Sviatoslav Sviridov
2006-03-22  1:07     ` [devel] Переход на libdb4.4 Dmitry V. Levin
2006-03-22  1:16       ` Aleksey Avdeev
2006-03-22 17:44       ` Sviatoslav Sviridov
2006-03-24 23:43         ` Dmitry V. Levin
2006-03-26 18:44           ` Sviatoslav Sviridov
2006-03-26 21:31             ` Dmitry V. Levin
2006-03-28 11:34               ` Sviatoslav Sviridov
2006-03-28 11:56                 ` Aleksey Avdeev
2006-03-28 12:05                   ` Sviatoslav Sviridov
2006-03-21  3:14 ` [devel] [Sisyphus-cybertalk] I: Sisyphus-20060321 packages: +6! -5 +57 (5393) Alexey Rusakov

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=4423AB8F.70203@altlinux.ru \
    --to=svd@altlinux.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