LINUX.ORG.RU

Ошибка при сборке GTK 2.22


0

1

Здравствуйте, не получается собрать gtk. Система Debian lenny 5.06 (64 bit). Все зависимости собрал и установил (glib-2.26.0, atk-1.32.0, gdk-pixbuf-2.22.0, pango-1.28.3, pixman-0.21.2,cairo-1.10.0). ./configure ошибок не выдаёт, однако make выдает следующие :

......
gcc -DHAVE_CONFIG_H -I. -I.. -DG_LOG_DOMAIN=\"Gtk\" -DGTK_LIBDIR=\"/usr/local/lib\" -DGTK_DATADIR=\"/usr/local/share\" -DGTK_DATA_PREFIX=\"/usr/local\" -DGTK_SYSCONFDIR=\"/usr/local/etc\" -DGTK_VERSION=\"2.22.0\" -DGTK_BINARY_VERSION=\"2.10.0\" -DGTK_HOST=\"x86_64-unknown-linux-gnu\" -DGTK_COMPILATION -DGTK_PRINT_BACKENDS=\"file,cups\" -DGTK_PRINT_PREVIEW_COMMAND=\""evince --unlink-tempfile --preview --print-settings %s %f"\" -I.. -I../gtk -I.. -I../gdk -I../gdk -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DGTK_FILE_SYSTEM_ENABLE_UNSUPPORTED -DGTK_PRINT_BACKEND_ENABLE_UNSUPPORTED -DG_DISABLE_CAST_CHECKS -pthread -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/pango-1.0 -I/usr/local/include/cairo -I/usr/local/include/pixman-1 -I/usr/local/include/gdk-pixbuf-2.0 -I/usr/local/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/libpng12        -DG_DISABLE_SINGLE_INCLUDES -DATK_DISABLE_SINGLE_INCLUDES -DGDK_PIXBUF_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_SINGLE_INCLUDES    -DGDK_PIXBUF_DISABLE_DEPRECATED -g -O2 -Wall -MT queryimmodules.o -MD -MP -MF .deps/queryimmodules.Tpo -c -o queryimmodules.o queryimmodules.c
mv -f .deps/queryimmodules.Tpo .deps/queryimmodules.Po
/bin/sh ../libtool  --tag=CC   --mode=link gcc  -DGDK_PIXBUF_DISABLE_DEPRECATED -g -O2 -Wall   -o gtk-query-immodules-2.0 queryimmodules.o libgtk-x11-2.0.la ../gdk/libgdk-x11-2.0.la -pthread -L/usr/local/lib -lpangocairo-1.0 -lX11 -lXcomposite -lXdamage -lXfixes -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lm -lpng12 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lfreetype -lz -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 
libtool: link: gcc -DGDK_PIXBUF_DISABLE_DEPRECATED -g -O2 -Wall -o .libs/gtk-query-immodules-2.0 queryimmodules.o -pthread  ./.libs/libgtk-x11-2.0.so -L/usr/local/lib /home/hikkikamori/.install/gtk+-2.22.0/gdk/.libs/libgdk-x11-2.0.so ../gdk/.libs/libgdk-x11-2.0.so -lXext -lXinerama -lXcursor /usr/lib/libpangocairo-1.0.so -lXcomposite -lXdamage -lXfixes /usr/local/lib/libatk-1.0.so /usr/local/lib/libcairo.so /usr/local/lib/libpixman-1.so -lXrender -lX11 /usr/local/lib/libgdk_pixbuf-2.0.so -lpng12 /usr/local/lib/libgio-2.0.so -lresolv -lselinux /usr/local/lib/libpangoft2-1.0.so /usr/local/lib/libpango-1.0.so -lm /usr/lib/libfreetype.so -lz -lfontconfig /usr/local/lib/libgobject-2.0.so /usr/local/lib/libgmodule-2.0.so -ldl /usr/local/lib/libgthread-2.0.so -lpthread -lrt /usr/local/lib/libglib-2.0.so -pthread
/usr/lib/libpangocairo-1.0.so: undefined reference to `pango_fc_font_create_metrics_for_context'
./.libs/libgtk-x11-2.0.so: undefined reference to `pango_cairo_show_glyph_item'
collect2: ld returned 1 exit status
make[4]: *** [gtk-query-immodules-2.0] Ошибка 1
make[4]: Leaving directory `/home/hikkikamori/.install/gtk+-2.22.0/gtk'
make[3]: *** [all-recursive] Ошибка 1
make[3]: Leaving directory `/home/hikkikamori/.install/gtk+-2.22.0/gtk'
make[2]: *** [all] Ошибка 2
make[2]: Leaving directory `/home/hikkikamori/.install/gtk+-2.22.0/gtk'
make[1]: *** [all-recursive] Ошибка 1
make[1]: Leaving directory `/home/hikkikamori/.install/gtk+-2.22.0'
make: *** [all] Ошибка 2

