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 631141 - Error during phase build of gtk+-3 (jhbuild)
Error during phase build of gtk+-3 (jhbuild)
Status: RESOLVED OBSOLETE
Product: gtk+
Classification: Platform
Component: .General
2.91.x
Other Linux
: Normal major
: ---
Assigned To: gtk-bugs
gtk-bugs
Depends on:
Blocks:
 
 
Reported: 2010-10-01 21:27 UTC by Fabio Durán Verdugo
Modified: 2010-12-17 03:51 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Fabio Durán Verdugo 2010-10-01 21:27:05 UTC
g-ir-scanner: compile: gcc -Wall -pthread -I/home/fabio/gnome/include/glib-2.0 -I/home/fabio/gnome//lib/glib-2.0/include -DGDK_PIXBUF_DISABLE_DEPRECATED -DG_DISABLE_DEPRECATED -g -O2 -Wall -I.. -I../gtk -I.. -I../gdk -I../gdk -I/home/fabio/gnome/include/glib-2.0 -I/home/fabio/gnome//lib/glib-2.0/include -I/home/fabio/gnome/include/pango-1.0 -I/home/fabio/gnome/include/cairo -I/home/fabio/gnome/include/pixman-1 -I/home/fabio/gnome/include/gdk-pixbuf-2.0 -I/home/fabio/gnome/include/atk-1.0 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/home/fabio/gnome/include/glib-2.0 -I/home/fabio/gnome//lib/glib-2.0/include -I/home/fabio/gnome/include/gio-unix-2.0/ -I/home/fabio/gnome/include/atk-1.0 -I/home/fabio/gnome/include/cairo -I/home/fabio/gnome/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -c -o /home/fabio/checkout/gnome/gtk+-3/gtk/tmp-introspect16A7RE/Gtk-3.0.o /home/fabio/checkout/gnome/gtk+-3/gtk/tmp-introspect16A7RE/Gtk-3.0.c
g-ir-scanner: link: /bin/bash ../libtool --mode=link --tag=CC --silent gcc -o /home/fabio/checkout/gnome/gtk+-3/gtk/tmp-introspect16A7RE/Gtk-3.0 -export-dynamic -DGDK_PIXBUF_DISABLE_DEPRECATED -DG_DISABLE_DEPRECATED -g -O2 -Wall -L. libgtk-x11-3.0.la -pthread -L/home/fabio/gnome//lib -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 /home/fabio/checkout/gnome/gtk+-3/gtk/tmp-introspect16A7RE/Gtk-3.0.o
./.libs/libgtk-x11-3.0.so: undefined reference to `gdk_cairo_set_source_window'
./.libs/libgtk-x11-3.0.so: undefined reference to `gdk_window_get_height'
./.libs/libgtk-x11-3.0.so: undefined reference to `gdk_error_trap_pop_ignored'
./.libs/libgtk-x11-3.0.so: undefined reference to `gdk_window_get_width'
./.libs/libgtk-x11-3.0.so: undefined reference to `gdk_window_set_background_pattern'
./.libs/libgtk-x11-3.0.so: undefined reference to `gdk_window_get_display'
./.libs/libgtk-x11-3.0.so: undefined reference to `gdk_pixbuf_get_from_window'
./.libs/libgtk-x11-3.0.so: undefined reference to `gdk_window_get_visual'
./.libs/libgtk-x11-3.0.so: undefined reference to `gdk_cairo_get_clip_rectangle'
./.libs/libgtk-x11-3.0.so: undefined reference to `gdk_cairo_region_create_from_surface'
./.libs/libgtk-x11-3.0.so: undefined reference to `gdk_offscreen_window_get_surface'
./.libs/libgtk-x11-3.0.so: undefined reference to `gdk_window_get_screen'
collect2: ld returned 1 exit status
Traceback (most recent call last):
  • File "/home/fabio/gnome/bin/g-ir-scanner", line 45 in <module>
    sys.exit(scanner_main(sys.argv))
  • File "/home/fabio/gnome//lib/gobject-introspection/giscanner/scannermain.py", line 405 in scanner_main
    shlibs = create_binary(transformer, options, args)
  • File "/home/fabio/gnome//lib/gobject-introspection/giscanner/scannermain.py", line 309 in create_binary
    gdump_parser.get_get_type_functions())
  • File "/home/fabio/gnome//lib/gobject-introspection/giscanner/dumper.py", line 235 in compile_introspection_binary
    return dc.run()
  • File "/home/fabio/gnome//lib/gobject-introspection/giscanner/dumper.py", line 140 in run
    self._link(bin_path, o_path)
  • File "/home/fabio/gnome//lib/gobject-introspection/giscanner/dumper.py", line 230 in _link
    subprocess.check_call(args)
  • File "/usr/lib/python2.6/subprocess.py", line 488 in check_call
    raise CalledProcessError(retcode, cmd)
