After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 653155 - [PATCH] jhbuild, unexpected build failed, libgdk-3.so: undefined reference to `cairo_region_subtract_rectangle
[PATCH] jhbuild, unexpected build failed, libgdk-3.so: undefined reference to...
Status: RESOLVED FIXED
Product: libgnomekbd
Classification: Core
Component: Plugin Manager
2.91.x
Other Linux
: High normal
: ---
Assigned To: libgnomekbd maintainers
Sergey V. Udaltsov
Depends on:
Blocks:
 
 
Reported: 2011-06-22 09:22 UTC by yuriy.tereschuk
Modified: 2011-08-25 20:38 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
configuration file (40.79 KB, text/plain)
2011-06-22 09:24 UTC, yuriy.tereschuk
  Details
remove the LDFLAGS (1019 bytes, patch)
2011-08-24 08:35 UTC, Stefan Sauer (gstreamer, gtkdoc dev)
none Details | Review

Description yuriy.tereschuk 2011-06-22 09:22:01 UTC
*** Building libgnomekbd *** [63/218]
make  
make  all-recursive
make[1]: Вхожу у каталог "/home/astro/checkout/gnome/libgnomekbd"
Making all in libgnomekbd
make[2]: Вхожу у каталог "/home/astro/checkout/gnome/libgnomekbd/libgnomekbd"
  GEN    gkbd-indicator-marshal.h
  GEN    gkbd-indicator-marshal.c
  GEN    gkbd-keyboard-drawing-marshal.h
  GEN    gkbd-keyboard-drawing-marshal.c
make  all-am
make[3]: Вхожу у каталог "/home/astro/checkout/gnome/libgnomekbd/libgnomekbd"
  CC     libgnomekbd_la-gkbd-desktop-config.lo
  CC     libgnomekbd_la-gkbd-keyboard-config.lo
  CC     libgnomekbd_la-gkbd-util.lo
  CCLD   libgnomekbd.la
  CC     libgnomekbdui_la-gkbd-configuration.lo
gkbd-configuration.c: In function ‘gkbd_configuration_get_current_tooltip’:
gkbd-configuration.c:404: warning: unused variable ‘buf’
gkbd-configuration.c: In function ‘gkbd_configuration_get_caps_lock_state’:
gkbd-configuration.c:699: warning: implicit declaration of function ‘XkbGetNamedIndicator’
  CC     libgnomekbdui_la-gkbd-indicator-config.lo
  CC     libgnomekbdui_la-gkbd-indicator.lo
  CC     libgnomekbdui_la-gkbd-status.lo
  CC     libgnomekbdui_la-gkbd-indicator-marshal.lo
  CC     libgnomekbdui_la-gkbd-indicator-plugin-manager.lo
  CC     libgnomekbdui_la-gkbd-keyboard-drawing-marshal.lo
  CC     libgnomekbdui_la-gkbd-keyboard-drawing.lo
gkbd-keyboard-drawing.c: In function ‘gkbd_keyboard_drawing_set_layout’:
gkbd-keyboard-drawing.c:2563: warning: implicit declaration of function ‘gkbd_keyboard_config_split_items’
gkbd-keyboard-drawing.c: At top level:
gkbd-keyboard-drawing.c:1348: warning: ‘redraw_overlapping_doodads’ defined but not used
  CCLD   libgnomekbdui.la
  CC     gkbd_keyboard_display-gkbd-keyboard-display.o
gkbd-keyboard-display.c:38: warning: missing braces around initializer
gkbd-keyboard-display.c:38: warning: (near initialization for ‘options[2]’)
gkbd-keyboard-display.c: In function ‘main’:
gkbd-keyboard-display.c:55: warning: implicit declaration of function ‘bindtextdomain’
gkbd-keyboard-display.c:56: warning: implicit declaration of function ‘bind_textdomain_codeset’
gkbd-keyboard-display.c:57: warning: implicit declaration of function ‘textdomain’
  CCLD   gkbd-keyboard-display
  GISCAN Gkbd-3.0.gir
gkbd-keyboard-drawing.h:26: Warning: Gkbd: symbol='MAX_LOCAL_NAME_BUF_LENGTH': Unknown namespace for symbol 'MAX_LOCAL_NAME_BUF_LENGTH'
gkbd-indicator-plugin-manager.h:1938: Warning: Gkbd: symbol='modifier_change_mask': Unknown namespace for symbol 'modifier_change_mask'
/opt/gnome3/lib64/libgdk-3.so: undefined reference to `cairo_region_subtract_rectangle'
/opt/gnome3/lib64/libgtk-3.so: undefined reference to `cairo_region_intersect'
/opt/gnome3/lib64/libgtk-3.so: undefined reference to `cairo_region_translate'
/opt/gnome3/lib64/libgdk-3.so: undefined reference to `cairo_region_get_rectangle'
/opt/gnome3/lib64/libgtk-3.so: undefined reference to `cairo_region_is_empty'
/opt/gnome3/lib64/libgdk-3.so: undefined reference to `cairo_region_intersect_rectangle'
/opt/gnome3/lib64/libgtk-3.so: undefined reference to `cairo_region_create_rectangle'
/opt/gnome3/lib64/libgtk-3.so: undefined reference to `cairo_region_copy'
/opt/gnome3/lib64/libgdk-3.so: undefined reference to `cairo_region_union'
/opt/gnome3/lib64/libgdk-3.so: undefined reference to `cairo_region_equal'
/opt/gnome3/lib64/libgdk-3.so: undefined reference to `cairo_region_num_rectangles'
/opt/gnome3/lib64/libgtk-3.so: undefined reference to `cairo_region_union_rectangle'
/opt/gnome3/lib64/libcairo-gobject.so: undefined reference to `cairo_device_reference'
/opt/gnome3/lib64/libgdk-3.so: undefined reference to `cairo_region_create_rectangles'
/opt/gnome3/lib64/libcairo-gobject.so: undefined reference to `cairo_device_destroy'
/opt/gnome3/lib64/libgdk-3.so: undefined reference to `cairo_recording_surface_create'
/opt/gnome3/lib64/libgtk-3.so: undefined reference to `cairo_region_create'
/opt/gnome3/lib64/libgtk-3.so: undefined reference to `gdk_pixbuf_format_get_type'
/opt/gnome3/lib64/libgtk-3.so: undefined reference to `cairo_region_destroy'
/opt/gnome3/lib64/libgtk-3.so: undefined reference to `cairo_region_get_extents'
/opt/gnome3/lib64/libgdk-3.so: undefined reference to `cairo_region_contains_point'
/opt/gnome3/lib64/libcairo-gobject.so: undefined reference to `cairo_region_reference'
/opt/gnome3/lib64/libgdk-3.so: undefined reference to `cairo_region_contains_rectangle'
/opt/gnome3/lib64/libgtk-3.so: undefined reference to `cairo_region_subtract'
/opt/gnome3/lib64/libgtk-3.so: undefined reference to `cairo_surface_create_for_rectangle'
collect2: ld returned 1 exit status
linking of temporary binary failed: Command '['/bin/bash', '../libtool', '--mode=link', '--tag=CC', '--silent', 'gcc', '-o', '/home/astro/checkout/gnome/libgnomekbd/libgnomekbd/tmp-introspect5eiEs1/Gkbd-3.0', '-export-dynamic', '-Wall', '-g', '-O0', '-L.', 'libgnomekbd.la', 'libgnomekbdui.la', '-lgio-2.0', '-lgobject-2.0', '-lgmodule-2.0', '-lgthread-2.0', '-lrt', '-lglib-2.0', '-lgdk-3', '-lpangocairo-1.0', '-lgdk_pixbuf-2.0', '-lm', '-lcairo-gobject', '-lpango-1.0', '-lgmodule-2.0', '-lcairo', '-lgobject-2.0', '-lgthread-2.0', '-lrt', '-lglib-2.0', '-lxklavier', '-lgobject-2.0', '-lgthread-2.0', '-lrt', '-lglib-2.0', '-lxml2', '-lX11', '-lgtk-3', '-lgdk-3', '-latk-1.0', '-lgio-2.0', '-lpangoft2-1.0', '-lpangocairo-1.0', '-lgdk_pixbuf-2.0', '-lm', '-lcairo-gobject', '-lcairo', '-lpango-1.0', '-lfreetype', '-lfontconfig', '-lgobject-2.0', '-lgmodule-2.0', '-lgthread-2.0', '-lrt', '-lglib-2.0', '-L/opt/gnome3/lib64', '-L/opt/gnome3/lib64', '-L/opt/gnome3/lib64', '-L/opt/gnome3/lib64', '-pthread', '-L/opt/gnome3/lib64', '-lgio-2.0', '-lgobject-2.0', '-lgmodule-2.0', '-lgthread-2.0', '-lrt', '-lglib-2.0', '/home/astro/checkout/gnome/libgnomekbd/libgnomekbd/tmp-introspect5eiEs1/Gkbd-3.0.o']' returned non-zero exit status 1
Comment 1 yuriy.tereschuk 2011-06-22 09:24:11 UTC
Created attachment 190418 [details]
configuration file

