Re: Problems linking to libgio?



On Sun, 2009-06-07 at 16:41 -0700, Paul Fredrickson wrote:
> Hi all,
> 
> This happens for several libraries trying to link to glib (or more
> specifically gio); pixman is the first to show the errors:
> 
> /opt/gnome2/lib64/libgio-2.0.so: undefined reference to
> `g_ptr_array_new_with_free_func'
> /opt/gnome2/lib64/libgio-2.0.so: undefined reference to `g_error_new_valist'
> /opt/gnome2/lib64/libgio-2.0.so: undefined reference to
> `g_hostname_is_non_ascii'
> /opt/gnome2/lib64/libgio-2.0.so: undefined reference to `g_hostname_to_ascii'
> /opt/gnome2/lib64/libgio-2.0.so: undefined reference to `g_byte_array_unref'
> /opt/gnome2/lib64/libgio-2.0.so: undefined reference to `g_byte_array_get_type'
> collect2: ld returned 1 exit status
> 
> 
> and sure enough, these symbols are exported but undefined:
> 
>   > nm /opt/gnome2/lib64/libgio-2.0.so | grep g_ptr_array_new_with_free_func
>                  U g_ptr_array_new_with_free_func
>   > nm /opt/gnome2/lib64/libgio-2.0.so | grep g_hostname_to_ascii
>                  U g_hostname_to_ascii
> 
> even though these symbols *are* defined in libgiib
> 
>    > ldd /opt/gnome2/lib64/libgio-2.0.so
>       ...
> 	libglib-2.0.so.0 => /opt/gnome2/lib64/libglib-2.0.so.0 (0x00007fef56ac5000)
>    > nm /opt/gnome2/lib64/libglib-2.0.so.0 | grep g_ptr_array_new_with_free_func
> 
> So, I can sorta see what's happening, but I'm new to GNOME development
> and don't know enough about the autotools to figure out how to fix it.
>  The big question is *why*, if libgio is linking against libglib, why
> does it leave these symbols undefined??

I don't know exactly why this happens in you case, but the problem is
that when you are linking the application ends up with the system
version of glib (which is older) instead of the one installed
in /opt/gnome2. This can happen if you somehow got rpaths baked into
your old builds. I'd recommend running make distclean in all the modules
you're building.




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]