ALT Linux Team development discussions
 help / color / mirror / Atom feed
* Re: [devel] Fwd: hylafax-5.2.7-alt5: Sisyphus/i586 test rebuild failed
  @ 2010-07-10 23:43   ` Led
  2010-07-11  6:40     ` Денис Смирнов
  0 siblings, 1 reply; 20+ messages in thread
From: Led @ 2010-07-10 23:43 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Sunday 11 July 2010 01:18:27 Denis Smirnov wrote:
> Что делать и кто виноват?

> ../faxd/libfaxserver.so.5.2.7: undefined reference to `TIFFFaxWhiteCodes'
> ../faxd/libfaxserver.so.5.2.7: undefined reference to `_TIFFFax3fillruns'
> ../faxd/libfaxserver.so.5.2.7: undefined reference to `TIFFFaxWhiteTable'
> ../faxd/libfaxserver.so.5.2.7: undefined reference to `TIFFFaxBlackCodes'
> ../faxd/libfaxserver.so.5.2.7: undefined reference to `TIFFFaxMainTable'
> ../faxd/libfaxserver.so.5.2.7: undefined reference to `TIFFFaxBlackTable'
> collect2: ld returned 1 exit status
> make[3]: *** [faxq] Error 1
> make[3]: Leaving directory `/usr/src/RPM/BUILD/hylafax-5.2.7/faxd'
> make[2]: *** [default] Error 2
> make[2]: Leaving directory `/usr/src/RPM/BUILD/hylafax-5.2.7/faxd'
> make[1]: *** [dirs] Error 2
> make[1]: Leaving directory `/usr/src/RPM/BUILD/hylafax-5.2.7'
> make: *** [default] Error 2
> make: Leaving directory `/usr/src/RPM/BUILD/hylafax-5.2.7'
> error: Bad exit status from /usr/src/tmp/rpm-tmp.54978 (%build)

rpm --lastchange libtiff
* Tue Jul 06 2010 Dmitry V. Levin <ldv@altlinux.org> 3.9.4-alt1
........................
- Restricted list of global symbols exported by the library.

-- 
Led


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [devel] Fwd: hylafax-5.2.7-alt5: Sisyphus/i586 test rebuild failed
  2010-07-10 23:43   ` [devel] Fwd: hylafax-5.2.7-alt5: Sisyphus/i586 test rebuild failed Led
@ 2010-07-11  6:40     ` Денис Смирнов
  2010-07-11  8:33       ` Dmitry V. Levin
  0 siblings, 1 reply; 20+ messages in thread
From: Денис Смирнов @ 2010-07-11  6:40 UTC (permalink / raw)
  To: ALT Linux Team development discussions

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

On Sun, Jul 11, 2010 at 02:43:34AM +0300, Led wrote:

L> > ../faxd/libfaxserver.so.5.2.7: undefined reference to `TIFFFaxWhiteCodes'
L> > ../faxd/libfaxserver.so.5.2.7: undefined reference to `_TIFFFax3fillruns'
L> > ../faxd/libfaxserver.so.5.2.7: undefined reference to `TIFFFaxWhiteTable'
L> > ../faxd/libfaxserver.so.5.2.7: undefined reference to `TIFFFaxBlackCodes'
L> > ../faxd/libfaxserver.so.5.2.7: undefined reference to `TIFFFaxMainTable'
L> > ../faxd/libfaxserver.so.5.2.7: undefined reference to `TIFFFaxBlackTable'
L> rpm --lastchange libtiff
L> * Tue Jul 06 2010 Dmitry V. Levin <ldv@altlinux.org> 3.9.4-alt1
L> ........................
L> - Restricted list of global symbols exported by the library.

Тааак... И что мне теперь делать?

-- 
С уважением, Денис

http://mithraen.ru/
----------------------------------------------------------------------------

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [devel] Fwd: hylafax-5.2.7-alt5: Sisyphus/i586 test rebuild failed
  2010-07-11  6:40     ` Денис Смирнов
@ 2010-07-11  8:33       ` Dmitry V. Levin
  2010-07-11  9:26         ` [devel] Q: second class packages in Sisyphus Dmitry V. Levin
  2010-07-12  5:17         ` [devel] Fwd: hylafax-5.2.7-alt5: Sisyphus/i586 test rebuild failed Денис Смирнов
  0 siblings, 2 replies; 20+ messages in thread
From: Dmitry V. Levin @ 2010-07-11  8:33 UTC (permalink / raw)
  To: ALT Linux Team development discussions

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

On Sun, Jul 11, 2010 at 10:40:01AM +0400, Денис Смирнов wrote:
> On Sun, Jul 11, 2010 at 02:43:34AM +0300, Led wrote:
> 
> L> > ../faxd/libfaxserver.so.5.2.7: undefined reference to `TIFFFaxWhiteCodes'
> L> > ../faxd/libfaxserver.so.5.2.7: undefined reference to `_TIFFFax3fillruns'
> L> > ../faxd/libfaxserver.so.5.2.7: undefined reference to `TIFFFaxWhiteTable'
> L> > ../faxd/libfaxserver.so.5.2.7: undefined reference to `TIFFFaxBlackCodes'
> L> > ../faxd/libfaxserver.so.5.2.7: undefined reference to `TIFFFaxMainTable'
> L> > ../faxd/libfaxserver.so.5.2.7: undefined reference to `TIFFFaxBlackTable'
> L> rpm --lastchange libtiff
> L> * Tue Jul 06 2010 Dmitry V. Levin <ldv@altlinux.org> 3.9.4-alt1
> L> ........................
> L> - Restricted list of global symbols exported by the library.
> 
> Тааак... И что мне теперь делать?

Ждать.

gb-task-repo-elfsym был обманут наличием в Сизифе пакета libtiff3:

$ rpmelfsym.pl x86_64/RPMS | egrep -w 'TIFFFaxWhiteCodes|_TIFFFax3fillruns|TIFFFaxWhiteTable|TIFFFaxBlackCodes|TIFFFaxMainTable|TIFFFaxBlackTable'
libhylafax-5.2.7-alt5.x86_64.rpm	/usr/lib64/libfaxserver.so.5.2.7	U	TIFFFaxBlackCodes
libhylafax-5.2.7-alt5.x86_64.rpm	/usr/lib64/libfaxserver.so.5.2.7	U	TIFFFaxBlackTable
libhylafax-5.2.7-alt5.x86_64.rpm	/usr/lib64/libfaxserver.so.5.2.7	U	TIFFFaxMainTable
libhylafax-5.2.7-alt5.x86_64.rpm	/usr/lib64/libfaxserver.so.5.2.7	U	TIFFFaxWhiteCodes
libhylafax-5.2.7-alt5.x86_64.rpm	/usr/lib64/libfaxserver.so.5.2.7	U	TIFFFaxWhiteTable
libhylafax-5.2.7-alt5.x86_64.rpm	/usr/lib64/libfaxserver.so.5.2.7	U	_TIFFFax3fillruns
liblbxutil-1.1.0-alt1.x86_64.rpm	/usr/lib64/liblbxutil.so.1.0.0	D	TIFFFaxBlackCodes
liblbxutil-1.1.0-alt1.x86_64.rpm	/usr/lib64/liblbxutil.so.1.0.0	D	TIFFFaxWhiteCodes
libtiff3-3.5.7-alt8.x86_64.rpm	/usr/lib64/libtiff.so.3.5.7	R	TIFFFaxBlackCodes
libtiff3-3.5.7-alt8.x86_64.rpm	/usr/lib64/libtiff.so.3.5.7	R	TIFFFaxBlackTable
libtiff3-3.5.7-alt8.x86_64.rpm	/usr/lib64/libtiff.so.3.5.7	R	TIFFFaxMainTable
libtiff3-3.5.7-alt8.x86_64.rpm	/usr/lib64/libtiff.so.3.5.7	R	TIFFFaxWhiteCodes
libtiff3-3.5.7-alt8.x86_64.rpm	/usr/lib64/libtiff.so.3.5.7	R	TIFFFaxWhiteTable
libtiff3-3.5.7-alt8.x86_64.rpm	/usr/lib64/libtiff.so.3.5.7	T	_TIFFFax3fillruns


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [devel] Q: second class packages in Sisyphus
  2010-07-11  8:33       ` Dmitry V. Levin
@ 2010-07-11  9:26         ` Dmitry V. Levin
  2010-07-11 15:07           ` Michael Shigorin
                             ` (2 more replies)
  2010-07-12  5:17         ` [devel] Fwd: hylafax-5.2.7-alt5: Sisyphus/i586 test rebuild failed Денис Смирнов
  1 sibling, 3 replies; 20+ messages in thread
From: Dmitry V. Levin @ 2010-07-11  9:26 UTC (permalink / raw)
  To: ALT Linux Team development discussions

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

On Sun, Jul 11, 2010 at 12:33:57PM +0400, Dmitry V. Levin wrote:
> On Sun, Jul 11, 2010 at 10:40:01AM +0400, Денис Смирнов wrote:
> > On Sun, Jul 11, 2010 at 02:43:34AM +0300, Led wrote:
> > 
> > L> > ../faxd/libfaxserver.so.5.2.7: undefined reference to `TIFFFaxWhiteCodes'
> > L> > ../faxd/libfaxserver.so.5.2.7: undefined reference to `_TIFFFax3fillruns'
> > L> > ../faxd/libfaxserver.so.5.2.7: undefined reference to `TIFFFaxWhiteTable'
> > L> > ../faxd/libfaxserver.so.5.2.7: undefined reference to `TIFFFaxBlackCodes'
> > L> > ../faxd/libfaxserver.so.5.2.7: undefined reference to `TIFFFaxMainTable'
> > L> > ../faxd/libfaxserver.so.5.2.7: undefined reference to `TIFFFaxBlackTable'
> > L> rpm --lastchange libtiff
> > L> * Tue Jul 06 2010 Dmitry V. Levin <ldv@altlinux.org> 3.9.4-alt1
> > L> ........................
> > L> - Restricted list of global symbols exported by the library.
> > 
> > Тааак... И что мне теперь делать?
> 
> Ждать.
> 
> gb-task-repo-elfsym был обманут наличием в Сизифе пакета libtiff3:

Налицо проблема: второсортные пакеты, которые некоторые мейнтейнеры хотят
видеть в Сизифе для обеспечения обратной совместимости с третьесортными
пакетами, которых в Сизифе нет, мешают полноценно поддерживать основные
пакеты.

