ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] Q: linker & -z defs
@ 2005-04-01 20:48 Anton D. Kachalov
  2005-04-01 21:08 ` Yuri N. Sedunov
  2005-04-02 14:52 ` Dmitry V. Levin
  0 siblings, 2 replies; 13+ messages in thread
From: Anton D. Kachalov @ 2005-04-01 20:48 UTC (permalink / raw)
  To: devel

Приветствую!

Наткнулся на такую неприятность с pkgconfig + gtk+-2.0.
$ pkg-config --libs "gtk+-2.0"
-lgtk-x11-2.0

$ gcc -shared -o foobar.so -Wl,-z,defs foobar.c -lgtk-x11-2.0
/tmp/ccML0lkr.o(.text+0x7): In function `foobar':
: undefined reference to `gdk_x11_display_get_xdisplay'
collect2: ld returned 1 exit status

файл foobar.c:
<кусь>
extern void gdk_x11_display_get_xdisplay();

void foobar()
{
    gdk_x11_display_get_xdisplay();
}
</ьсук>

если линковаться так:
$ gcc -shared -o foobar.so foobar.c -lgtk-x11-2.0
или так:
$ gcc -shared -o foobar.so -Wl,-z,defs foobar.c -lgtk-x11-2.0 -lgdk-x11-2.0
то всё пучком.

Вопрос в следующем, кто неправ?
- файл pkgconfig для gtk+-2.0 (нет всех либ в "Libs:")
- pkgconfig (не выдаёт по зависимостям остальные либы)
- configure скрипт
?

Могу сразу заметить, что данная проблема всплыла при сборке OpenOffice 2.0
Собираю по адаптированному спеку от федориного горя.

Rgds,
Anton


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

* Re: [devel] Q: linker & -z defs
  2005-04-01 20:48 [devel] Q: linker & -z defs Anton D. Kachalov
@ 2005-04-01 21:08 ` Yuri N. Sedunov
  2005-04-02  7:31   ` Anton D. Kachalov
  2005-04-02 14:52 ` Dmitry V. Levin
  1 sibling, 1 reply; 13+ messages in thread
From: Yuri N. Sedunov @ 2005-04-01 21:08 UTC (permalink / raw)
  To: ALT Devel discussion list

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

В Сбт, 02/04/2005 в 00:48 +0400, Anton D. Kachalov пишет:
> Приветствую!
> 
<skip>

> Вопрос в следующем, кто неправ?
> - файл pkgconfig для gtk+-2.0 (нет всех либ в "Libs:")
> - pkgconfig (не выдаёт по зависимостям остальные либы)

Ну, очень давно просто так лишнего не выдает.

> - configure скрипт
> ?

Да. Нужно выбрать только необходимое.
$ rpm -ql libgtk+2-devel|grep pc
/usr/lib/pkgconfig/gdk-2.0.pc
/usr/lib/pkgconfig/gdk-pixbuf-2.0.pc
/usr/lib/pkgconfig/gdk-pixbuf-xlib-2.0.pc
/usr/lib/pkgconfig/gdk-x11-2.0.pc
/usr/lib/pkgconfig/gtk+-2.0.pc
/usr/lib/pkgconfig/gtk+-x11-2.0.pc

В принципе можно GTK покрошить помельче, если действительно надо.

> 
> Могу сразу заметить, что данная проблема всплыла при сборке OpenOffice 2.0
> Собираю по адаптированному спеку от федориного горя.

-- 
Yuri N. Sedunov


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

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

* Re: [devel] Q: linker & -z defs
  2005-04-01 21:08 ` Yuri N. Sedunov
@ 2005-04-02  7:31   ` Anton D. Kachalov
  2005-04-02  8:26     ` Yuri N. Sedunov
  0 siblings, 1 reply; 13+ messages in thread
From: Anton D. Kachalov @ 2005-04-02  7:31 UTC (permalink / raw)
  To: ALT Devel discussion list

On Sat, Apr 02, 2005 at 01:08:58AM +0400, Yuri N. Sedunov wrote:
> Ну, очень давно просто так лишнего не выдает.
Да, но OpenOffice 2.0 с gtk не я же первый решил собрать? Значит, у всех,
кто пробовал его собирать с gtk всё собирается и всех либ хватает.
Проблема либо где-то у нас, либо у всех, кто OO собирал :)

