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