Я вижу два потенциальных решения проблемы:
- упразднить все глобальные проверки;
- завести отдельный репозиторий для второсортных пакетов.

Разумеется, я склоняюсь к последнему варианту, как самому доступному.
Хотя работа над упразднением gb-task-repo-elfsym уже ведётся, ото всех
глобальных проверок вряд ли возможно избавиться.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [devel] Q: second class packages in Sisyphus
  2010-07-11  9:26         ` [devel] Q: second class packages in Sisyphus Dmitry V. Levin
@ 2010-07-11 15:07           ` Michael Shigorin
  2010-07-11 19:08             ` Yuri N. Sedunov
  2010-07-12  5:14           ` Денис Смирнов
  2010-07-12 16:54           ` Alexey Tourbin
  2 siblings, 1 reply; 20+ messages in thread
From: Michael Shigorin @ 2010-07-11 15:07 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Sun, Jul 11, 2010 at 01:26:51PM +0400, Dmitry V. Levin wrote:
> Я вижу два потенциальных решения проблемы:
> - упразднить все глобальные проверки;
> - завести отдельный репозиторий для второсортных пакетов.

Ну наконец-то.

> Разумеется, я склоняюсь к последнему варианту, как самому доступному.

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [devel] Q: second class packages in Sisyphus
  2010-07-11 15:07           ` Michael Shigorin
@ 2010-07-11 19:08             ` Yuri N. Sedunov
  0 siblings, 0 replies; 20+ messages in thread
From: Yuri N. Sedunov @ 2010-07-11 19:08 UTC (permalink / raw)
  To: ALT Linux Team development discussions

В Вск, 11/07/2010 в 18:07 +0300, Michael Shigorin пишет:
> On Sun, Jul 11, 2010 at 01:26:51PM +0400, Dmitry V. Levin wrote:
> > Я вижу два потенциальных решения проблемы:
> > - упразднить все глобальные проверки;
> > - завести отдельный репозиторий для второсортных пакетов.
> 
> Ну наконец-то.

Ну-ну.

То ...@!!! Пришел с алтыном
Из далеких чуждых стран;
Стал России верным сыном,
Понабив себе карман.

(с) Соболевский С. А.
-- 
Yuri N. Sedunov



^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [devel] Q: second class packages in Sisyphus
  2010-07-11  9:26         ` [devel] Q: second class packages in Sisyphus Dmitry V. Levin
  2010-07-11 15:07           ` Michael Shigorin
@ 2010-07-12  5:14           ` Денис Смирнов
  2010-07-12 16:47             ` Dmitry V. Levin
  2010-07-12 16:54           ` Alexey Tourbin
  2 siblings, 1 reply; 20+ messages in thread
From: Денис Смирнов @ 2010-07-12  5:14 UTC (permalink / raw)
  To: ALT Linux Team development discussions

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

On Sun, Jul 11, 2010 at 01:26:51PM +0400, Dmitry V. Levin wrote:

DVL> Налицо проблема: второсортные пакеты, которые некоторые мейнтейнеры хотят
DVL> видеть в Сизифе для обеспечения обратной совместимости с третьесортными
DVL> пакетами, которых в Сизифе нет, мешают полноценно поддерживать основные
DVL> пакеты.

Речь о compat?

В смысле прошло обновление libtiff, которое сломало мне hylafax, но если
бы не старая версия libtiff в репозитории, то она бы не прошла?

Конкретно для hylafax -- правильно я понял что это просто
"переоптимизация" списка экспортируемых символов, и мне надо просто
подождать пока будет исправлено?

-- 
С уважением, Денис

http://mithraen.ru/
----------------------------------------------------------------------------

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [devel] Fwd: hylafax-5.2.7-alt5: Sisyphus/i586 test rebuild failed
  2010-07-11  8:33       ` Dmitry V. Levin
  2010-07-11  9:26         ` [devel] Q: second class packages in Sisyphus Dmitry V. Levin
@ 2010-07-12  5:17         ` Денис Смирнов
  1 sibling, 0 replies; 20+ messages in thread
From: Денис Смирнов @ 2010-07-12  5:17 UTC (permalink / raw)
  To: ALT Linux Team development discussions

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

On Sun, Jul 11, 2010 at 12:33:57PM +0400, Dmitry V. Levin wrote:

DVL> Ждать.

Понял, Ok.

DVL> gb-task-repo-elfsym был обманут наличием в Сизифе пакета libtiff3:

Насколько я понимаю этот тест изначально подразумевался как не
гарантирующий обнаруение проблем, и в нем гарантируется лишь отсутствие
false positives.

-- 
С уважением, Денис

http://mithraen.ru/
----------------------------------------------------------------------------


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [devel] Q: second class packages in Sisyphus
  2010-07-12  5:14           ` Денис Смирнов
@ 2010-07-12 16:47             ` Dmitry V. Levin
  0 siblings, 0 replies; 20+ messages in thread
From: Dmitry V. Levin @ 2010-07-12 16:47 UTC (permalink / raw)
  To: ALT Linux Team development discussions

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

On Mon, Jul 12, 2010 at 09:14:55AM +0400, Денис Смирнов wrote:
> On Sun, Jul 11, 2010 at 01:26:51PM +0400, Dmitry V. Levin wrote:
> 
> DVL> Налицо проблема: второсортные пакеты, которые некоторые мейнтейнеры хотят
> DVL> видеть в Сизифе для обеспечения обратной совместимости с третьесортными
> DVL> пакетами, которых в Сизифе нет, мешают полноценно поддерживать основные
> DVL> пакеты.
> 
> Речь о compat?
> 
> В смысле прошло обновление libtiff, которое сломало мне hylafax, но если
> бы не старая версия libtiff в репозитории, то она бы не прошла?

Да.

> Конкретно для hylafax -- правильно я понял что это просто
> "переоптимизация" списка экспортируемых символов,

Почти так.  libtiff раньше экспортировал много внутренних символов, которые
не были декларированы в libtiff-devel.  Те из них, которые не используются
в Сизифе, больше не экспортируются.

> и мне надо просто подождать пока будет исправлено?

Уже исправлены.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [devel] Q: second class packages in Sisyphus
  2010-07-11  9:26         ` [devel] Q: second class packages in Sisyphus Dmitry V. Levin
  2010-07-11 15:07           ` Michael Shigorin
  2010-07-12  5:14           ` Денис Смирнов
@ 2010-07-12 16:54           ` Alexey Tourbin
  2010-07-12 16:59             ` Dmitry V. Levin
  2 siblings, 1 reply; 20+ messages in thread
From: Alexey Tourbin @ 2010-07-12 16:54 UTC (permalink / raw)
  To: ALT Linux Team development discussions

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

On Sun, Jul 11, 2010 at 01:26:51PM +0400, Dmitry V. Levin wrote:
> On Sun, Jul 11, 2010 at 12:33:57PM +0400, Dmitry V. Levin wrote:
> > gb-task-repo-elfsym был обманут наличием в Сизифе пакета libtiff3:
> 
> Налицо проблема: второсортные пакеты, которые некоторые мейнтейнеры хотят
> видеть в Сизифе для обеспечения обратной совместимости с третьесортными
> пакетами, которых в Сизифе нет, мешают полноценно поддерживать основные
> пакеты.
> 
> Я вижу два потенциальных решения проблемы:
> - упразднить все глобальные проверки;

А чем плохи глобальные проверки (такие как gb-task-repo-elfsym),
кроме того, что они могут оказаться недостаточны?

> - завести отдельный репозиторий для второсортных пакетов.
> 
> Разумеется, я склоняюсь к последнему варианту, как самому доступному.
> Хотя работа над упразднением gb-task-repo-elfsym уже ведётся, ото всех
> глобальных проверок вряд ли возможно избавиться.

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [devel] Q: second class packages in Sisyphus
  2010-07-12 16:54           ` Alexey Tourbin
@ 2010-07-12 16:59             ` Dmitry V. Levin
  2010-07-12 19:17               ` Alexey Tourbin
  0 siblings, 1 reply; 20+ messages in thread
From: Dmitry V. Levin @ 2010-07-12 16:59 UTC (permalink / raw)
  To: ALT Linux Team development discussions

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

On Mon, Jul 12, 2010 at 08:54:50PM +0400, Alexey Tourbin wrote:
> On Sun, Jul 11, 2010 at 01:26:51PM +0400, Dmitry V. Levin wrote:
> > On Sun, Jul 11, 2010 at 12:33:57PM +0400, Dmitry V. Levin wrote:
> > > gb-task-repo-elfsym был обманут наличием в Сизифе пакета libtiff3:
> > 
> > Налицо проблема: второсортные пакеты, которые некоторые мейнтейнеры хотят
> > видеть в Сизифе для обеспечения обратной совместимости с третьесортными
> > пакетами, которых в Сизифе нет, мешают полноценно поддерживать основные
> > пакеты.
> > 
> > Я вижу два потенциальных решения проблемы:
> > - упразднить все глобальные проверки;
> 
> А чем плохи глобальные проверки (такие как gb-task-repo-elfsym),
> кроме того, что они могут оказаться недостаточны?

Они создают иллюзию почвы под ногами.  Чем больше в Сизифе второсортных
пакетов, тем более зыбкая почва.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [devel] Q: second class packages in Sisyphus
  2010-07-12 16:59             ` Dmitry V. Levin