> Да. Нужно выбрать только необходимое.
> $ rpm -ql libgtk+2-devel|grep pc
> /usr/lib/pkgconfig/gdk-2.0.pc
> /usr/lib/pkgconfig/gdk-pixbuf-2.0.pc
> /usr/lib/pkgconfig/gdk-pixbuf-xlib-2.0.pc
> /usr/lib/pkgconfig/gdk-x11-2.0.pc
> /usr/lib/pkgconfig/gtk+-2.0.pc
> /usr/lib/pkgconfig/gtk+-x11-2.0.pc
Всмысле, необходимое? А если я знаю, что мне точно нужен gtk+-2.0 и всё?
Откуда мне знать, что он тянет за собой gdk, glib? Или вообще некую
библиотечку foo? Поэтому я имею полное право в configure.in проверять
только на нужную мне либу и имею полное право пользоваться любыми флажками
при линковке (-Wl,-z,defs не исключение). И при всём при этом, у меня не
должна болеть голова о линковке и библиотеках там учавствующих.

> В принципе можно GTK покрошить помельче, если действительно надо.
Зачем? Куда уж мельче - оно и так не собирается.

Rgds,
Anton


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

* Re: [devel] Q: linker & -z defs
  2005-04-02  7:31   ` Anton D. Kachalov
@ 2005-04-02  8:26     ` Yuri N. Sedunov
  2005-04-02 12:59       ` Vitaly Lipatov
  0 siblings, 1 reply; 13+ messages in thread
From: Yuri N. Sedunov @ 2005-04-02  8:26 UTC (permalink / raw)
  To: ALT Devel discussion list

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

В Сбт, 02/04/2005 в 11:31 +0400, Anton D. Kachalov пишет:
> On Sat, Apr 02, 2005 at 01:08:58AM +0400, Yuri N. Sedunov wrote:
> > Ну, очень давно просто так лишнего не выдает.
> Да, но OpenOffice 2.0 с gtk не я же первый решил собрать? Значит, у всех,
> кто пробовал его собирать с gtk всё собирается и всех либ хватает.
> Проблема либо где-то у нас, либо у всех, кто OO собирал :)
> 
Последнее верно. Для нас это давняя история.
Читать вокруг
http://lists.altlinux.ru/pipermail/sisyphus/2003-December/031985.html

<skip>

-- 
Yuri N. Sedunov


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

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

* Re: [devel] Q: linker & -z defs
  2005-04-02  8:26     ` Yuri N. Sedunov
@ 2005-04-02 12:59       ` Vitaly Lipatov
  0 siblings, 0 replies; 13+ messages in thread
From: Vitaly Lipatov @ 2005-04-02 12:59 UTC (permalink / raw)
  To: ALT Devel discussion list

On Saturday 02 April 2005 12:26, Yuri N. Sedunov wrote:
> Читать вокруг
> http://lists.altlinux.ru/pipermail/sisyphus/2003-December/0319
>85.html
И 
http://www.freesource.info/wiki/AltLinux/OsobennostiSborkiPaketov?v=bpv#h328-2


-- 
Lav
Виталий Липатов
Санкт-Петербург
GNU! ALT Linux Team! LaTeX! LyX!


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

* Re: [devel] Q: linker & -z defs
  2005-04-01 20:48 [devel] Q: linker & -z defs Anton D. Kachalov
  2005-04-01 21:08 ` Yuri N. Sedunov
@ 2005-04-02 14:52 ` Dmitry V. Levin
  2005-04-03 11:54   ` Anton D. Kachalov
  1 sibling, 1 reply; 13+ messages in thread
From: Dmitry V. Levin @ 2005-04-02 14:52 UTC (permalink / raw)
  To: ALT Devel discussion list

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

Hi,

On Sat, Apr 02, 2005 at 12:48:31AM +0400, Anton D. Kachalov wrote:
> Наткнулся на такую неприятность с pkgconfig + gtk+-2.0.
> $ pkg-config --libs "gtk+-2.0"
> -lgtk-x11-2.0
> 
> $ gcc -shared -o foobar.so -Wl,-z,defs foobar.c -lgtk-x11-2.0
> /tmp/ccML0lkr.o(.text+0x7): In function `foobar':
> : undefined reference to `gdk_x11_display_get_xdisplay'
> collect2: ld returned 1 exit status
> 
> файл foobar.c:
> <кусь>
> extern void gdk_x11_display_get_xdisplay();
> 
> void foobar()
> {
>     gdk_x11_display_get_xdisplay();
> }
> </ьсук>
> 
> если линковаться так:
> $ gcc -shared -o foobar.so foobar.c -lgtk-x11-2.0
> или так:
> $ gcc -shared -o foobar.so -Wl,-z,defs foobar.c -lgtk-x11-2.0 -lgdk-x11-2.0
> то всё пучком.
> 
> Вопрос в следующем, кто неправ?