ubprocess.CalledProcessError: Command '['/bin/bash', '../libtool', '--mode=link', '--tag=CC', '--silent', 'gcc', '-o', '/home/fabio/checkout/gnome/gtk+-3/gtk/tmp-introspect16A7RE/Gtk-3.0', '-export-dynamic', '-DGDK_PIXBUF_DISABLE_DEPRECATED', '-DG_DISABLE_DEPRECATED', '-g', '-O2', '-Wall', '-L.', 'libgtk-x11-3.0.la', '-pthread', '-L/home/fabio/gnome//lib', '-lgio-2.0', '-lgobject-2.0', '-lgmodule-2.0', '-lgthread-2.0', '-lrt', '-lglib-2.0', '/home/fabio/checkout/gnome/gtk+-3/gtk/tmp-introspect16A7RE/Gtk-3.0.o']' returned non-zero exit status 1
make[4]: *** [Gtk-3.0.gir] Error 1
make[4]: Leaving directory `/home/fabio/checkout/gnome/gtk+-3/gtk'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/fabio/checkout/gnome/gtk+-3/gtk'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/fabio/checkout/gnome/gtk+-3/gtk'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/fabio/checkout/gnome/gtk+-3'
make: *** [all] Error 2
*** Error during phase build of gtk+-3: ########## Error running make   *** [20/53]
Comment 1 LeDabe 2010-10-07 05:54:50 UTC
I've the same error since few days

Building on gentoo

/home/simon/checkout/gnome/gtk+-3/gtk/tmp-introspect9H2Wmj/.libs/Gtk-3.0: symbol lookup error: /opt/gnome/lib/libcairo-gobject.so.2: undefined symbol: cairo_region_destroy
Command '['/home/simon/checkout/gnome/gtk+-3/gtk/tmp-introspect9H2Wmj/Gtk-3.0', '--introspect-dump=/home/simon/checkout/gnome/gtk+-3/gtk/tmp-introspect9H2Wmj/types.txt,/home/simon/checkout/gnome/gtk+-3/gtk/tmp-introspect9H2Wmj/dump.xml']' returned non-zero exit status 127
make[4]: *** [Gtk-3.0.gir] Error 1
make[4]: Leaving directory `/home/simon/checkout/gnome/gtk+-3/gtk'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/simon/checkout/gnome/gtk+-3/gtk'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/simon/checkout/gnome/gtk+-3/gtk'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/simon/checkout/gnome/gtk+-3'
make: *** [all] Error 2
*** Error during phase build of gtk+-3: ########## Error running make   *** [19/19]
Comment 2 Javier Jardón (IRC: jjardon) 2010-10-07 13:12:46 UTC
(In reply to comment #1)
> I've the same error since few days
> 
> Building on gentoo
> 
> /home/simon/checkout/gnome/gtk+-3/gtk/tmp-introspect9H2Wmj/.libs/Gtk-3.0:
> symbol lookup error: /opt/gnome/lib/libcairo-gobject.so.2: undefined symbol:
> cairo_region_destroy

Do you have cairo 1.10 installed?
Comment 3 David King 2010-10-21 13:36:49 UTC
I have the same error as in comment 1 (and I am also using Gentoo) and I have cairo-1.10 installed in a fresh (as of…now) jhbuild. cairo_region_destroy is mentioned in libcairo-gobject (UND in the output below), but defined in libcairo:

readelf --symbols /home/david/gnome/lib64/libcairo-gobject.so.2 | grep cairo_region_destroy
     4: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND cairo_region_destroy
    99: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND cairo_region_destroy

readelf --symbols /home/david/gnome/lib64/libcairo.so | grep cairo_region_destroy
   295: 0000000000042c40    85 FUNC    GLOBAL DEFAULT   11 cairo_region_destroy
  1992: 0000000000042c40    85 FUNC    LOCAL  HIDDEN   11 INT_cairo_region_destroy
  2102: 0000000000042c40    85 FUNC    GLOBAL DEFAULT   11 cairo_region_destroy
Comment 4 Murray Cumming 2010-10-22 08:28:36 UTC
Can you workaround this bug by using --disable-introspection? I long since gave up trying to get things to build without that.
Comment 5 David King 2010-10-22 09:35:05 UTC
The build gets further by disabling introspection, but still fails:

make[3]: Entering directory `/home/david/checkout/gnome/gtk+-3/modules/input'
  CC     imam-et.lo
  CC     imcedilla.lo
  CC     imcyrillic-translit.lo
  CC     iminuktitut.lo
  CC     imipa.lo
  CC     im_multipress_la-gtkimcontextmultipress.lo
  CC     im_multipress_la-immultipress.lo
  CC     thai-charprop.lo
  CC     gtkimcontextthai.lo
  CC     imthai.lo
  CC     imti-er.lo
  CC     imti-et.lo
  CC     imviqr.lo
  CC     gtkimcontextxim.lo
  CC     imxim.lo
  GEN    .gitignore
  CCLD   im-am-et.la
  CCLD   im-cedilla.la
  CCLD   im-cyrillic-translit.la
  CCLD   im-inuktitut.la
  CCLD   im-ipa.la
  CCLD   im-multipress.la
  CCLD   im-thai.la
  CCLD   im-ti-er.la
  CCLD   im-ti-et.la
  CCLD   im-viqr.la
  CCLD   im-xim.la
../../gtk/gtk-query-immodules-3.0 im-am-et.la im-cedilla.la im-cyrillic-translit.la  im-inuktitut.la im-ipa.la im-multipress.la im-thai.la im-ti-er.la im-ti-et.la im-viqr.la im-xim.la > immodules.cache
/home/david/checkout/gnome/gtk+-3/gtk/.libs/gtk-query-immodules-3.0: symbol lookup error: /home/david/gnome/lib64/libcairo-gobject.so.2: undefined symbol: cairo_region_destroy
make[3]: *** [immodules.cache] Error 127
make[3]: Leaving directory `/home/david/checkout/gnome/gtk+-3/modules/input'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/david/checkout/gnome/gtk+-3/modules'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/david/checkout/gnome/gtk+-3'
make: *** [all] Error 2
Comment 6 David King 2010-10-22 09:38:54 UTC
(In reply to comment #5)
> The build gets further by disabling introspection, but still fails:

Continuing the build process after the above build failure then leads to a successful build, but an install that fails:

make  install-data-hook
make[4]: Entering directory `/home/david/checkout/gnome/gtk+-3/modules/input'
/bin/sh /home/david/checkout/gnome/gtk+-3/install-sh -d /home/david/gnome/lib64/gtk-3.0/3.0.0
../../gtk/gtk-query-immodules-3.0 > /home/david/gnome/lib64/gtk-3.0/3.0.0/immodules.cache
/home/david/checkout/gnome/gtk+-3/gtk/.libs/gtk-query-immodules-3.0: symbol lookup error: /home/david/gnome/lib64/libcairo-gobject.so.2: undefined symbol: cairo_region_destroy
make[4]: *** [install-data-hook] Error 127
make[4]: Leaving directory `/home/david/checkout/gnome/gtk+-3/modules/input'
make[3]: *** [install-data-am] Error 2
make[3]: Leaving directory `/home/david/checkout/gnome/gtk+-3/modules/input'
make[2]: *** [install-am] Error 2
make[2]: Leaving directory `/home/david/checkout/gnome/gtk+-3/modules/input'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/home/david/checkout/gnome/gtk+-3/modules'
make: *** [install-recursive] Error 1
Comment 7 Murray Cumming 2010-10-27 19:11:14 UTC
(In reply to comment #6)
> /home/david/gnome/lib64/gtk-3.0/3.0.0/immodules.cache
> /home/david/checkout/gnome/gtk+-3/gtk/.libs/gtk-query-immodules-3.0: symbol
> lookup error: /home/david/gnome/lib64/libcairo-gobject.so.2: undefined symbol:
> cairo_region_destroy

This is almost certainly just caused by the .la files, which are unnecessary and generally just cause problems like this. You can probably fix this like so:
rm -rf /opt/gnome230/lib/*.la
git clean -dfx
./autogen.sh --prefix=/opt/gnome230 --disable-introspection;make all install

Personally I even remove them regularly from my /usr/lib/, though I'm not sure that is really necessary. The GNOME Shell team seem to recommend it though:
http://live.gnome.org/GnomeShell/RemovingLaFiles
There's also some discussion in bug #344358, though I haven't read it.

And this is unrelated to the original problem in this bug report.
Comment 8 Murray Cumming 2010-10-28 14:01:38 UTC
(In reply to comment #7)
> This is almost certainly just caused by the .la files, which are unnecessary
> and generally just cause problems like this. You can probably fix this like so:
> rm -rf /opt/gnome230/lib/*.la
> git clean -dfx
> ./autogen.sh --prefix=/opt/gnome230 --disable-introspection;make all install

David told me that this fixed it for him. I wonder if it does fix the problem when using --enable-introspection (the default). Fabio or LeDabe, please try that.
Comment 9 David King 2010-10-28 14:30:13 UTC
(In reply to comment #8)
> (In reply to comment #7)
> > This is almost certainly just caused by the .la files, which are unnecessary
> > and generally just cause problems like this. You can probably fix this like so:
> > rm -rf /opt/gnome230/lib/*.la
> > git clean -dfx
> > ./autogen.sh --prefix=/opt/gnome230 --disable-introspection;make all install
> 
> David told me that this fixed it for him. I wonder if it does fix the problem
> when using --enable-introspection (the default). Fabio or LeDabe, please try
> that.

I did not. I updated my system version of Cairo to match the jhbuild version, thus avoiding any system .la files linking to a version of Cairo that does not have cairo_region_destroy. This is very different from removing all .la files in the jhbuild prefix, as above.
Comment 10 Murray Cumming 2010-10-28 14:40:33 UTC
Ah, sorry, I misread your email.

Still, I think it's worth seeing if it fixes the original problem.
Comment 11 Fabio Durán Verdugo 2010-12-17 03:51:59 UTC
Yes this is fixes for me.