@ 2010-07-12 19:17               ` Alexey Tourbin
  2010-07-12 20:19                 ` [devel] linkage_problems abiword unjoined Alexey Tourbin
  2010-07-12 22:10                 ` [devel] unjoined g_free Alexey Tourbin
  0 siblings, 2 replies; 20+ messages in thread
From: Alexey Tourbin @ 2010-07-12 19:17 UTC (permalink / raw)
  To: ALT Linux Team development discussions

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

On Mon, Jul 12, 2010 at 08:59:06PM +0400, Dmitry V. Levin wrote:
> On Mon, Jul 12, 2010 at 08:54:50PM +0400, Alexey Tourbin wrote:
> > On Sun, Jul 11, 2010 at 01:26:51PM +0400, Dmitry V. Levin wrote:
> > > On Sun, Jul 11, 2010 at 12:33:57PM +0400, Dmitry V. Levin wrote:
> > > > gb-task-repo-elfsym был обманут наличием в Сизифе пакета libtiff3:
> > > 
> > > Налицо проблема: второсортные пакеты, которые некоторые мейнтейнеры хотят
> > > видеть в Сизифе для обеспечения обратной совместимости с третьесортными
> > > пакетами, которых в Сизифе нет, мешают полноценно поддерживать основные
> > > пакеты.
> > > 
> > > Я вижу два потенциальных решения проблемы:
> > > - упразднить все глобальные проверки;
> > 
> > А чем плохи глобальные проверки (такие как gb-task-repo-elfsym),
> > кроме того, что они могут оказаться недостаточны?
> 
> Они создают иллюзию почвы под ногами.  Чем больше в Сизифе второсортных
> пакетов, тем более зыбкая почва.

У проверок elfsym и unmets есть два интресных свойства.
1) Они не дают ложных срабатываний (не считая проприетарных драйверов).
Иначе можно сказать, что они проверяют необходимые условия.  Увы, эти
необходимые условия довольно слабые.
2) Они работают быстро.

Эти два свойства в сумме означают, что эти проверки могут работать
совершенно автоматически, проверять за ними каждый раз не надо,
и "хуже не будет".

Можно усовершенствовать проверку elfsym, добивив "локальные" условия -
засчитывать разрешимость только по слинкованным библиотекам.  Но это
сразу открывает a can of wo^W corner cases, начиная с того, что нужно
ассоциировать файлы и сонеймы (см. warning чуть ниже), и кончая тем,
что такая проверка будет зарубать недолинкованные плагины, а в схеме
c -rdynamic executable недолинкованные плагины будут неизбежны (примеры:
/bin/zsh, /usr/bin/Xorg).  И, кроме того, ELF всё же разрешает
транзитивное разрешение символов.  И, кроме того, при большом желании
в ELF можно зашить DT_NEEDED = libc-2.10.so вместо libc.so.6.

Я уже когда-то рисовал такой скрипт - qa-robot/linkage_problems.
Жду когда он что-нибудь покажет.  Пока вижу только warnings.

[at@people at]$ workdir=$PWD linkage_problems -p /ALT/Sisyphus/files/x86_64/RPMS/
warning: libbfl-devel-0.6.1-alt1.svn20090324.x86_64.rpm: unmapped sonames:
liborocos-bfl.so
warning: libmediainfo-devel-0.7.28-alt4.x86_64.rpm: unmapped sonames:
libmediainfo.so
warning: libmnogosearch-3.3.8-alt1.x86_64.rpm: unmapped sonames:
libmnogosearch-3.3.so
warning: libnumpy-devel-2.0.0-alt1.svn20100607.x86_64.rpm: unmapped sonames:
libnpymath.so
warning: libpano13-devel-2.9.17-alt0.beta1.x86_64.rpm: unmapped sonames:
libpano13.so
warning: libpastix-2200-alt8.x86_64.rpm: multimapped sonames:
libpastix_murge.so.0    /usr/lib/pastix/lib/libpastix_murge.so.0.22.00
libpastix_murge.so.0    /usr/lib64/libpastix_murge.so.0.22.00
warning: libtbb-devel-30_20100310-alt2.x86_64.rpm: unmapped sonames:
libtbb.so
libtbbmalloc.so
warning: libwebkit-1.2.1-alt1.x86_64.rpm: unmapped sonames:
libwebkit-1.0.so.2.13.0
warning: libzen-devel-0.4.11-alt2.x86_64.rpm: unmapped sonames:
libzen.so
warning: skrooge-0.5.3-alt1.x86_64.rpm: multimapped sonames:
libskgbankgui.so.1      /usr/lib64/kde4/plugins/designer/libskgbankgui.so.0.5.3
libskgbankgui.so.1      /usr/lib64/libskgbankgui.so.0.5.3
libskgbasegui.so.1      /usr/lib64/kde4/plugins/designer/libskgbasegui.so.0.5.3
libskgbasegui.so.1      /usr/lib64/libskgbasegui.so.0.5.3

Короче такой скрипт уже нельзя заряжать автоматически - скорее,
он дает пищу для QA.

А если взять проверку unmets, то вместо неё нужно проверять
устанавливаемсть каждого пакета в репозитории (точнее, чтобы
устанавливаемсть пакетов не ухудшалось).  Но это, во-первых, долго будет
работать.  А во-вторых, в апте есть corner cases при выборе пакетов
(типа tetex vs texlive).

В общем смысл примерно такой, что глобальные проверки на данном этапе -
это не самое глупое, что удалось придумать.  Увы, мы на зыбкой почве.
Но иногда страховка срабатывает, а иногда - нет.

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [devel] linkage_problems abiword unjoined
  2010-07-12 19:17               ` Alexey Tourbin
@ 2010-07-12 20:19                 ` Alexey Tourbin
  2010-07-13  8:07                   ` Alexey Tourbin
  2010-07-12 22:10                 ` [devel] unjoined g_free Alexey Tourbin
  1 sibling, 1 reply; 20+ messages in thread
From: Alexey Tourbin @ 2010-07-12 20:19 UTC (permalink / raw)
  To: ALT Linux Team development discussions

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

On Mon, Jul 12, 2010 at 11:17:03PM +0400, Alexey Tourbin wrote:
> Можно усовершенствовать проверку elfsym, добивив "локальные" условия -
> засчитывать разрешимость только по слинкованным библиотекам.  Но это
> сразу открывает a can of wo^W corner cases, начиная с того, что нужно
> ассоциировать файлы и сонеймы (см. warning чуть ниже), и кончая тем,
> что такая проверка будет зарубать недолинкованные плагины, а в схеме
> c -rdynamic executable недолинкованные плагины будут неизбежны (примеры:
> /bin/zsh, /usr/bin/Xorg).  И, кроме того, ELF всё же разрешает
> транзитивное разрешение символов.  И, кроме того, при большом желании
> в ELF можно зашить DT_NEEDED = libc-2.10.so вместо libc.so.6.
> 
> Я уже когда-то рисовал такой скрипт - qa-robot/linkage_problems.
> Жду когда он что-нибудь покажет.  Пока вижу только warnings.

Ну вот например показывает что libabiword-2.8 недолинкован с libX11.

[at@people at]$ fgrep libabiword-2.8 unjoined
abiword /usr/lib64/libabiword-2.8.so    U       XFreeModifiermap
abiword /usr/lib64/libabiword-2.8.so    U       XGetModifierMapping
abiword /usr/lib64/libabiword-2.8.so    U       XKeycodeToKeysym
abiword /usr/lib64/libabiword-2.8.so    U       XKeysymToKeycode
abiword /usr/lib64/libabiword-2.8.so    U       XParseGeometry
abiword-light   /usr/lib64/libabiword-2.8.so    U       XFreeModifiermap
abiword-light   /usr/lib64/libabiword-2.8.so    U	XGetModifierMapping
abiword-light   /usr/lib64/libabiword-2.8.so    U       XKeycodeToKeysym
abiword-light   /usr/lib64/libabiword-2.8.so    U       XKeysymToKeycode
abiword-light   /usr/lib64/libabiword-2.8.so    U       XParseGeometry
[at@people at]$ rpm -qpR /ALT/Sisyphus/files/x86_64/RPMS/abiword-2.8.4-alt1.x86_64.rpm |grep libX
[at@people at]$ 

Как могло получиться, что abiword недолинкован с libX11?
У нас же и в binutils подержка есть "подцепить недостающие библиотеки",
и pkg-config для линковки рекурсивно раскрывает список Libs.

Кстати, интересно тогда, что делать в lib.req, если некоторые символы
разрешаются в библиотеки, не перечисленные в DT_NEEDED.

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [devel] unjoined g_free
  2010-07-12 19:17               ` Alexey Tourbin
  2010-07-12 20:19                 ` [devel] linkage_problems abiword unjoined Alexey Tourbin
@ 2010-07-12 22:10                 ` Alexey Tourbin
  2010-07-12 23:50                   ` Dmitry V. Levin
  2010-07-15  8:01                   ` [devel] [cross] " Ildar Mulyukov
  1 sibling, 2 replies; 20+ messages in thread
From: Alexey Tourbin @ 2010-07-12 22:10 UTC (permalink / raw)
  To: ALT Linux Team development discussions

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

On Mon, Jul 12, 2010 at 11:17:03PM +0400, Alexey Tourbin wrote:
> что такая проверка будет зарубать недолинкованные плагины, а в схеме
> c -rdynamic executable недолинкованные плагины будут неизбежны (примеры:
> /bin/zsh, /usr/bin/Xorg).  И, кроме того, ELF всё же разрешает
> транзитивное разрешение символов.

On Tue, Jul 13, 2010 at 12:19:14AM +0400, Alexey Tourbin wrote:
> Кстати, интересно тогда, что делать в lib.req, если некоторые символы
> разрешаются в библиотеки, не перечисленные в DT_NEEDED.

Проблема недолинкованных плагинов достаточно неприятная.  Я сейчас
посчитал, что у нас 321 файл (84 пакета), в которых идет недолинковка
по символу g_free (то есть недолинковка с библиотекой glib2 (или glib1)).
Почти все эти файлы - плагины.

[at@people at]$ <unjoined sort -u -k1,1 -k2,2 -k4,4 |fgrep -w g_free |wc -l
321
[at@people at]$ <unjoined sort -u -k1,1 -k4,4 |fgrep -w g_free |wc -l
84
[at@people at]$ 

Полный список - чуть ниже.

Я что хотел сказать.  Я не представляю, какую гарантию может дать новый
вид зависимостей (soname set dependencies), если мы сталкиваемся с ТАКОЙ
недолинковкой.  Фактически выходит, что линковаться с библиотеками не
обязательно - а куда тогда символы должны разрешаться?  Пушкин что ли
скажет?  Значит, гарантии опять никакой нет - есть только зыбквая почва
под ногами.

