GNOME Bugzilla – Bug 723685
g_close() conflict with libgeom
Last modified: 2014-02-21 01:57:18 UTC
libgtop no longer works on FreeBSD. The reason is that the freebsd sysdeps port uses a library called libgeom for obtaining the fsusage information. This library exports a symbol called g_close() which is also exported by GLib: https://developer.gnome.org/glib/stable/glib-File-Utilities.html#g-close http://www.unix.com/man-page/FreeBSD/3/g_close/ I hope that in the long run we can convince the FreeBSD people to stop using the g_ namespace from their library, but in the meantime we cannot use libgeom from an application or library that also uses GLib. I recommend removing (or commenting-out) the FreeBSD fsusage backend until/unless we can resolve the problem.
btw: this is almost certainly the cause of the "strage third error" in bug 721986: 3. There is a strange error when running g-ir-scanner. I don't know how to fix it. Error closing file: No error: 0 Command '['/home/lantw44/gnome/source/libgtop/lib/tmp-introspect1hZkz0/GTop-2.0', '--introspect-dump=/home/lantw44/gnome/source/libgtop/lib/tmp-introspect1hZkz0/functions.txt,/home/lantw44/gnome/source/libgtop/lib/tmp-introspect1hZkz0/dump.xml']' returned non-zero exit status 1
Created attachment 268913 [details] [review] freebsd: don't link to libgeom libgeom declares several symbols in GLib's namespace, including g_close() and it therefore cannot be used from any program that also uses GLib. For now, disable the parts of the FreeBSD sysdep that use libgeom. Hopefully the libgeom API will be changed soon.
Attachment 268913 [details] pushed as 2e86197 - freebsd: don't link to libgeom