GNOME Bugzilla – Bug 671092
mutter gir refers to wrong pkg-config packages
Last modified: 2012-07-11 19:32:17 UTC
The _PACKAGES variable should contain the list of pkg-config names whose build flags are required to parse the headers exported by the gir. The Meta-3.0.gir file current lists clutter-1.0 and gtk+-3.0 packages, but should list libmutter instead. This causes problems attempting to use the mutter gir with, e.g., Vala, as it needs to be able to find the mutter headers at build time.
Created attachment 208727 [details] [review] Fix introspection gir metadata
Review of attachment 208727 [details] [review]: Looking in Makefile.introspection: # PACKAGES - list of pkg-config names which cflags are required to parse # the headers of this gir # EXPORT_PACKAGES - list of pkg-config names that are provided by this gir. # By default the names in the PACKAGES variable will be used. My guess is that this patch breaks the build if there's not already a libmutter.pc on the system.
Created attachment 208731 [details] [review] Fix introspection gir data (v2) Thanks for the feedback, Owen. Based on our IRC discussion, it looks like PACKAGES should actually be unset, as it's just used to pull in CFLAGS at gir scan time, and those CFLAGS are already covered by the CFLAGS = $(INCLUDES) line. Additionally, it looks like we should be setting EXPORT_PACKAGES. I've adjusted the patch to do this. I looked at Clutter for a comparison, and it seems to do the same thing: Clutter_@CLUTTER_API_VERSION_AM@_gir_SCANNERFLAGS = \ --warn-all \ --c-include='clutter/clutter.h' \ --pkg-export=clutter-@CLUTTER_API_VERSION@ (since EXPORT_PACKAGES translates directly to passing --pkg-export to g-ir-scanner)
Created attachment 208732 [details] [review] Fix introspection gir metadata (actually v2) Ugh, grabbed the wrong file. Sorry about that.
Review of attachment 208732 [details] [review]: Looks correct.
Thanks!
Hello I have a big problem, which could not manage to cope despite the very many hours finding a solution. I use Gentoo Linux distribution with 64-bit architecture of the system and I have a problem with compilation mutter. Without introspection compilation flags properly mutter OK today.But Mutter is required to install the gnome shell 3.4.1 or "normal" gnome. Installing the latest patch and still I did not compile mutter 3.4.1-r1 with the flag introspection. This patch: created an attachment (id=208732)- Fix introspection gir metadata (actually v2) Bulid log form compilation is the same as in the person, link this http://forums.gentoo.org/viewtopic-t-929136.html Thank you in advance for your help.