[at@people at]$ <unjoined sort -u -k1,1 -k2,2 -k4,4 |fgrep -w g_free
ModemManager    /usr/lib64/ModemManager/libmm-plugin-anydata.so U       g_free
ModemManager    /usr/lib64/ModemManager/libmm-plugin-gobi.so    U       g_free
ModemManager    /usr/lib64/ModemManager/libmm-plugin-hso.so     U       g_free
ModemManager    /usr/lib64/ModemManager/libmm-plugin-huawei.so  U       g_free
ModemManager    /usr/lib64/ModemManager/libmm-plugin-longcheer.so       U       g_free
ModemManager    /usr/lib64/ModemManager/libmm-plugin-mbm.so     U       g_free
ModemManager    /usr/lib64/ModemManager/libmm-plugin-novatel.so U       g_free
ModemManager    /usr/lib64/ModemManager/libmm-plugin-option.so  U       g_free
ModemManager    /usr/lib64/ModemManager/libmm-plugin-sierra.so  U       g_free
ModemManager    /usr/lib64/ModemManager/libmm-plugin-simtech.so U       g_free
ModemManager    /usr/lib64/ModemManager/libmm-plugin-zte.so     U       g_free
Thunar  /usr/lib64/thunarx-1/thunar-apr.so      U       g_free
Thunar  /usr/lib64/thunarx-1/thunar-sbr.so      U       g_free
Thunar  /usr/lib64/thunarx-1/thunar-uca.so      U       g_free
Thunar  /usr/lib64/thunarx-1/thunar-wallpaper-plugin.so U       g_free
anjuta2 /usr/lib64/anjuta/libanjuta-build-basic-autotools.so    U       g_free
anjuta2 /usr/lib64/anjuta/libanjuta-class-gen.so        U       g_free
anjuta2 /usr/lib64/anjuta/libanjuta-debug-manager.so    U       g_free
anjuta2 /usr/lib64/anjuta/libanjuta-file-wizard.so      U       g_free
anjuta2 /usr/lib64/anjuta/libanjuta-macro.so    U       g_free
anjuta2 /usr/lib64/anjuta/libanjuta-message-view.so     U       g_free
anjuta2 /usr/lib64/anjuta/libanjuta-patch.so    U       g_free
anjuta2 /usr/lib64/anjuta/libanjuta-project-import.so   U       g_free
anjuta2 /usr/lib64/anjuta/libanjuta-project-manager.so  U       g_free
anjuta2 /usr/lib64/anjuta/libanjuta-project-wizard.so   U       g_free
anjuta2 /usr/lib64/anjuta/libanjuta-run-program.so      U       g_free
anjuta2 /usr/lib64/anjuta/libanjuta-search.so   U       g_free
anjuta2 /usr/lib64/anjuta/libanjuta-tools.so    U       g_free
anjuta2 /usr/lib64/anjuta/libdir-project.so     U       g_free
anjuta2 /usr/lib64/anjuta/libgbf-am.so  U       g_free
anjuta2 /usr/lib64/anjuta/libgbf-mkfile.so      U       g_free
anjuta2 /usr/lib64/anjuta/libjs-support-plugin.so       U       g_free
anjuta2 /usr/lib64/anjuta/libjs_debugger.so     U       g_free
anjuta2 /usr/lib64/anjuta/liblanguage-manager.so        U       g_free
anjuta2-cvs     /usr/lib64/anjuta/libanjuta-cvs-plugin.so       U       g_free
anjuta2-subversion      /usr/lib64/anjuta/libanjuta-subversion.so       U       g_free
ardour  /usr/lib64/ardour2/engines/libclearlooks.so     U       g_free
claws-mail-plugin-synce /usr/lib64/claws-mail/plugins/synce_plugin.so   U       g_free
darktable       /usr/lib64/darktable/plugins/libcolorout.so     U       g_free
darktable       /usr/lib64/darktable/plugins/lighttable/libcollect.so   U       g_free
darktable       /usr/lib64/darktable/plugins/lighttable/libexport.so    U       g_free
darktable       /usr/lib64/darktable/plugins/lighttable/libselect.so    U       g_free
darktable       /usr/lib64/darktable/views/liblighttable.so     U       g_free
darktable       /usr/lib64/libdarktable.so      U       g_free
dia     /usr/lib64/dia/libaadl_objects.so       U       g_free
dia     /usr/lib64/dia/libart_filter.so U       g_free
dia     /usr/lib64/dia/libcairo_filter.so       U       g_free
dia     /usr/lib64/dia/libcgm_filter.so U       g_free
dia     /usr/lib64/dia/libchronogram_objects.so U       g_free
dia     /usr/lib64/dia/libcustom_lines_objects.so       U       g_free
dia     /usr/lib64/dia/libcustom_objects.so     U       g_free
dia     /usr/lib64/dia/libdb_objects.so U       g_free
dia     /usr/lib64/dia/libdxf_filter.so U       g_free
dia     /usr/lib64/dia/liber_objects.so U       g_free
dia     /usr/lib64/dia/libfs_objects.so U       g_free
dia     /usr/lib64/dia/libgrafcet_objects.so    U       g_free
dia     /usr/lib64/dia/libistar_objects.so      U       g_free
dia     /usr/lib64/dia/libjackson_objects.so    U       g_free
dia     /usr/lib64/dia/libkaos_objects.so       U       g_free
dia     /usr/lib64/dia/libmetapost_filter.so    U       g_free
dia     /usr/lib64/dia/libmisc_objects.so       U       g_free
dia     /usr/lib64/dia/libnetwork_objects.so    U       g_free
dia     /usr/lib64/dia/libpgf_filter.so U       g_free
dia     /usr/lib64/dia/libpixbuf_filter.so      U       g_free
dia     /usr/lib64/dia/libpostscript_filter.so  U       g_free
dia     /usr/lib64/dia/libpstricks_filter.so    U       g_free
dia     /usr/lib64/dia/libpython_plugin.so      U       g_free
dia     /usr/lib64/dia/libsadt_objects.so       U       g_free
dia     /usr/lib64/dia/libshape_filter.so       U       g_free
dia     /usr/lib64/dia/libstandard_objects.so   U       g_free
dia     /usr/lib64/dia/libsvg_filter.so U       g_free
dia     /usr/lib64/dia/libuml_objects.so        U       g_free
dia     /usr/lib64/dia/libvdx_filter.so U       g_free
dia     /usr/lib64/dia/libwpg_filter.so U       g_free
dia     /usr/lib64/dia/libxfig_filter.so        U       g_free
dia     /usr/lib64/dia/libxslt_filter.so        U       g_free
eclipse-rcp     /usr/lib64/eclipse/configuration/org.eclipse.osgi/bundles/111/1/.cp/libswt-gnome-gtk-3555.so    U       g_free
eclipse-rcp     /usr/lib64/eclipse/configuration/org.eclipse.osgi/bundles/111/1/.cp/libswt-pi-gtk-3555.so       U       g_free
eclipse-swt     /usr/lib64/eclipse/configuration/org.eclipse.osgi/bundles/111/1/.cp/libswt-gnome-gtk-3555.so    U       g_free
eclipse-swt     /usr/lib64/eclipse/configuration/org.eclipse.osgi/bundles/111/1/.cp/libswt-pi-gtk-3555.so       U       g_free
epiphany-extension-gwget        /usr/lib64/epiphany/2.29/extensions/libgwgetextension.so        U       g_free
epiphany-extensions     /usr/lib64/epiphany/2.29/extensions/libactionsextension.so      U       g_free
epiphany-extensions     /usr/lib64/epiphany/2.29/extensions/libadblockextension.so      U       g_free
epiphany-extensions     /usr/lib64/epiphany/2.29/extensions/libautoreloadextension.so   U       g_free
epiphany-extensions     /usr/lib64/epiphany/2.29/extensions/libcertificatesextension.so U       g_free
epiphany-extensions     /usr/lib64/epiphany/2.29/extensions/libextensionsmanageruiextension.so  U       g_free
epiphany-extensions     /usr/lib64/epiphany/2.29/extensions/libgesturesextension.so     U       g_free
epiphany-extensions     /usr/lib64/epiphany/2.29/extensions/libhtml5tubeextension.so    U       g_free
epiphany-extensions     /usr/lib64/epiphany/2.29/extensions/librssextension.so  U       g_free
epiphany-extensions     /usr/lib64/epiphany/2.29/extensions/libsoupflyextension.so      U       g_free
farsight        /usr/lib64/farsight-0.1-3/librawudp-transmitter.so      U       g_free
farsight        /usr/lib64/farsight-0.1-3/librtp-session.so     U       g_free
gcompris        /usr/lib64/gcompris/libadvanced_colors.so       U       g_free
gcompris        /usr/lib64/gcompris/libalgebra.so       U       g_free
gcompris        /usr/lib64/gcompris/libalgebra_guesscount.so    U       g_free
gcompris        /usr/lib64/gcompris/libawele.so U       g_free
gcompris        /usr/lib64/gcompris/libbillard.so       U       g_free
gcompris        /usr/lib64/gcompris/libchess.so U       g_free
gcompris        /usr/lib64/gcompris/libclick_on_letter.so       U       g_free
gcompris        /usr/lib64/gcompris/libclickgame.so     U       g_free
gcompris        /usr/lib64/gcompris/libclockgame.so     U       g_free
gcompris        /usr/lib64/gcompris/libcolors.so        U       g_free
gcompris        /usr/lib64/gcompris/libenumerate.so     U       g_free
gcompris        /usr/lib64/gcompris/liberase.so U       g_free
gcompris        /usr/lib64/gcompris/libfifteen.so       U       g_free
gcompris        /usr/lib64/gcompris/libgletters.so      U       g_free
gcompris        /usr/lib64/gcompris/libhanoi.so U       g_free
gcompris        /usr/lib64/gcompris/libhanoi_real.so    U       g_free
gcompris        /usr/lib64/gcompris/libimageid.so       U       g_free
gcompris        /usr/lib64/gcompris/libleftright.so     U       g_free
gcompris        /usr/lib64/gcompris/libmagic_hat.so     U       g_free
gcompris        /usr/lib64/gcompris/libmemory.so        U       g_free
gcompris        /usr/lib64/gcompris/libmissingletter.so U       g_free
gcompris        /usr/lib64/gcompris/libmoney.so U       g_free
gcompris        /usr/lib64/gcompris/libphotohunter.so   U       g_free
gcompris        /usr/lib64/gcompris/libplanegame.so     U       g_free
gcompris        /usr/lib64/gcompris/librailroad.so      U       g_free
gcompris        /usr/lib64/gcompris/libread_colors.so   U       g_free
gcompris        /usr/lib64/gcompris/libreading.so       U       g_free
gcompris        /usr/lib64/gcompris/libreversecount.so  U       g_free
gcompris        /usr/lib64/gcompris/libscale.so U       g_free
gcompris        /usr/lib64/gcompris/libshapegame.so     U       g_free
gcompris        /usr/lib64/gcompris/libsmallnumbers.so  U       g_free
gcompris        /usr/lib64/gcompris/libsuperbrain.so    U       g_free
gcompris        /usr/lib64/gcompris/libtangram.so       U       g_free
gcompris        /usr/lib64/gcompris/libtarget.so        U       g_free
gcompris        /usr/lib64/gcompris/libtraffic.so       U       g_free
gcompris        /usr/lib64/gcompris/libwordprocessor.so U       g_free
gcompris        /usr/lib64/gcompris/libwordsgame.so     U       g_free
gdk-pixbuf-loaders      /usr/lib64/gdk-pixbuf/loaders/libpixbufloader-bmp.so    U       g_free
gdk-pixbuf-loaders      /usr/lib64/gdk-pixbuf/loaders/libpixbufloader-gif.so    U       g_free
gdk-pixbuf-loaders      /usr/lib64/gdk-pixbuf/loaders/libpixbufloader-ico.so    U       g_free
gdk-pixbuf-loaders      /usr/lib64/gdk-pixbuf/loaders/libpixbufloader-jpeg.so   U       g_free
gdk-pixbuf-loaders      /usr/lib64/gdk-pixbuf/loaders/libpixbufloader-png.so    U       g_free
gdk-pixbuf-loaders      /usr/lib64/gdk-pixbuf/loaders/libpixbufloader-pnm.so    U       g_free
gdk-pixbuf-loaders      /usr/lib64/gdk-pixbuf/loaders/libpixbufloader-ras.so    U       g_free
gdk-pixbuf-loaders      /usr/lib64/gdk-pixbuf/loaders/libpixbufloader-tiff.so   U       g_free
gdk-pixbuf-loaders      /usr/lib64/gdk-pixbuf/loaders/libpixbufloader-xbm.so    U       g_free
gdk-pixbuf-loaders      /usr/lib64/gdk-pixbuf/loaders/libpixbufloader-xpm.so    U       g_free
gkrellm-gkrelldnet      /usr/lib64/gkrellm2/plugins/gkrelldnet.so       U       g_free
gkrellm-gkrelltop       /usr/lib64/gkrellm2/plugins/gkrelltop.so        U       g_free
gkrellm-gtodo   /usr/lib64/gkrellm2/plugins/gkrellm-gtodo.so    U       g_free
gkrellm-radio   /usr/lib64/gkrellm2/plugins/radio.so    U       g_free
gkrellm-reminder        /usr/lib64/gkrellm2/plugins/reminder.so U       g_free
gkrellm-wmforkplop      /usr/lib64/gkrellm2/plugins/gkforkplop.so       U       g_free
gnokii-smsd-mysql       /usr/lib64/smsd/libsmsd_mysql.so        U       g_free
gnokii-smsd-pq  /usr/lib64/smsd/libsmsd_pq.so   U       g_free
gnome-chemistry-utils   /usr/lib64/gchemutils/0.10/plugins/cdxml/cdxml.so       U       g_free
gnome-chemistry-utils   /usr/lib64/gchemutils/0.10/plugins/paint/residues.so    U       g_free
gnome-chemistry-utils   /usr/lib64/gchemutils/0.10/plugins/paint/selection.so   U       g_free
gnome-chemistry-utils   /usr/lib64/gchemutils/0.10/plugins/paint/templates.so   U       g_free
gnome-chemistry-utils   /usr/lib64/gchemutils/0.10/plugins/paint/text.so        U       g_free
gnome-chemistry-utils   /usr/lib64/gchemutils/0.10/plugins/paint/wikipedia.so   U       g_free
gnome-chemistry-utils   /usr/lib64/goffice/0.8.0/plugins/gchemutils/gchemutils.so       U       g_free
gnome-chemistry-utils   /usr/lib64/libgchempaint-0.10.so.0.10.12        U       g_free
gnome-libs      /usr/lib64/libgtkxmhtml.so.1.0.1        U       g_free
gnome-libs      /usr/lib64/libzvt.so.2.3.0      U       g_free
gnote   /usr/lib64/gnote/addins/0.7.3/bugzilla.so       U       g_free
gnote   /usr/lib64/gnote/addins/0.7.3/exporttohtml.so   U       g_free
gnote   /usr/lib64/gnote/addins/0.7.3/inserttimestamp.so        U       g_free
gnumeric        /usr/lib64/gnumeric/1.10.7/plugins/applix/applix.so     U       g_free
gnumeric        /usr/lib64/gnumeric/1.10.7/plugins/dif/dif.so   U       g_free
gnumeric        /usr/lib64/gnumeric/1.10.7/plugins/excel/excel.so       U       g_free
gnumeric        /usr/lib64/gnumeric/1.10.7/plugins/fn-database/plugin.so        U       g_free
gnumeric        /usr/lib64/gnumeric/1.10.7/plugins/fn-date/plugin.so    U       g_free
gnumeric        /usr/lib64/gnumeric/1.10.7/plugins/fn-derivatives/plugin.so     U       g_free
gnumeric        /usr/lib64/gnumeric/1.10.7/plugins/fn-financial/plugin.so       U       g_free
gnumeric        /usr/lib64/gnumeric/1.10.7/plugins/fn-lookup/plugin.so  U       g_free
gnumeric        /usr/lib64/gnumeric/1.10.7/plugins/fn-math/plugin.so    U       g_free
gnumeric        /usr/lib64/gnumeric/1.10.7/plugins/fn-numtheory/plugin.so       U       g_free
gnumeric        /usr/lib64/gnumeric/1.10.7/plugins/fn-random/plugin.so  U       g_free
gnumeric        /usr/lib64/gnumeric/1.10.7/plugins/fn-stat/plugin.so    U       g_free
gnumeric        /usr/lib64/gnumeric/1.10.7/plugins/fn-string/plugin.so  U       g_free
gnumeric        /usr/lib64/gnumeric/1.10.7/plugins/fn-tsa/plugin.so     U       g_free
gnumeric        /usr/lib64/gnumeric/1.10.7/plugins/glpk/glpk.so U       g_free
gnumeric        /usr/lib64/gnumeric/1.10.7/plugins/html/html.so U       g_free
gnumeric        /usr/lib64/gnumeric/1.10.7/plugins/lotus/lotus.so       U       g_free
gnumeric        /usr/lib64/gnumeric/1.10.7/plugins/lpsolve/lpsolve.so   U       g_free
gnumeric        /usr/lib64/gnumeric/1.10.7/plugins/mps/mps.so   U       g_free
gnumeric        /usr/lib64/gnumeric/1.10.7/plugins/nlsolve/nlsolve.so   U       g_free
gnumeric        /usr/lib64/gnumeric/1.10.7/plugins/oleo/oleo.so U       g_free
gnumeric        /usr/lib64/gnumeric/1.10.7/plugins/openoffice/openoffice.so     U       g_free
gnumeric        /usr/lib64/gnumeric/1.10.7/plugins/plan_perfect/plan_perfect.so U       g_free
gnumeric        /usr/lib64/gnumeric/1.10.7/plugins/qpro/qpro.so U       g_free
gnumeric        /usr/lib64/gnumeric/1.10.7/plugins/sample_datasource/sample_datasource.so       U       g_free
gnumeric        /usr/lib64/gnumeric/1.10.7/plugins/sc/sc.so     U       g_free
gnumeric        /usr/lib64/gnumeric/1.10.7/plugins/sylk/sylk.so U       g_free
gnumeric        /usr/lib64/gnumeric/1.10.7/plugins/uihello/plugin.so    U       g_free
gnumeric        /usr/lib64/gnumeric/1.10.7/plugins/xbase/xbase.so       U       g_free
gnumeric-light  /usr/lib64/gnumeric/1.10.5/plugins/applix/applix.so     U       g_free
gnumeric-light  /usr/lib64/gnumeric/1.10.5/plugins/dif/dif.so   U       g_free
gnumeric-light  /usr/lib64/gnumeric/1.10.5/plugins/excel/excel.so       U       g_free
gnumeric-light  /usr/lib64/gnumeric/1.10.5/plugins/excelplugins/plugin.so       U       g_free
gnumeric-light  /usr/lib64/gnumeric/1.10.5/plugins/fn-database/plugin.so        U       g_free
gnumeric-light  /usr/lib64/gnumeric/1.10.5/plugins/fn-date/plugin.so    U       g_free
gnumeric-light  /usr/lib64/gnumeric/1.10.5/plugins/fn-derivatives/plugin.so     U       g_free
gnumeric-light  /usr/lib64/gnumeric/1.10.5/plugins/fn-financial/plugin.so       U       g_free
gnumeric-light  /usr/lib64/gnumeric/1.10.5/plugins/fn-lookup/plugin.so  U       g_free
gnumeric-light  /usr/lib64/gnumeric/1.10.5/plugins/fn-math/plugin.so    U       g_free
gnumeric-light  /usr/lib64/gnumeric/1.10.5/plugins/fn-numtheory/plugin.so       U       g_free
gnumeric-light  /usr/lib64/gnumeric/1.10.5/plugins/fn-random/plugin.so  U       g_free
gnumeric-light  /usr/lib64/gnumeric/1.10.5/plugins/fn-stat/plugin.so    U       g_free
gnumeric-light  /usr/lib64/gnumeric/1.10.5/plugins/fn-string/plugin.so  U       g_free
gnumeric-light  /usr/lib64/gnumeric/1.10.5/plugins/fn-tsa/plugin.so     U       g_free
gnumeric-light  /usr/lib64/gnumeric/1.10.5/plugins/glpk/glpk.so U       g_free
gnumeric-light  /usr/lib64/gnumeric/1.10.5/plugins/html/html.so U       g_free
gnumeric-light  /usr/lib64/gnumeric/1.10.5/plugins/lotus/lotus.so       U       g_free
gnumeric-light  /usr/lib64/gnumeric/1.10.5/plugins/lpsolve/lpsolve.so   U       g_free
gnumeric-light  /usr/lib64/gnumeric/1.10.5/plugins/mps/mps.so   U       g_free
gnumeric-light  /usr/lib64/gnumeric/1.10.5/plugins/nlsolve/nlsolve.so   U       g_free
gnumeric-light  /usr/lib64/gnumeric/1.10.5/plugins/oleo/oleo.so U       g_free
gnumeric-light  /usr/lib64/gnumeric/1.10.5/plugins/openoffice/openoffice.so     U       g_free
gnumeric-light  /usr/lib64/gnumeric/1.10.5/plugins/plan_perfect/plan_perfect.so U       g_free
gnumeric-light  /usr/lib64/gnumeric/1.10.5/plugins/qpro/qpro.so U       g_free
gnumeric-light  /usr/lib64/gnumeric/1.10.5/plugins/sample_datasource/sample_datasource.so       U       g_free
gnumeric-light  /usr/lib64/gnumeric/1.10.5/plugins/sc/sc.so     U       g_free
gnumeric-light  /usr/lib64/gnumeric/1.10.5/plugins/sylk/sylk.so U       g_free
gnumeric-light  /usr/lib64/gnumeric/1.10.5/plugins/uihello/plugin.so    U       g_free
gnumeric-light  /usr/lib64/gnumeric/1.10.5/plugins/xbase/xbase.so       U       g_free
gtk-engines-mgicchikn   /usr/lib64/gtk-2.0/2.4.0/engines/libmgicchikn.so        U       g_free
gtk1-theme-galaxy       /usr/lib64/gtk/themes/engines/libgalaxy.so      U       g_free
heartbeat       /usr/lib64/heartbeat/plugins/RAExec/stonith.so  U       g_free
heartbeat       /usr/lib64/libccmclient.so.1.0.0        U       g_free
heartbeat       /usr/lib64/libplumb.so.1.0.0    U       g_free
irssi   /usr/lib64/irssi/modules/libirc_proxy.so        U       g_free
irssi-old       /usr/lib64/irssi/modules/libirc_proxy.so.0.0.0  U       g_free
irssi-old-perl  /usr/lib/perl5/vendor_perl/x86_64-linux/auto/Irssi/Irc/Irc.so   U       g_free
irssi-old-perl  /usr/lib/perl5/vendor_perl/x86_64-linux/auto/Irssi/Irssi.so     U       g_free
irssi-old-perl  /usr/lib/perl5/vendor_perl/x86_64-linux/auto/Irssi/TextUI/TextUI.so     U       g_free
irssi-old-perl  /usr/lib/perl5/vendor_perl/x86_64-linux/auto/Irssi/UI/UI.so     U       g_free
irssi-old-perl  /usr/lib64/irssi/modules/libfe_perl.so  U       g_free
irssi-old-perl  /usr/lib64/irssi/modules/libperl_core.so        U       g_free
irssi-perl      /usr/lib/perl5/vendor_perl/x86_64-linux/auto/Irssi/Irc/Irc.so   U       g_free
irssi-perl      /usr/lib/perl5/vendor_perl/x86_64-linux/auto/Irssi/Irssi.so     U       g_free
irssi-perl      /usr/lib/perl5/vendor_perl/x86_64-linux/auto/Irssi/TextUI/TextUI.so     U       g_free
irssi-perl      /usr/lib/perl5/vendor_perl/x86_64-linux/auto/Irssi/UI/UI.so     U       g_free
irssi-perl      /usr/lib64/irssi/modules/libfe_perl.so  U       g_free
irssi-perl      /usr/lib64/irssi/modules/libperl_core.so        U       g_free
libORBit        /usr/lib64/libORBitCosNaming.so.0.5.17  U       g_free
libORBit2       /usr/lib64/libname-server-2.so.0.0.0    U       g_free
libaudacious    /usr/lib64/libSAD.so.2.0.0      U       g_free
libbuzztard-gst /usr/lib64/gstreamer-0.10/libgstaudiodelay.so   U       g_free
libevince-gtk   /usr/lib64/evince/1/backends/libtiffdocument.so U       g_free
libopensync0-plugin-gnokii      /usr/lib64/opensync/formats/gnokii.so   U       g_free
libopensync0-plugin-kdepim      /usr/lib64/opensync/plugins/kdepim_lib.so       U       g_free
libplanner      /usr/lib64/planner/plugins/libhtml-plugin.so    U       g_free
libplanner      /usr/lib64/planner/plugins/libmsp-plugin.so     U       g_free
libplanner      /usr/lib64/planner/plugins/libxmlplanner-plugin.so      U       g_free
libral  /usr/lib64/libral/plugins/libcsv.so.0.0.0       U       g_free
libral  /usr/lib64/libral/plugins/librubrica.so.0.0.0   U       g_free
libral  /usr/lib64/libral/plugins/libvcard.so.0.0.0     U       g_free
libtranslate    /usr/lib64/libtranslate/modules/talkfilters.so  U       g_free
libxdelta2      /usr/lib64/libxdelta.so.2.0.0   U       g_free
mono-devel      /usr/lib64/libmono-profiler-aot.so.0.0.0        U       g_free
mono-devel      /usr/lib64/libmono-profiler-cov.so.0.0.0        U       g_free
mono-devel      /usr/lib64/libmono-profiler-logging.so.0.0.0    U       g_free
mysql-workbench-oss     /usr/lib64/mysql-workbench/libmdcanvas.so.0.0.0 U       g_free
mysql-workbench-oss     /usr/lib64/mysql-workbench/libwbpublic.so.0.0.0 U       g_free
mysql-workbench-oss     /usr/lib64/mysql-workbench/modules/db.mysql.sqlparser.grt.so.0.0.0      U       g_free
mysql-workbench-oss     /usr/lib64/mysql-workbench/modules/wb.model.grt.so.0.0.0        U       g_free
mysql-workbench-oss     /usr/lib64/mysql-workbench/modules/wb.mysql.import.grt.so.0.0.0 U       g_free
mysql-workbench-oss     /usr/lib64/mysql-workbench/plugins/db.mysql.diff.reporting.wbp.so.0.0.0 U       g_free
mysql-workbench-oss     /usr/lib64/mysql-workbench/plugins/db.mysql.editors.wbp.so.0.0.0        U       g_free
mysql-workbench-oss     /usr/lib64/mysql-workbench/plugins/db.mysql.wbp.so.0.0.0        U       g_free
mysql-workbench-oss     /usr/lib64/mysql-workbench/plugins/wb.model.editors.wbp.so.0.0.0        U       g_free
nautilus-gnome-mplayer-properties-page  /usr/lib64/nautilus/extensions-2.0/libgnome-mplayer-properties-page.so  U       g_free
nautilus-sendto-bluetooth       /usr/lib64/nautilus-sendto/plugins/libnstbluetooth.so   U       g_free
perl-Xmms       /usr/lib/perl5/vendor_perl/x86_64-linux/auto/Xmms/Config/Config.so      U       g_free
perl-Xmms       /usr/lib/perl5/vendor_perl/x86_64-linux/auto/Xmms/Remote/Remote.so      U       g_free
pidgin-encryption       /usr/lib64/pidgin/encrypt.so    U       g_free
pidgin-plugin-mrim      /usr/lib64/purple-2/mrim.so     U       g_free
rhythmbox       /usr/lib64/rhythmbox/plugins/generic-player/libgeneric-player.so        U       g_free
rhythmbox-plugins-fmradio       /usr/lib64/rhythmbox/plugins/fmradio/libfmradio.so      U       g_free
rhythmbox-plugins-iradio        /usr/lib64/rhythmbox/plugins/iradio/libiradio.so        U       g_free
rhythmbox-plugins-lirc  /usr/lib64/rhythmbox/plugins/rblirc/librblirc.so        U       g_free
rubrica /usr/lib64/libral/plugins/libcsvgmail.so.1.0.0  U       g_free
rubrica /usr/lib64/libral/plugins/libcsvthunderbird.so.1.0.1    U       g_free
rubrica /usr/lib64/libral/plugins/librubrica.so.1.0.1   U       g_free
rubrica /usr/lib64/libral/plugins/libvcard.so.1.0.1     U       g_free
scratch-plugins /usr/lib64/squeak/current/so.UnicodePlugin      U       g_free
stardict-common /usr/lib64/stardict/plugins/stardict_html_parsedata.so  U       g_free
stardict-common /usr/lib64/stardict/plugins/stardict_powerword_parsedata.so     U       g_free
stardict-common /usr/lib64/stardict/plugins/stardict_qqwry.so   U       g_free
stardict-common /usr/lib64/stardict/plugins/stardict_wiki_parsedata.so  U       g_free
stardict-common /usr/lib64/stardict/plugins/stardict_wordnet.so U       g_free
stardict-common /usr/lib64/stardict/plugins/stardict_wordnet_parsedata.so       U       g_free
stardict-plugin-dictdotcn       /usr/lib64/stardict/plugins/stardict_dictdotcn.so       U       g_free
stardict-plugin-espeak  /usr/lib64/stardict/plugins/stardict_espeak.so  U       g_free
sven    /usr/lib64/sven/plugins/autoconvert.so  U       g_free
syncevolution   /usr/lib64/gnome-bluetooth/plugins/libgbtsyncevolution.so       U       g_free
thunar-archive-plugin   /usr/lib64/thunarx-1/thunar-archive-plugin.so   U       g_free
wireshark-base  /usr/lib64/wireshark/plugins/1.2.9/asn1.so      U       g_free
wireshark-base  /usr/lib64/wireshark/plugins/1.2.9/cosnaming.so U       g_free
wireshark-base  /usr/lib64/wireshark/plugins/1.2.9/gryphon.so   U       g_free
wireshark-base  /usr/lib64/wireshark/plugins/1.2.9/irda.so      U       g_free
wireshark-base  /usr/lib64/wireshark/plugins/1.2.9/mate.so      U       g_free
wireshark-base  /usr/lib64/wireshark/plugins/1.2.9/opcua.so     U       g_free
wireshark-base  /usr/lib64/wireshark/plugins/1.2.9/parlay.so    U       g_free
wireshark-base  /usr/lib64/wireshark/plugins/1.2.9/profinet.so  U       g_free
wireshark-base  /usr/lib64/wireshark/plugins/1.2.9/tango.so     U       g_free
wireshark-base  /usr/lib64/wireshark/plugins/1.2.9/wimax.so     U       g_free
wireshark-base  /usr/lib64/wireshark/plugins/1.2.9/wimaxasncp.so        U       g_free
xchat-gnome     /usr/lib64/xchat-gnome/plugins/notification.so  U       g_free
xchat-gnome     /usr/lib64/xchat-gnome/plugins/python.so        U       g_free
xmms    /usr/lib64/xmms/Input/libtonegen.so     U       g_free
xmms    /usr/lib64/xmms/Input/libwav.so U       g_free
xmms-eff-normalize      /usr/lib64/xmms/Effect/libnormvol.so    U       g_free
xmms-fmradio    /usr/lib64/xmms/Input/libradio.so       U       g_free
xmms-in-faad    /usr/lib64/xmms/Input/libmp4.so U       g_free
xmms-in-flac    /usr/lib64/xmms/Input/libxmms-flac.so   U       g_free
xmms-in-mac     /usr/lib64/xmms/Input/libxmms-mac.so    U       g_free
xmms-in-modplug /usr/lib64/xmms/Input/libmodplugxmms.so U       g_free
xmms-in-speex   /usr/lib64/xmms/Input/libspeex.so       U       g_free
xmms-in-vtx     /usr/lib64/xmms/Input/libvtx.so U       g_free
xmms-in-wma     /usr/lib64/xmms/Input/libwma.so U       g_free
xmms-ladspa     /usr/lib64/xmms/Effect/ladspa.so        U       g_free
xmms-lirc       /usr/lib64/xmms/General/liblirc.so      U       g_free
xmms-osd        /usr/lib64/xmms/General/libxmms_osd.so  U       g_free
xmms-out-crossfade      /usr/lib64/xmms/Output/libcrossfade.so  U       g_free
xmms-scrobbler  /usr/lib64/xmms/General/libxmms_scrobbler.so    U       g_free
xmms-status-plugin      /usr/lib64/xmms/General/libstatusdocklet.so     U       g_free
[at@people at]$

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [devel] unjoined g_free
  2010-07-12 22:10                 ` [devel] unjoined g_free Alexey Tourbin
@ 2010-07-12 23:50                   ` Dmitry V. Levin
  2010-07-15  8:01                   ` [devel] [cross] " Ildar Mulyukov
  1 sibling, 0 replies; 20+ messages in thread
From: Dmitry V. Levin @ 2010-07-12 23:50 UTC (permalink / raw)
  To: ALT Linux Team development discussions

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

On Tue, Jul 13, 2010 at 02:10:51AM +0400, Alexey Tourbin wrote:
> On Mon, Jul 12, 2010 at 11:17:03PM +0400, Alexey Tourbin wrote:
> > что такая проверка будет зарубать недолинкованные плагины, а в схеме
> > c -rdynamic executable недолинкованные плагины будут неизбежны (примеры:
> > /bin/zsh, /usr/bin/Xorg).  И, кроме того, ELF всё же разрешает
> > транзитивное разрешение символов.
> 
> On Tue, Jul 13, 2010 at 12:19:14AM +0400, Alexey Tourbin wrote:
> > Кстати, интересно тогда, что делать в lib.req, если некоторые символы
> > разрешаются в библиотеки, не перечисленные в DT_NEEDED.
> 
> Проблема недолинкованных плагинов достаточно неприятная.  Я сейчас
> посчитал, что у нас 321 файл (84 пакета), в которых идет недолинковка
> по символу g_free (то есть недолинковка с библиотекой glib2 (или glib1)).
> Почти все эти файлы - плагины.

Из 4889 исходных пакетов, в результате сборки которых образуется 8489
бинарных пакетов, содержащих значащие для rpmelfsym.pl ELF-файлы, 590
исходных пакетов (т.е. примерно 12%), прошедших недавно тестовую
пересборку, содержат недолинковку, диагностируемую verify-elf'ом.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [devel] linkage_problems abiword unjoined
  2010-07-12 20:19                 ` [devel] linkage_problems abiword unjoined Alexey Tourbin
