ALT Linux Team development discussions
 help / color / mirror / Atom feed
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 --]

  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