From: Mikhail Zabaluev <mhz@altlinux.org>
To: ALT Devel discussion list <devel@lists.altlinux.org>
Subject: [devel] Mozilla libraries and -rpath (was: Gnome applets)
Date: Sat, 19 Nov 2005 22:44:29 +0300
Message-ID: <1132429469.5960.17.camel@localhost.localdomain> (raw)
In-Reply-To: <20051119185133.GA13157@lks.home>
[-- Attachment #1: Type: text/plain, Size: 4458 bytes --]
В Сбт, 19/11/2005 в 21:51 +0300, Konstantin A. Lepikhov пишет:
> > $ my-favourite-program
> > my-favourite-program: error while loading shared libraries: libplc4.so:
> > cannot open shared object file: No such file or directory
> правильно, надо менять rpath.
>
> >
> > Здесь кроме libplc4.so может стоять любая библиотека, входящая в
> > Mozilla. Это связано с тем, что библиотеки mozilla были без согласования
> > перенесены из /usr/lib в /usr/lib/mozilla. Обращаю внимание, что из-за
> > этого сломалась стереотипная (т.е. без правки спеков) сборка ряда
> > пакетов, зависящих от Mozilla. В некоторых случаях ошибки оказываются
> > очень неочевидными, как в примере с апплетом часов GNOME: этот апплет
> > зависит от evolution-data-server, поскольку умеет показывать данные от
> > органайзера, а evolution-data-server, в свою очередь, зависит от Mozilla.
> гхм. стереотипная сборка пакетов - это плохо. и игнорирование проблем -
> тоже плохо. В текущем виде (с либами в /usr/lib) mozilla suite делает
> неработоспособными _все_ другие mozilla.org-based приложения. Так что в
> новой сборке все сделано правильно.
Теперь всех клиентов нужно пересобирать с -rpath:
/bin/sh ../../../libtool --tag=CC --mode=link gcc -pipe -Wall -O3 -march=pentium4 -Wall -Wmissing-prototypes -Wno-sign-compare -o create-account create-account.o ../../../addressbook/libedata-book/libedata-book-1.2.la ../../../libedataserver/libedataserver-1.2.la ../../../servers/groupwise/libegroupwise-1.2.la -Wl,--export-dynamic -pthread -lxml2 -lz -lgnome-2 -lpopt -lgnomevfs-2 -lbonobo-2 -lgconf-2 -lgobject-2.0 -lbonobo-activation -lORBit-2 -lm -lgmodule-2.0 -ldl -lgthread-2.0 -lglib-2.0 -lpthread -L/usr/lib/mozilla -ldl -lplc4 -lplds4 -lnspr4
gcc -pipe -Wall -O3 -march=pentium4 -Wall -Wmissing-prototypes -Wno-sign-compare -o .libs/create-account create-account.o -Wl,--export-dynamic -pthread ../../../addressbook/libedata-book/.libs/libedata-book-1.2.so ../../../libedataserver/.libs/libedataserver-1.2.so ../../../servers/groupwise/.libs/libegroupwise-1.2.so -lxml2 -lz -lgnome-2 -lpopt -lgnomevfs-2 -lbonobo-2 -lgconf-2 -lgobject-2.0 -lbonobo-activation -lORBit-2 -lm -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lpthread -L/usr/lib/mozilla -ldl -lplc4 -lplds4 -lnspr4
/usr/bin/ld: warning: libssl3.so, needed by /home/mhz/RPM/BUILD/evolution-data-server-1.4.1.1/camel/.libs/libcamel-1.2.so.0, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libsmime3.so, needed by /home/mhz/RPM/BUILD/evolution-data-server-1.4.1.1/camel/.libs/libcamel-1.2.so.0, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libnss3.so, needed by /home/mhz/RPM/BUILD/evolution-data-server-1.4.1.1/camel/.libs/libcamel-1.2.so.0, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libsoftokn3.so, needed by /home/mhz/RPM/BUILD/evolution-data-server-1.4.1.1/camel/.libs/libcamel-1.2.so.0, not found (try using -rpath or -rpath-link)
/home/mhz/RPM/BUILD/evolution-data-server-1.4.1.1/camel/.libs/libcamel-1.2.so.0: undefined reference to `NSS_NoDB_Init@NSS_3.2'
/home/mhz/RPM/BUILD/evolution-data-server-1.4.1.1/camel/.libs/libcamel-1.2.so.0: undefined reference to `NSS_InitReadWrite@NSS_3.2'
/home/mhz/RPM/BUILD/evolution-data-server-1.4.1.1/camel/.libs/libcamel-1.2.so.0: undefined reference to `NSS_SetDomesticPolicy@NSS_3.2'
/home/mhz/RPM/BUILD/evolution-data-server-1.4.1.1/camel/.libs/libcamel-1.2.so.0: undefined reference to `SSL_OptionSetDefault@NSS_3.2'
/home/mhz/RPM/BUILD/evolution-data-server-1.4.1.1/camel/.libs/libcamel-1.2.so.0: undefined reference to `NSS_Shutdown@NSS_3.2'
collect2: ld returned 1 exit status
Из ld.info:
> The `-rpath' option is also used when locating shared objects which are needed
> by shared objects explicitly included in the link
И что делать? Можно добавить опцию -Wl,-rpath,/usr/lib/mozilla в тэг
Libs: в mozilla-*.pc и устроить тотальную пересборку. Только не все
клиенты эти файлы используют. Конкретно, все "мои" клиенты их не
используют и мне придется дорабатывать сборку.
Вдобавок, насколько я знаю, это приведет к воплям verify-elf о том, что
RPATH содержит двоеточия. Сейчас эту проверку нужно ослаблять явно и,
наверное, она там неспроста.
P.S. Хрена с два в таком виде можно опцию добавить. Никто не сказал, что
вывод `pkg-config --libs something.pc` не будет передан напрямую ld, а
ему нужен родной формат, которого не понимает gcc.
[-- Attachment #2: Эта часть сообщения подписана цифровой подписью --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2005-11-19 19:44 UTC|newest]
Thread overview: 88+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-11-23 22:49 [devel] NMU: mozilla Mikhail Zabaluev
2005-11-19 9:46 ` [devel] Re: [sisyphus] Gnome applets Alexey Rusakov
2005-11-19 12:31 ` Mikhail Zabaluev
2005-11-23 23:26 ` [devel] NMU: mozilla Dmitry V. Levin
2005-11-23 23:56 ` Mikhail Zabaluev
2005-11-24 0:07 ` [devel] Q: регламенты Dmitry V. Levin
2005-11-24 10:35 ` [devel] " Anton Farygin
2005-11-24 11:37 ` Michael Shigorin
2005-11-24 12:14 ` Anton Farygin
2005-11-24 13:58 ` Денис Смирнов
2005-11-24 14:20 ` [devel] " Anton Farygin
2005-11-24 16:32 ` Денис Смирнов
2005-11-24 19:14 ` [devel] " Michael Shigorin
2005-11-25 8:26 ` [devel] " Andrei Bulava
2005-11-25 9:48 ` [devel] [JT] " Pavlov Konstantin
2005-11-25 10:20 ` Andrei Bulava
2005-11-25 11:46 ` [devel] " Денис Смирнов
2005-11-25 11:56 ` Genix
2005-11-25 23:14 ` Денис Смирнов
2005-11-25 12:07 ` Dmitry V. Levin
2005-11-25 12:53 ` Epiphanov Sergei
2005-11-25 13:53 ` [devel] " Anton Farygin
2005-11-25 17:14 ` [devel] " Michael Shigorin
2005-11-26 10:44 ` Genix
2005-11-26 13:41 ` Денис Смирнов
2005-11-28 6:09 ` Genix
2005-11-28 15:33 ` Денис Смирнов
2005-11-25 23:26 ` [devel] " Денис Смирнов
2005-11-25 23:35 ` [devel] " Денис Смирнов
2005-11-25 23:13 ` Денис Смирнов
2005-11-25 14:21 ` Kirill Maslinsky
2005-11-25 14:35 ` Sviatoslav Sviridov
2005-11-25 23:33 ` Денис Смирнов
2005-11-25 17:13 ` Michael Shigorin
2005-11-25 23:28 ` Vitaly Lipatov
2005-11-25 13:49 ` Anton Farygin
2005-11-24 15:28 ` Michael Shigorin
2005-11-25 9:44 ` php-coder
2005-11-24 8:21 ` [devel] Re: NMU: mozilla Konstantin A. Lepikhov
2005-11-24 8:51 ` [devel] Re: nmuzilla Michael Shigorin
2005-11-24 9:23 ` Mikhail Zabaluev
2005-11-24 10:47 ` Andrei Bulava
2005-11-24 11:14 ` Mikhail Zabaluev
2005-11-24 11:26 ` Michael Shigorin
2005-11-24 2:37 ` [devel] NMU: mozilla Alexey Gladkov
2005-11-24 8:57 ` Mikhail Zabaluev
2005-11-24 9:40 ` Alexey Gladkov
2005-11-19 18:51 ` [devel] Re: [sisyphus] Gnome applets Konstantin A. Lepikhov
2005-11-19 19:43 ` Alexey Rusakov
2005-11-20 9:28 ` Konstantin A. Lepikhov
2005-11-20 11:43 ` [devel] Mozilla libraries (was: Gnome applets) Mikhail Zabaluev
2005-11-20 12:08 ` [devel] " Konstantin A. Lepikhov
2005-11-20 12:38 ` Mikhail Zabaluev
2005-11-20 13:26 ` Konstantin A. Lepikhov
2005-11-20 14:51 ` Mikhail Zabaluev
2005-11-20 18:48 ` Konstantin A. Lepikhov
2005-11-20 20:06 ` [devel] Re: Mozilla libraries Alexey Rusakov
2005-11-20 20:18 ` Konstantin A. Lepikhov
2005-11-20 20:39 ` Alexey Rusakov
2005-11-20 21:25 ` Mikhail Zabaluev
2005-11-20 20:26 ` [devel] Re: Mozilla libraries (was: Gnome applets) Mikhail Zabaluev
2005-11-21 16:40 ` Konstantin A. Lepikhov
2005-11-21 22:32 ` Mikhail Zabaluev
2005-11-21 23:28 ` Konstantin A. Lepikhov
2005-11-21 23:38 ` [devel] Re: Mozilla libraries Alexey Rusakov
2005-11-22 9:15 ` Vital Khilko
2005-11-22 9:56 ` Mikhail Zabaluev
2005-11-22 15:19 ` Dmitry V. Levin
2005-11-22 22:34 ` Mikhail Zabaluev
2005-11-22 0:31 ` [devel] Re: Mozilla libraries (was: Gnome applets) Mikhail Zabaluev
2005-11-22 12:16 ` Konstantin A. Lepikhov
2005-11-22 22:22 ` Mikhail Zabaluev
2005-11-24 9:50 ` Michael Shigorin
2005-11-24 10:15 ` [devel] Re: [Mozilla-devel] " Mikhail Zabaluev
2005-11-24 9:13 ` [devel] " Michael Shigorin
2005-11-24 9:41 ` Mikhail Zabaluev
2005-11-24 9:54 ` Michael Shigorin
2005-11-24 9:10 ` Michael Shigorin
2005-11-24 9:27 ` Mikhail Zabaluev
2005-11-24 9:06 ` Michael Shigorin
2005-11-24 9:59 ` [devel] Re: Mozilla libraries Alexey Gladkov
2005-11-19 19:44 ` Mikhail Zabaluev [this message]
2005-11-19 22:53 ` [devel] Mozilla libraries disorder Dmitry V. Levin
2005-11-19 23:18 ` Mikhail Zabaluev
2005-11-20 9:32 ` [devel] " Konstantin A. Lepikhov
2006-04-14 15:04 ` [devel] " Alexey Tourbin
2006-04-15 19:24 ` Mikhail Zabaluev
2005-11-24 9:02 ` [devel] Re: [sisyphus] Gnome applets Michael Shigorin
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=1132429469.5960.17.camel@localhost.localdomain \
--to=mhz@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