Bug#622759: gir files are missing <package name="..."/> and thus causing build problems with valac-0.12

Evgeni Golov evgeni at debian.org
Thu Apr 14 13:09:15 UTC 2011


Package: libgtk2.0-dev
Version: 2.24.4-3
Severity: important
Tags: patch

Hi,

I was trying to build libdbusmenu with valac-0.12 instead of 0.10 (to be able
to build the GTK+3 backend too) and wasn't able to do so, see the following
log from my cowbuilder:
 http://pinky.die-welt.net/~evgeni/libdbusmenu_0.4.2-1_amd64_valac012.log

Obviously the error is (starting with line 1626):
 Gdk-2.0.gir:465.5-469.24: error: `Gdk' already contains a definition for `Cursor'
 gdk-2.0.vapi:59.2-59.20: note: previous definition of `Cursor' was here
     public class Cursor {

When talking to Ken VanDine from Canonical, he said that this is a bug in
gtk+2.0 as it does not map Gdk-2.0.gir to gdk-2.0.vapi (and Gtk-2.0.gir to
gtk-2.0.vapi) and valac thus thinks that are different packages defining the
same class. Following is the IRC log as Ken explained it very well:

20:48 <kenvandine> oh... i think that is because you need patches for gtk2.0 and gdk-pixbuf
20:49 <kenvandine> those girs don't include package information
20:49 <kenvandine> and we need that now
20:49 <kenvandine> i think the gtk one got merged upstream
20:49 <kenvandine> but not the gdk-pixbuf
20:49 <kenvandine> or maybe the other way around
20:49 <Zhenech> are those somewhere on LP so I can point our gtk guys at them?
20:50 <kenvandine> the problem is it doesn't know the GIR package for Gdk-2.0 is the same as the pkgconfig package gdk-2.0.pc
20:50 <kenvandine> just a minute
20:51 <kenvandine> http://bazaar.launchpad.net/~ubuntu-desktop/gtk/ubuntu/view/head:/debian/patches/065_gir_set_packages.patch
20:51 <kenvandine> the gdk-pixbuf patch must be merged upstream now
20:51 <kenvandine> but not the gtk one
20:51 <kenvandine> the gtk patch got merged for 3.0
20:52 <kenvandine> not 2.0
20:54 <Zhenech> why the hell does this work with vala .10 then?
20:54 <Zhenech> isnt it supposed to read the same files and fail?
20:55 <kenvandine> vala .10 didn't read the package data the same
20:55 <kenvandine>  .12 tries to use the gir whenever possible
20:55 <kenvandine>  .10 didn't
20:56 <kenvandine> so building for .12, it gets confused when it sees the same functions for gtk-2.0 and Gtk-2.0
20:56 <kenvandine> the transition is painful
20:56 <kenvandine> so vala 0.12 reads the same functions twice
20:56 <kenvandine> unless the Gir has the package metadata included
20:57 <kenvandine> so it can map Gtk-2.0 is gtk-2.0

I have built gtk+2.0 with 065_gir_set_packages.patch from Ubuntu (and running
dh_autoreconf) and libdbusmenu builds fine now.
Log is here:
 http://pinky.die-welt.net/~evgeni/libdbusmenu_0.4.2-1_amd64_gtkpatched-final.log

Please consider adding 065_gir_set_packages.patch to the Debian package so we
can build gtk2.0 stuff with valac-0.12.

Regards
Evgeni

-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.38-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages libgtk2.0-dev depends on:
ii  libatk1.0-dev               2.0.0-1      Development files for the ATK acce
ii  libcairo2-dev               1.10.2-6     Development files for the Cairo 2D
ii  libgdk-pixbuf2.0-dev        2.23.3-3     GDK Pixbuf library (development fi
ii  libglib2.0-dev              2.28.4-1     Development files for the GLib lib
ii  libgtk2.0-0                 2.24.4-3     The GTK+ graphical user interface 
ii  libgtk2.0-common            2.24.4-3     Common files for the GTK+ graphica
ii  libpango1.0-dev             1.28.3-6     Development files for the Pango
ii  libx11-dev                  2:1.4.3-1    X11 client-side library (developme
ii  libxcomposite-dev           1:0.4.3-1    X11 Composite extension library (d
ii  libxcursor-dev              1:1.1.11-1   X cursor management library (devel
ii  libxdamage-dev              1:1.1.3-1    X11 damaged region extension libra
ii  libxext-dev                 2:1.2.0-2    X11 miscellaneous extensions libra
ii  libxfixes-dev               1:4.0.5-1    X11 miscellaneous 'fixes' extensio
ii  libxi-dev                   2:1.4.2-1    X11 Input extension library (devel
ii  libxinerama-dev             2:1.1.1-1    X11 Xinerama extension library (de
ii  libxml2-utils               2.7.8.dfsg-2 XML utilities
ii  libxrandr-dev               2:1.3.1-1    X11 RandR extension library (devel
ii  pkg-config                  0.25-1.1     manage compile and link flags for 

Versions of packages libgtk2.0-dev recommends:
ii  debhelper                     8.1.3      helper programs for debian/rules
ii  python                        2.6.6-12   interactive high-level object-orie

Versions of packages libgtk2.0-dev suggests:
pn  libgtk2.0-doc                 <none>     (no description available)

-- no debconf information






More information about the pkg-gnome-maintainers mailing list