build configuration
Comment 2 Stefan Sauer (gstreamer, gtkdoc dev) 2011-08-24 08:20:19 UTC
I have the problem as well. I believe ./libgnomekbd/Makefile.am does not setup the correct linker flags for the gir scanner.


libtool: link: gcc -o /home/ensonic/jhbuild-checkout/gnome/libgnomekbd/libgnomekbd/tmp-introspectDzla1h/.libs/Gkbd-3.0 -pthread /home/ensonic/jhbuild-checkout/gnome/libgnomekbd/libgnomekbd/tmp-introspectDzla1h/Gkbd-3.0.o -Wl,--export-dynamic  -L/home/ensonic/jhbuild-checkout/gnome/libgnomekbd/libgnomekbd ./.libs/libgnomekbd.so ./.libs/libgnomekbdui.so -lxklavier /usr/lib/libxml2.so -lX11 -lgtk-3 -lgdk-3 /usr/lib/libatk-1.0.so /usr/lib/libpangoft2-1.0.so /usr/lib/libpangocairo-1.0.so /usr/lib/libgdk_pixbuf-2.0.so -lm -lcairo-gobject /usr/lib/libcairo.so /usr/lib/libpango-1.0.so /usr/lib/libfreetype.so -lfontconfig -L/home/ensonic/jhbuild-install/gnome/lib64 -L/usr/lib -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -pthread -Wl,-rpath -Wl,/home/ensonic/jhbuild-install/gnome/lib64

