Subject: Re: gtk2+-2.6.4nb1: glib2 wrong libgobject version
To: Jeremy C. Reed <reed@reedmedia.net>
From: None <tlaronde@polynum.com>
List: tech-pkg
Date: 04/07/2005 09:35:18
Hello and thanks for the reply,

On Wed, Apr 06, 2005 at 05:33:14PM -0700, Jeremy C. Reed wrote:
>[snipped] 
> But then it happened to me again -- this is what hit me yesterday when
> building gtk2+ (because dependencies allowed it):
> 
> $ ldd /usr/lib/libIDL-2.so
>         linux-gate.so.1 =>  (0xffffe000)
>         libglib-2.0.so.400 => not found
>         libc.so.6 => /usr/lib/libc.so.6 (0xb7eca000)
>         /usr/lib/ld-linux.so.2 (0x80000000)
> 
> So I rebuilt pkgsrc/net/libIDL:
> 
> $ ldd /usr/lib/libIDL-2.so
>         linux-gate.so.1 =>  (0xffffe000)
>         libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb7f4a000)
>         libc.so.6 => /usr/lib/libc.so.6 (0xb7e4d000)
>         /usr/lib/ld-linux.so.2 (0x80000000)
> 
> Maybe check your libIDL, pango, or atk. Maybe one or all needs to be
> rebuilt for you.

You got it. Since 'transitivity' is involved via shared libraries,
the ELF rpath registered in libatk is against libgobject (and others)
taking into account the minor :

/usr/pkg/lib/libatk-1.0.so.0.800.0:
	 -lgobject-2.0.400 => not found
	 -lgmodule-2.0.400 => not found
	 -lglib-2.0.400 => not found

At least theoretically, the requirements glib2>=2.4.0 should be set to
glib2==2.4.0 if the whole rpath is registered in the lib with the minor.
Or, if major/minor logic is respected, the library should be linked with
the reference of the major only, allowing updates.

But indeed, you are right: problem occurs from other components involved
in the build.

Thanks!
-- 
Thierry Laronde (Alceste) <tlaronde +AT+ polynum +dot+ com>
http://www.kergis.org/  |  http://www.kergis.com/
Key fingerprint = 0FF7 E906 FBAF FE95 FD89  250D 52B1 AE95 6006 F40C