@ 2010-07-13  8:07                   ` Alexey Tourbin
  2010-07-13  9:37                     ` Alexey Tourbin
  2010-07-13 10:37                     ` Kirill A. Shutemov
  0 siblings, 2 replies; 20+ messages in thread
From: Alexey Tourbin @ 2010-07-13  8:07 UTC (permalink / raw)
  To: ALT Linux Team development discussions

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

On Tue, Jul 13, 2010 at 12:19:14AM +0400, Alexey Tourbin wrote:
> Ну вот например показывает что libabiword-2.8 недолинкован с libX11.
>
> [at@people at]$ fgrep libabiword-2.8 unjoined
> abiword /usr/lib64/libabiword-2.8.so    U       XFreeModifiermap
> abiword /usr/lib64/libabiword-2.8.so    U       XGetModifierMapping
> abiword /usr/lib64/libabiword-2.8.so    U       XKeycodeToKeysym
> abiword /usr/lib64/libabiword-2.8.so    U       XKeysymToKeycode
> abiword /usr/lib64/libabiword-2.8.so    U       XParseGeometry
> abiword-light   /usr/lib64/libabiword-2.8.so    U       XFreeModifiermap
> abiword-light   /usr/lib64/libabiword-2.8.so    U	XGetModifierMapping
> abiword-light   /usr/lib64/libabiword-2.8.so    U       XKeycodeToKeysym
> abiword-light   /usr/lib64/libabiword-2.8.so    U       XKeysymToKeycode
> abiword-light   /usr/lib64/libabiword-2.8.so    U       XParseGeometry
> [at@people at]$ rpm -qpR /ALT/Sisyphus/files/x86_64/RPMS/abiword-2.8.4-alt1.x86_64.rpm |grep libX
> [at@people at]$
>
> Как могло получиться, что abiword недолинкован с libX11?
> У нас же и в binutils подержка есть "подцепить недостающие библиотеки",
> и pkg-config для линковки рекурсивно раскрывает список Libs.

В ld/bfd что-то не так работает.

libtool: link: i586-alt-linux-g++ -pipe -Wall -O2 -march=i586 -mtune=i686 --no-undefined -o .libs/abiword abiword-UnixMain.o -pthread -Wl,--export-dynamic  ./.libs/libabiword-2.8.so -lfribidi -lwv -lgsf-1 -lxml2 -lpng -lenchant -lgoffice-0.8 -lz -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangocairo-1.0 -lpangoft2-1.0 -lpango-1.0 -lfreetype -lfontconfig -lrsvg-2 -lm -lgdk_pixbuf-2.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -ljpeg -pthread
http://git.altlinux.org/beehive/logs/Sisyphus-i586/latest/success/abiword-2.8.4-alt1
(зависимость на libX11 не появляется)

Он линкуется с -lgtk-x11-2.0, которая в свою очередь содержит DT_NEEDED
libX11.so.6.  Тогда согласно документации в ld(1), в режиме --copy-dt-needed-entries
он должен просто скопировать DT_NEEDED libX11.so.6 в libabiword-2.8.so!
Предварительно проверив (в режиме --as-needed), что библиотека
libX11.so.6 разрешает какие-то символы (и мы видим, что она разрешает).

В ld(1) вообще говорится "recursively searched".  Так что мой пример,
когда libX11.so.6 должна подцепиться через -lgtk-x11-2.0 сразу же, -
это перестраховка.

	With the default setting dynamic libraries mentioned on the
	command line will be recursively searched, following their
	DT_NEEDED tags to other libraries, in order to resolve symbols
	required by the output binary.

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [devel] linkage_problems abiword unjoined
  2010-07-13  8:07                   ` Alexey Tourbin