Обобщённое правило:
Если
ldd -r /usr/lib/libgtk-x11-2.0.so
найдёт что-нибудь undefined, значит, надо фиксить эту библиотеку.
Если не найдёт, значит, фиксить надо твой makefile.


-- 
ldv

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

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

* Re: [devel] Q: linker & -z defs
  2005-04-02 14:52 ` Dmitry V. Levin
@ 2005-04-03 11:54   ` Anton D. Kachalov
  2005-04-03 13:19     ` Vitaly Lipatov
  2005-04-03 13:30     ` Dmitry V. Levin
  0 siblings, 2 replies; 13+ messages in thread
From: Anton D. Kachalov @ 2005-04-03 11:54 UTC (permalink / raw)
  To: ALT Devel discussion list

On Sat, Apr 02, 2005 at 06:52:07PM +0400, Dmitry V. Levin wrote:
> Обобщённое правило:
> Если
> ldd -r /usr/lib/libgtk-x11-2.0.so
> найдёт что-нибудь undefined, значит, надо фиксить эту библиотеку.
ничего нет

> Если не найдёт, значит, фиксить надо твой makefile.

Не, стоп. Почему я должен заботиться о вытаскиваемых библиотеках для
линковки, если я использую pkgconfig?

Rgds,
Anton


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

* Re: [devel] Q: linker & -z defs
  2005-04-03 11:54   ` Anton D. Kachalov
@ 2005-04-03 13:19     ` Vitaly Lipatov
  2005-04-03 13:30     ` Dmitry V. Levin
  1 sibling, 0 replies; 13+ messages in thread
From: Vitaly Lipatov @ 2005-04-03 13:19 UTC (permalink / raw)
  To: ALT Devel discussion list

On Sunday 03 April 2005 15:54, Anton D. Kachalov wrote:

> Не, стоп. Почему я должен заботиться о вытаскиваемых
> библиотеках для линковки, если я использую pkgconfig?
При использовании pkgconfig надо указывать, какие именно 
библиотеки используются программой. Вы же указываете gtk, а 
функцию вызываете из gDk, вот и результат.

-- 
Lav
Виталий Липатов
Санкт-Петербург
GNU! ALT Linux Team! LaTeX! LyX!


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

* Re: [devel] Q: linker & -z defs
  2005-04-03 11:54   ` Anton D. Kachalov
  2005-04-03 13:19     ` Vitaly Lipatov
@ 2005-04-03 13:30     ` Dmitry V. Levin
  2005-04-03 16:48       ` Anton D. Kachalov
  1 sibling, 1 reply; 13+ messages in thread
From: Dmitry V. Levin @ 2005-04-03 13:30 UTC (permalink / raw)
  To: ALT Devel discussion list

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

Hi,

On Sun, Apr 03, 2005 at 03:54:27PM +0400, Anton D. Kachalov wrote:
> On Sat, Apr 02, 2005 at 06:52:07PM +0400, Dmitry V. Levin wrote:
> > Обобщённое правило:
> > Если
> > ldd -r /usr/lib/libgtk-x11-2.0.so
> > найдёт что-нибудь undefined, значит, надо фиксить эту библиотеку.
> ничего нет
> 
> > Если не найдёт, значит, фиксить надо твой makefile.
> 
> Не, стоп. Почему я должен заботиться о вытаскиваемых библиотеках для
> линковки, если я использую pkgconfig?

Дело в том, что "gdk-2.0" != "gtk+-2.0".
Используя pkgconfig, надо вызывать эту программу с правильными
параметрами.  Впрочем, это касается любой программы.


-- 
ldv

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

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

* Re: [devel] Q: linker & -z defs
  2005-04-03 13:30     ` Dmitry V. Levin
@ 2005-04-03 16:48       ` Anton D. Kachalov
  2005-04-03 16:55         ` Dmitry V. Levin
  0 siblings, 1 reply; 13+ messages in thread
From: Anton D. Kachalov @ 2005-04-03 16:48 UTC (permalink / raw)
  To: ALT Devel discussion list

On Sun, Apr 03, 2005 at 05:30:27PM +0400, Dmitry V. Levin wrote:
> Дело в том, что "gdk-2.0" != "gtk+-2.0".
Но gtk+-2.0 "Requires: gdk-x11-2.0 atk", которые, в свою очередь хотят ещё
кучу всякого. И что? мне всю эту партянку нужно ручками вбивать? а вдруг
кто-то решит собрать gtk без какой-то фичи и из requires какая-то либа
выпадет, а я буду всем мозгу пудрить и говорить, что дайте мне то, чего на
самом деле никому не нужно. Проблемы requires должны ложиться на плечи
pkgconfig. Тут кидали ссылку на то, почему у нас так.

