[devel] Q: linker & -z defs

Anton D. Kachalov =?iso-8859-1?q?mouse_=CE=C1_altlinux=2Eorg?=
Сб Апр 2 00:48:31 MSD 2005


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

Наткнулся на такую неприятность с 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



Подробная информация о списке рассылки Devel