@ 2010-07-13  9:37                     ` Alexey Tourbin
  2010-07-13 10:05                       ` Dmitry V. Levin
  2010-07-13 10:37                     ` Kirill A. Shutemov
  1 sibling, 1 reply; 20+ messages in thread
From: Alexey Tourbin @ 2010-07-13  9:37 UTC (permalink / raw)
  To: ALT Linux Team development discussions

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

On Tue, Jul 13, 2010 at 12:07:06PM +0400, Alexey Tourbin wrote:
> libtool: link: i586-alt-linux-g++ -pipe -Wall -O2 -march=i586 -mtune=i686 --no-undefined -o .libs/abiword abiword-UnixMain.o -pthread -Wl,--export-dynamic  ./.libs/libabiword-2.8.so -lfribidi -lwv -lgsf-1 -lxml2 -lpng -lenchant -lgoffice-0.8 -lz -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangocairo-1.0 -lpangoft2-1.0 -lpango-1.0 -lfreetype -lfontconfig -lrsvg-2 -lm -lgdk_pixbuf-2.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -ljpeg -pthread
> http://git.altlinux.org/beehive/logs/Sisyphus-i586/latest/success/abiword-2.8.4-alt1
> (зависимость на libX11 не появляется)

Взял неправильную строчку из лога сборки, правильная далее, но суть такая же.

libtool: link: i586-alt-linux-g++ -shared -nostdlib /usr/lib/gcc/i586-alt-linux/4.4.3/../../../crti.o /usr/lib/gcc/i586-alt-linux/4.4.3/crtbeginS.o .libs/libabiword_2_8_la-abi_ver.o .libs/libabiword_2_8_la-libabiword.o -Wl,--whole-archive plugins/.libs/libplugins.a text/fmt/xp/.libs/libxp.a text/ptbl/xp/.libs/libxp.a wp/ap/gtk/.libs/libgtk.a wp/ap/xp/.libs/libxp.a wp/impexp/gtk/.libs/libgtk.a wp/impexp/xp/.libs/libxp.a af/xap/gtk/.libs/libgtk.a af/xap/xp/.libs/libxp.a af/gr/gtk/.libs/libgtk.a af/gr/xp/.libs/libxp.a af/util/unix/.libs/libunix.a af/util/xp/.libs/libxp.a af/ev/gtk/.libs/libgtk.a af/ev/xp/.libs/libxp.a text/fmt/gtk/.libs/libgtk.a -Wl,--no-whole-archive -lfribidi -lwv -lgsf-1 -lxml2 -lpng -lenchant -lgoffice-0.8 -lz -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangocairo-1.0 -lpangoft2-1.0 -lpango-1.0 -lfreetype -lfontconfig -lrsvg-2 -lgdk_pixbuf-2.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -ljpeg -L/usr/lib/gcc/i586-alt-linux/4.4.3 -L/usr/lib/gcc/i586-alt-linux/4.4.3/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/i586-alt-linux/4.4.3/crtendS.o /usr/lib/gcc/i586-alt-linux/4.4.3/../../../crtn.o -march=i586 -mtune=i686 -pthread -pthread -Wl,-soname -Wl,libabiword-2.8.so -o .libs/libabiword-2.8.so 

Подозрительно выглядит -nostdlib -lstdc++.
Интересно, это делает abiword или libtool?

> Он линкуется с -lgtk-x11-2.0, которая в свою очередь содержит DT_NEEDED
> libX11.so.6.  Тогда согласно документации в ld(1), в режиме --copy-dt-needed-entries
> он должен просто скопировать DT_NEEDED libX11.so.6 в libabiword-2.8.so!
> Предварительно проверив (в режиме --as-needed), что библиотека
> libX11.so.6 разрешает какие-то символы (и мы видим, что она разрешает).

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [devel] linkage_problems abiword unjoined
  2010-07-13  9:37                     ` Alexey Tourbin
