* [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