Чем это может быть вызвано?

Или apt-get source или lfs.

undefined reference to `pango_fc_font_create_metrics_for_context'


Не нашёл такого символа, есть это:
0000000000007c50 T pango_fc_font_create_base_metrics_for_context
/usr/lib/libpangoft2-1.0.so.0.2800.3

undefined reference to `pango_cairo_show_glyph_item'


Этот есть:
0000000000008640 T pango_cairo_show_glyph_item
/usr/lib/libpangocairo-1.0.so.0.2800.3

anon_666 ()

Подозреваю необходимость fontconfig и fontconfig-devel

Nastishka ★★★★ ()

> /usr/lib/libpangocairo-1.0.so: undefined reference to `pango_fc_font_create_metrics_for_context'

./.libs/libgtk-x11-2.0.so: undefined reference to `pango_cairo_show_glyph_item'


Кривое у тебя панго. Обнови зависимости панго и пересобери.

Lumi ★★★★★ ()
Ответ на: комментарий от Lumi

> Кривое у тебя панго. Обнови зависимости панго и пересобери.

Так вроде же с исходников ставил его

hikkikamori ()
Ответ на: комментарий от Nastishka

> Подозреваю необходимость fontconfig и fontconfig-devel

стоят, правдо с репозитория дебиановского : libfontconfig1-dev (2.8.0-2.1), libfontconfig1(2.8.0-2.1) , fontconfig-config (2.8.0-2.1) , fontconfig (2.6.0-3)

hikkikamori ()
Ответ на: комментарий от hikkikamori

Ты лучше посмотри какие версии хотя бы в сквизи в зависимостях и попробуй сам сделать бэкпорт.

Lumi ★★★★★ ()
Ответ на: комментарий от hikkikamori

В смысле ставить? Я не предлагаю ставить, я предлагаю сделать бэкпорт. Взять сорцы пакетов, подправить там допустимые зависимости до ленни и собрать пакеты.

Lumi ★★★★★ ()
Ответ на: комментарий от Lumi

Ещё подобным не занимался, немного смутно представляю, что ты имеешь ввиду... если я возьму сорцы на новую версию gtk, у неё всё равно в зависимостях стоят glib, cairo, atk и т.д. и все определённой версией, не ниже там х.хх.х. А в ленни, с учётом частотой их обновления, они не будут доходить до нужной версии, а без них компилятор не соберёт gtk...

hikkikamori ()
Ответ на: комментарий от hikkikamori

У каждого пакета есть какие-то минимальные зависимости, с которыми он соберётся и будет работать. Я тебе предлагаю спуститься по зависимостям пакета до тех пор, пока не доберёшься до тех версий, которые уже есть в ленни. Потом всё это дерево пакетов снизу вверх по зависимостям соберёшь и поставишь.

Lumi ★★★★★ ()
Ответ на: комментарий от Lumi

Ну вот допустим, удалил всё что требует gtk-2.22. Дальше

hikkikamori@debian506:~/.install/gtk+-2.22.0$ ./configure 
....
checking for BASE_DEPENDENCIES... no
configure: error: Package requirements (glib-2.0 >= 2.25.10    atk >= 1.29.2    pango >= 1.20    cairo >= 1.6    gdk-pixbuf-2.0 >= 2.21.0) were not met:
Requested 'glib-2.0 >= 2.25.10' but version of GLib is 2.16.6
Requested 'atk >= 1.29.2' but version of Atk is 1.22.0
Requested 'gdk-pixbuf-2.0 >= 2.21.0' but version of GdkPixbuf is 2.12.12
....

Т.е. тот минимум это glib-2.25.10, atk-1.29.2, gdk-pixbuf-2.21.0. Ниже спуститься уже никак.. Щас кстати попробую собрать с cairo, pixman, pango которые стоят в ленни, вроде как на отстутствие нужной версии не ругается...

hikkikamori ()
Ответ на: комментарий от hikkikamori

ай, опять всё то же..

gtkpango.c: In function 'gtk_fill_layout_renderer_draw_glyph_item':
gtkpango.c:77: warning: implicit declaration of function 'pango_cairo_show_glyph_item'
gtkpango.c: In function '_gtk_fill_layout_renderer_class_init':
gtkpango.c:199: error: 'PangoRendererClass' has no member named 'draw_glyph_item'
hikkikamori ()
Ответ на: комментарий от hikkikamori

ладно, в принципе пока не срочно нужно gtk обновлять, есть время подумать над этим.. Всё равно спасибо за помощь :)

hikkikamori ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.