@ 2010-07-13 10:05                       ` Dmitry V. Levin
  0 siblings, 0 replies; 20+ messages in thread
From: Dmitry V. Levin @ 2010-07-13 10:05 UTC (permalink / raw)
  To: ALT Linux Team development discussions

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

On Tue, Jul 13, 2010 at 01:37:26PM +0400, Alexey Tourbin wrote:
> On Tue, Jul 13, 2010 at 12:07:06PM +0400, Alexey Tourbin wrote:
> > libtool: link: i586-alt-linux-g++ -pipe -Wall -O2 -march=i586 -mtune=i686 --no-undefined -o .libs/abiword abiword-UnixMain.o -pthread -Wl,--export-dynamic  ./.libs/libabiword-2.8.so -lfribidi -lwv -lgsf-1 -lxml2 -lpng -lenchant -lgoffice-0.8 -lz -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangocairo-1.0 -lpangoft2-1.0 -lpango-1.0 -lfreetype -lfontconfig -lrsvg-2 -lm -lgdk_pixbuf-2.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -ljpeg -pthread
> > http://git.altlinux.org/beehive/logs/Sisyphus-i586/latest/success/abiword-2.8.4-alt1
> > (зависимость на libX11 не появляется)
> 
> Взял неправильную строчку из лога сборки, правильная далее, но суть такая же.
> 
> libtool: link: i586-alt-linux-g++ -shared -nostdlib /usr/lib/gcc/i586-alt-linux/4.4.3/../../../crti.o /usr/lib/gcc/i586-alt-linux/4.4.3/crtbeginS.o .libs/libabiword_2_8_la-abi_ver.o .libs/libabiword_2_8_la-libabiword.o -Wl,--whole-archive plugins/.libs/libplugins.a text/fmt/xp/.libs/libxp.a text/ptbl/xp/.libs/libxp.a wp/ap/gtk/.libs/libgtk.a wp/ap/xp/.libs/libxp.a wp/impexp/gtk/.libs/libgtk.a wp/impexp/xp/.libs/libxp.a af/xap/gtk/.libs/libgtk.a af/xap/xp/.libs/libxp.a af/gr/gtk/.libs/libgtk.a af/gr/xp/.libs/libxp.a af/util/unix/.libs/libunix.a af/util/xp/.libs/libxp.a af/ev/gtk/.libs/libgtk.a af/ev/xp/.libs/libxp.a text/fmt/gtk/.libs/libgtk.a -Wl,--no-whole-archive -lfribidi -lwv -lgsf-1 -lxml2 -lpng -lenchant -lgoffice-0.8 -lz -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangocairo-1.0 -lpangoft2-1.0 -lpango-1.0 -lfreetype -lfontconfig -lrsvg-2 -lgdk_pixbuf-2.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -ljpeg -L/usr/lib/gcc/i586-alt-linux/4.4.3 -L/usr/lib/gcc/i586-alt-linux/4.4.3/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/i586-alt-linux/4.4.3/crtendS.o /usr/lib/gcc/i586-alt-linux/4.4.3/../../../crtn.o -march=i586 -mtune=i686 -pthread -pthread -Wl,-soname -Wl,libabiword-2.8.so -o .libs/libabiword-2.8.so 
> 
> Подозрительно выглядит -nostdlib -lstdc++.
> Интересно, это делает abiword или libtool?

Скорее всего, это делает libtool, зашитый в abiword.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [devel] linkage_problems abiword unjoined
  2010-07-13  8:07                   ` Alexey Tourbin
  2010-07-13  9:37                     ` Alexey Tourbin
@ 2010-07-13 10:37                     ` Kirill A. Shutemov
  1 sibling, 0 replies; 20+ messages in thread
