Subject: bug#9786: 24.0.90; make bootstrip: gtkutil.c:3389: undefined reference to `g_object_ref_sink

From: Jan Djärv <[email-masked]>
Date: Wed, 19 Oct 2011 07:26:41 +0200

Hello.

19 okt 2011 kl. 03:43 skrev ren victor:

> On Wed, Oct 19, 2011 at 2:07 AM, Jan Djärv <[email-masked]> wrote:
>> 
>> Hello.
>> 
>> 18 okt 2011 kl. 17:05 skrev Victor Ren:
>> 
>>> I was trying to build Emacs pretest in Suse with glib-2.0 and get the
>>> error message.
>>> 
>>> 
>> 
>> I see the version checks in configure hasn't been updated.
>> You need at least Gtk+ 2.10 and Glib 2.10.
>> g_object_ref_sink was introduced in Glib 2.10.  It was released early 2006, so it is quite old.
>> 
>> I will update configure.in.
> 
> People may have to live with older version of glib than 2.10.    I
> changed the code
> 
> -   g_object_ref_sink (G_OBJECT (wscroll));
> +   g_object_ref (G_OBJECT (wscroll));
> +   gtk_object_sink (GTK_OBJECT (wscroll));
> 
> Then it works.  I did not find any more dependency for glib 2.10.   So
> I think it should be something like:
> 
> #if GLIB_VERSION_OLD_THAN(2.10)
> g_object_ref (G_OBJECT (wscroll));
> gtk_object_sink (GTK_OBJECT (wscroll));
> #else
> g_object_ref_sink (G_OBJECT (wscroll));
> #endif

Having all this #ifdefs all over the place is a maintenance problem.  At some point we must move forward.  Considering that 2.10 is well over 5 years old, I don't think requiring it is a hard requirement.

	Jan D.