> Используя pkgconfig, надо вызывать эту программу с правильными
> параметрами.  Впрочем, это касается любой программы.
Тут либо фиксить makefile на предмет -Wl,-z,defs, либо запускать pkgconfig
с "--recurse" (или как-то так). я слоняюсь ко второму варианту.

Rgds,
Anton


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

* Re: [devel] Q: linker & -z defs
  2005-04-03 16:48       ` Anton D. Kachalov
@ 2005-04-03 16:55         ` Dmitry V. Levin
  2005-04-03 17:12           ` Anton D. Kachalov
  0 siblings, 1 reply; 13+ messages in thread
From: Dmitry V. Levin @ 2005-04-03 16:55 UTC (permalink / raw)
  To: ALT Devel discussion list

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

On Sun, Apr 03, 2005 at 08:48:43PM +0400, Anton D. Kachalov wrote:
> On Sun, Apr 03, 2005 at 05:30:27PM +0400, Dmitry V. Levin wrote:
> > Дело в том, что "gdk-2.0" != "gtk+-2.0".
> Но gtk+-2.0 "Requires: gdk-x11-2.0 atk", которые, в свою очередь хотят ещё
> кучу всякого. И что? мне всю эту партянку нужно ручками вбивать? а вдруг
> кто-то решит собрать gtk без какой-то фичи и из requires какая-то либа
> выпадет, а я буду всем мозгу пудрить и говорить, что дайте мне то, чего на
> самом деле никому не нужно. Проблемы requires должны ложиться на плечи
> pkgconfig. Тут кидали ссылку на то, почему у нас так.
> 
> > Используя pkgconfig, надо вызывать эту программу с правильными
> > параметрами.  Впрочем, это касается любой программы.
> Тут либо фиксить makefile на предмет -Wl,-z,defs, либо запускать pkgconfig
> с "--recurse" (или как-то так). я слоняюсь ко второму варианту.

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


-- 
ldv

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

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

* Re: [devel] Q: linker & -z defs
  2005-04-03 16:55         ` Dmitry V. Levin
@ 2005-04-03 17:12           ` Anton D. Kachalov
  2005-04-21 16:04             ` Yuri N. Sedunov
  0 siblings, 1 reply; 13+ messages in thread
From: Anton D. Kachalov @ 2005-04-03 17:12 UTC (permalink / raw)
  To: ALT Devel discussion list

On Sun, Apr 03, 2005 at 08:55:37PM +0400, Dmitry V. Levin wrote:
> Пользователь должен линковать своё приложение со всеми библиотеками,
> которыми _оно_ пользуется, не полагаясь на то, что одни библиотеки
> используют другие.

/me пошёл фиксить configure.in....

Rgds,
Anton


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

* Re: [devel] Q: linker & -z defs
  2005-04-03 17:12           ` Anton D. Kachalov
@ 2005-04-21 16:04             ` Yuri N. Sedunov
  0 siblings, 0 replies; 13+ messages in thread
From: Yuri N. Sedunov @ 2005-04-21 16:04 UTC (permalink / raw)
  To: ALT Devel discussion list

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

В Вск, 03/04/2005 в 21:12 +0400, Anton D. Kachalov пишет:
> On Sun, Apr 03, 2005 at 08:55:37PM +0400, Dmitry V. Levin wrote:
> > Пользователь должен линковать своё приложение со всеми библиотеками,
> > которыми _оно_ пользуется, не полагаясь на то, что одни библиотеки
> > используют другие.
> 
> /me пошёл фиксить configure.in....

Пофиксил?

-- 
Yuri N. Sedunov


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

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

end of thread, other threads:[~2005-04-21 16:04 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-04-01 20:48 [devel] Q: linker & -z defs Anton D. Kachalov
2005-04-01 21:08 ` Yuri N. Sedunov
2005-04-02  7:31   ` Anton D. Kachalov
2005-04-02  8:26     ` Yuri N. Sedunov
2005-04-02 12:59       ` Vitaly Lipatov
2005-04-02 14:52 ` Dmitry V. Levin
2005-04-03 11:54   ` Anton D. Kachalov
2005-04-03 13:19     ` Vitaly Lipatov
2005-04-03 13:30     ` Dmitry V. Levin
2005-04-03 16:48       ` Anton D. Kachalov
2005-04-03 16:55         ` Dmitry V. Levin
2005-04-03 17:12           ` Anton D. Kachalov
2005-04-21 16:04             ` Yuri N. Sedunov

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