From: Kirill A. Shutemov @ 2010-07-13 10:37 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Tue, Jul 13, 2010 at 12:07:06PM +0400, Alexey Tourbin wrote:
> On Tue, Jul 13, 2010 at 12:19:14AM +0400, Alexey Tourbin wrote:
> > Ну вот например показывает что libabiword-2.8 недолинкован с libX11.
> >
> > [at@people at]$ fgrep libabiword-2.8 unjoined
> > abiword /usr/lib64/libabiword-2.8.so    U       XFreeModifiermap
> > abiword /usr/lib64/libabiword-2.8.so    U       XGetModifierMapping
> > abiword /usr/lib64/libabiword-2.8.so    U       XKeycodeToKeysym
> > abiword /usr/lib64/libabiword-2.8.so    U       XKeysymToKeycode
> > abiword /usr/lib64/libabiword-2.8.so    U       XParseGeometry
> > abiword-light   /usr/lib64/libabiword-2.8.so    U       XFreeModifiermap
> > abiword-light   /usr/lib64/libabiword-2.8.so    U	XGetModifierMapping
> > abiword-light   /usr/lib64/libabiword-2.8.so    U       XKeycodeToKeysym
> > abiword-light   /usr/lib64/libabiword-2.8.so    U       XKeysymToKeycode
> > abiword-light   /usr/lib64/libabiword-2.8.so    U       XParseGeometry
> > [at@people at]$ rpm -qpR /ALT/Sisyphus/files/x86_64/RPMS/abiword-2.8.4-alt1.x86_64.rpm |grep libX
> > [at@people at]$
> >
> > Как могло получиться, что abiword недолинкован с libX11?
> > У нас же и в binutils подержка есть "подцепить недостающие библиотеки",
> > и pkg-config для линковки рекурсивно раскрывает список Libs.
> 
> В ld/bfd что-то не так работает.

Хм... Похоже логика --as-needed работает до --copy-dt-needed-entries.
Это странно.

Пример:

$ cat 1.c
#include <stdlib.h>
#include <X11/Xlib.h>

int main(int argc, char **argv)
{
        XFreeModifiermap(NULL);
        return 0;
}
$ objdump -p /usr/lib/libgtk-x11-2.0.so | grep NEEDED
  NEEDED               libgdk_pixbuf-2.0.so.0
  NEEDED               libgdk-x11-2.0.so.0
  NEEDED               libpangocairo-1.0.so.0
  NEEDED               libX11.so.6
  NEEDED               libXfixes.so.3
  NEEDED               libatk-1.0.so.0
  NEEDED               libcairo.so.2
  NEEDED               libgio-2.0.so.0
  NEEDED               libpangoft2-1.0.so.0
  NEEDED               libpango-1.0.so.0
  NEEDED               libfontconfig.so.1
  NEEDED               libgobject-2.0.so.0
  NEEDED               libgmodule-2.0.so.0
  NEEDED               libglib-2.0.so.0
  NEEDED               libm.so.6
  NEEDED               libpthread.so.0
  NEEDED               libc.so.6
$ gcc 1.c -lgtk-x11-2.0
/usr/src/tmp/cc80cbEj.o: In function `main':
1.c:(.text+0x11): undefined reference to `XFreeModifiermap'
collect2: ld returned 1 exit status
$ gcc 1.c -Wl,--no-as-needed -lgtk-x11-2.0
$ objdump -p |grep NEEDED
  NEEDED               libgtk-x11-2.0.so.0
  NEEDED               libc.so.6
  NEEDED               libX11.so.6

-- 
 Kirill A. Shutemov


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [devel] [cross] unjoined g_free
  2010-07-12 22:10                 ` [devel] unjoined g_free Alexey Tourbin
  2010-07-12 23:50                   ` Dmitry V. Levin
@ 2010-07-15  8:01                   ` Ildar Mulyukov
  1 sibling, 0 replies; 20+ messages in thread
From: Ildar Mulyukov @ 2010-07-15  8:01 UTC (permalink / raw)
  To: devel, ALT Linux Gnome

ВНИМАНИЕ! кросс-пост.

On 13.07.2010 04:10:51, Alexey Tourbin wrote:
> Проблема недолинкованных плагинов достаточно неприятная.  Я сейчас
> посчитал, что у нас 321 файл (84 пакета), в которых идет недолинковка
> по символу g_free (то есть недолинковка с библиотекой glib2 (или  
> glib1)).
> Почти все эти файлы - плагины.

Что касается GObject-плагинов, я считаю, что в большинстве случаев  
недолинковки можно было избежать исправлением сборки (сам это делал  
неоднократно).
Недолинковка по символу g_free --- явно исправима в 100% случаев, ИМХО.

После сборки более подробной статистики, думаю, можно было бы  
ужесточить проверку. В тех случаях, когда дизайн библиотеки/программы  
настолько "неправильный", что плагин использует символы из /usr/bin/*  
или непубличные символы библиотеки, мэйнтейнер может добавить одну  
строчку в спек. Думаю, _неисправимых_ случаев будет не так много (для  
справки, gedit уже исправили, или близки к этому, см. libpeas).

Моё ИМХО. Буду рад, если кто-то исправит мои заблуждения.
С уважением,
	Ильдар
-- 
Ildar  Mulyukov,  free SW designer/programmer/packager
=========================================
email: ildar@altlinux.ru
Jabber: ildar.mulyukov@gmail.com
ICQ: 4334029
ALT Linux Sisyphus http://www.sisyphus.ru
=========================================


^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2010-07-15  8:01 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-07-10 23:43   ` [devel] Fwd: hylafax-5.2.7-alt5: Sisyphus/i586 test rebuild failed Led
2010-07-11  6:40     ` Денис Смирнов
2010-07-11  8:33       ` Dmitry V. Levin
2010-07-11  9:26         ` [devel] Q: second class packages in Sisyphus Dmitry V. Levin
2010-07-11 15:07           ` Michael Shigorin
2010-07-11 19:08             ` Yuri N. Sedunov
2010-07-12  5:14           ` Денис Смирнов
2010-07-12 16:47             ` Dmitry V. Levin
2010-07-12 16:54           ` Alexey Tourbin
2010-07-12 16:59             ` Dmitry V. Levin
2010-07-12 19:17               ` Alexey Tourbin
2010-07-12 20:19                 ` [devel] linkage_problems abiword unjoined Alexey Tourbin
2010-07-13  8:07                   ` Alexey Tourbin
2010-07-13  9:37                     ` Alexey Tourbin
2010-07-13 10:05                       ` Dmitry V. Levin
2010-07-13 10:37                     ` Kirill A. Shutemov
2010-07-12 22:10                 ` [devel] unjoined g_free Alexey Tourbin
2010-07-12 23:50                   ` Dmitry V. Levin
2010-07-15  8:01                   ` [devel] [cross] " Ildar Mulyukov
2010-07-12  5:17         ` [devel] Fwd: hylafax-5.2.7-alt5: Sisyphus/i586 test rebuild failed Денис Смирнов

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