Subject: ABI for glib2 changed
To: None <tech-pkg@netbsd.org>
From: Jeremy C. Reed <reed@reedmedia.net>
List: tech-pkg
Date: 10/30/2007 14:02:46
ABI for glib2 changed in 2.13.7 but buildlink3.mk stayed the same:
BUILDLINK_ABI_DEPENDS.glib2+= glib2>=2.8.6nb1
Trying to track down configure failure in gramps.
$ python2.4
Python 2.4.3 (#1, Aug 7 2006, 19:08:27)
[GCC 4.1.2 20060628 prerelease (NetBSD nb2 20060711)] on netbsd3
Type "help", "copyright", "credits" or "license" for more information.
>>> import gnome
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "/usr/pkg/lib/python2.4/site-packages/gtk-2.0/gnome/__init__.py",
line 13, in ?
from _gnome import *
ImportError: /usr/pkg/lib/libgnomevfs-2.so.0: Undefined PLT symbol
"g_once_init_leave" (symnum = 306)
I searched google and see this is from a newer glib.
My gnome-vfs2-2.14.0nb2 was installed in April 2006. It requires (among
others): glib2>=2.9.3
My glib2-2.12.4 was installed in October 2006.
g_once_init_leave was added in glib 2.13.7 from July 2007 (I think).
Okay if I commit the following?
Index: devel/glib2/buildlink3.mk
===================================================================
RCS file: /cvsroot/pkgsrc/devel/glib2/buildlink3.mk,v
retrieving revision 1.13
diff -u -r1.13 buildlink3.mk
--- devel/glib2/buildlink3.mk 8 Jul 2006 23:10:43 -0000 1.13
+++ devel/glib2/buildlink3.mk 30 Oct 2007 18:52:16 -0000
@@ -13,7 +13,7 @@
.if !empty(GLIB2_BUILDLINK3_MK:M+)
BUILDLINK_API_DEPENDS.glib2+= glib2>=2.4.0
-BUILDLINK_ABI_DEPENDS.glib2+= glib2>=2.8.6nb1
+BUILDLINK_ABI_DEPENDS.glib2+= glib2>=2.13.7
BUILDLINK_PKGSRCDIR.glib2?= ../../devel/glib2
.endif # GLIB2_BUILDLINK3_MK
Maybe the ABI should be newer than that, but that is what hit me.
It has been few months, so as for recursive bumps, I don't know if that
matters. As for now the binary packages depending on glib2>=2.4.0 are
wrong.
My workaround:
sudo pkg_add -u NetBSD/i386/4.0_2007Q3/All/glib2-2.14.1.tgz
Jeremy C. Reed
p.s. I research and report about five to ten of these problems every year
for past four or five years.
Am I the only one who uses binary packages?
Am I the only pkgsrc user who only updates software as needed?