From: Alexey Tourbin <at@altlinux.ru> To: devel@altlinux.ru Subject: [devel] plugins linkage Date: Wed, 7 Jun 2006 11:42:05 +0400 Message-ID: <20060607074205.GD9823@localhost.localdomain> (raw) [-- Attachment #1: Type: text/plain, Size: 1790 bytes --] Вопрос по линковке плагинов. Стоит ли их линковать с "основной библиотекой", которую они используют? При условии, что их загружает сама эта библиотека. Собираю новую версию sqlite3 и наблюдаю: undefined symbol: Tcl_BackgroundError (/usr/lib/tcl/libtclsqlite3.so.0) undefined symbol: Tcl_GetStringResult (/usr/lib/tcl/libtclsqlite3.so.0) undefined symbol: Tcl_GetCharLength (/usr/lib/tcl/libtclsqlite3.so.0) undefined symbol: Tcl_ListObjGetElements (/usr/lib/tcl/libtclsqlite3.so.0) undefined symbol: Tcl_GetDoubleFromObj (/usr/lib/tcl/libtclsqlite3.so.0) undefined symbol: Tcl_SetIntObj (/usr/lib/tcl/libtclsqlite3.so.0) При этом в пакете нет бинарной зависимости на libtcl: $ rpm -qpR sqlite3-tcl-3.3.6-alt1.athlon.rpm |grep tcl $ В случае с перлом бинарная зависимость на libperl.so.5.8 появляется вследствие хака в /usr/lib/rpm/find-requires: $ grep libperl /usr/lib/rpm/* /usr/lib/rpm/find-requires:libperl_so= /usr/lib/rpm/find-requires: libperl) /usr/lib/rpm/find-requires: nolibperl) /usr/lib/rpm/find-requires: if [ -n "$FIND_LIBPERL" -a -z "$libperl_so" -a -z "${f##*/usr/lib/perl?/*/auto/*.so}" ]; then /usr/lib/rpm/find-requires: libperl_so=`perl -MConfig -e 'print "$Config{libperl}\n"'` /usr/lib/rpm/find-requires: printf %s\\n "$libperl_so$braces$suffix" $ Конкретизируя, вопрос вот в чем: предположим, что между запуском приложения и загрузкой плагина "основная библиотека" обновилась. Будет ли dlopen() загружать ещё одну (новую!) копию основной библиотеки? Ясно, что это как минимум не желательно (а как максимум -- фатально). Или же dlopen() "понимает", что библиотека уже загружена и второй раз подгружать её не надо? [-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --]
next reply other threads:[~2006-06-07 7:42 UTC|newest] Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top 2006-06-07 7:42 Alexey Tourbin [this message] 2006-06-07 9:09 ` Sergey Bolshakov 2006-06-07 10:40 ` Alexey Tourbin 2006-06-07 11:02 ` Sergey Bolshakov 2006-06-07 11:49 ` Dmitry V. Levin
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=20060607074205.GD9823@localhost.localdomain \ --to=at@altlinux.ru \ --cc=devel@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