this is the resulting linker line and it contains "-lX11 -lgtk-3 -lgdk-3 /usr/lib/libatk-1.0.so /usr/lib/libpangoft2-1.0.so /usr/lib/libpangocairo-1.0.so /usr/lib/libgdk_pixbuf-2.0.so -lm -lcairo-gobject /usr/lib/libcairo.so /usr/lib/libpango-1.0.so" - that is the issue. The libs should be takes from /home/ensonic/jhbuild-install/gnome/lib64 instead.
Comment 3 Stefan Sauer (gstreamer, gtkdoc dev) 2011-08-24 08:35:27 UTC
Created attachment 194561 [details] [review]
remove the LDFLAGS
Comment 4 Stefan Sauer (gstreamer, gtkdoc dev) 2011-08-24 08:37:04 UTC
btw. there are quite a few warnings in the build:
http://build.gnome.org/builders/libgnomekbd-cosimoc-deb-i686/builds/388/steps/libgnomekbd%20build/logs/stdio
Comment 5 Sergey V. Udaltsov 2011-08-24 22:23:24 UTC
I fixed some of the warnings in git (thanks for the patch, it is applied).

The remaining warnings are related to the fact that libxklavier is not introspected (and I do not have plans to change that - why?). Since libgnomekbd (introspectable) API is using some structs from libxklavier, you are getting those warnings.
Comment 6 Stefan Sauer (gstreamer, gtkdoc dev) 2011-08-25 08:06:47 UTC
Thanks for the quick action. With the warnings I meant also e.g. variable-set-but-unused (new warning in gcc 4.6 running on the 3rd builder).
Comment 7 Sergey V. Udaltsov 2011-08-25 20:38:25 UTC
Anyway, if you need more polish in the code - feel free to reopen.