GNOME Bugzilla – Bug 658002
defective typelib
Last modified: 2011-09-21 17:37:32 UTC
The Makefile hardcodes libfolks.so as the library name in the typelib. That is broken, since distributions normally keep the .so in the -devel package, and only install .so.<xyz> in the base package. The outcome of this is that contacts search in gnome-shell does not work, unless you have the folks-devel package installed. I don't understand how the vala / introspection Makefile machinery works, so no patch :-(
This is because we pass “-l libfolks.so” in INTROSPECTION_COMPILER_ARGS, which we need to work around bug #585116/bug #642576. I don't suppose it's portable to hard-code it as “-l libfolks.so.<xyz>” instead?
You'd have to derive xyz from the libtool version numbers. or maybe it can be extracted out of the .la file, not sure.
(Punting bugs to 0.6.4)
Created attachment 196519 [details] [review] patch Here goes a horrible hack, but I think something along this lines is the best we can do for 3.2. Afterwards lets push the mentioned Vala bugs.
*** Bug 659064 has been marked as a duplicate of this bug. ***
Review of attachment 196519 [details] [review]: After talking to ebassi and looking at how g-ir-scanner does things, I think this is the wrong approach as well. g-ir-scanner extracts the dlname variable from the .la file, which seems more robust than calculating it ourselves.
Created attachment 196527 [details] [review] Use libtool's dlname for libfolks https://www.gitorious.org/folks/folks/commits/658002-dlname How about this? (Untested against anything which uses introspection, but it successfully puts “libfolks.so.25” into the .typelib.)
Looks good to me, but I cannot really test this at the moment.
Comment on attachment 196527 [details] [review] Use libtool's dlname for libfolks Pushed (with an addition to NEWS), thanks. commit 554d96c18d4309b5e8169c68b8bb747502161a8e Author: Philip Withnall <philip@tecnocode.co.uk> Date: Wed Sep 14 18:34:57 2011 +0100 Bug 658002 — defective typelib Pass the libtool dlname for libfolks.so to g-ir-compiler rather than libfolks.la. Closes: bgo#658002 NEWS | 1 + folks/Makefile.am | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletions(-)
ioni on #empathy reported a problem with the typelib that seems related to the patch proposed in this report.
maybe not related to this patch but i've seen this <namespace name="Folks" version="0.6" shared-library="--includedir=." c:prefix="GOBJ
The sed command fails with LANG=C due to the invalid range '.-+'.
Created attachment 197169 [details] [review] build: Fix regular expression to extract dlname The regex writer unintentially made a character range in ".-+". This was always wrong, but it actively fails when LANG=C.
Review of attachment 197169 [details] [review]: Ship it!
Thanks, merged! commit c5e2ce8c784018e5516e8578d1eb6c6bd086480b Author: Colin Walters <walters@verbum.org> Date: Wed Sep 21 12:13:31 2011 -0400 build: Fix regular expression to extract dlname The regex writer unintentially made a character range in ".-+". This was always wrong, but it actively fails when LANG=C. Closes: bgo#658002 - defective typelib NEWS | 1 + folks/Makefile.am | 2 +- 2 files changed, 2 insertions(+), 1 deletions(-)