Problems linking to libgio?



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??


Details and background:
I'm basically following the steps outlined here:
http://www.gnome.org/~newren/tutorials/developing-with-gnome/html/ch04.html
to keep my development libraries separate from the ones I use.  I
build using a different user, too.
I run jhbuild with moduleset "gnome-2.28"
The version of glib I have checked out is commit 0bb5739 from one week ago,
and I've tried 'make distclean' and 'jhbuild build -a' to completely
rebuild everything.
(The problem *goes away* when I switch to moduleset gnome-2.26, but
then that's not what I want to work on...)

Finally, the people on #gnome said libgio is the province of the
nautilus folks, so here I am. :)

I'm running Ubuntu 9.04 - AMD64, and the fact that no one else appears
to have this problem makes me worried it's just a configuration
problem on my end.  But I could just file a bug report if it looks
like a real bug.
I'm willing to experiment if someone can give me pointers, I just
can't seem to get very far when everything fails on libgio... :(

Thanks!

qmoto


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