GNOME Bugzilla – Bug 172971
"libgconfbackend-oldxml.so is not relocatable by the static link editor again"
Last modified: 2008-05-10 11:21:17 UTC
Distribution/Version: 10.3.8 Trying to build gconf from gnome-2-10 branch on Darwin/OSX gives a build error: . . . Making all in backends /bin/sh ../libtool --mode=link gcc -I/opt/gnome2/include -I/sw/include -L/opt/gnome2/lib -L/sw/ lib -bind_at_load -Wall -o xml-test xml-test.o -pthreads -L/opt/gnome2/lib -lgobject-2.0 -lORBit-2 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lintl -lxml2 -lpthread -lz -liconv -lm ../gconf/libgconf-2.la ../backends/libgconfbackend-oldxml.la *** Warning: Linking the executable xml-test against the loadable module *** libgconfbackend-oldxml.so is not portable! ** Warning, lib libgconfbackend-oldxml.so is a module, not a shared library ** And there doesn't seem to be a static archive available ** The link will probably fail, sorry gcc -I/opt/gnome2/include -I/sw/include -bind_at_load -Wall -o .libs/xml-test xml-test.o -pthreads -L/opt/gnome2/lib -L/sw/lib ../gconf/.libs/libgconf-2.dylib ../backends/.libs/libgconfbackend- oldxml.so /opt/gnome2/lib/libxml2.dylib -ldl /usr/lib/libiconv.dylib -lpthread -lz /Users/calum/src/ gnome2/gconf/gconf/.libs/libgconf-2.dylib /opt/gnome2/lib/libORBit-2.dylib /sw/lib/libpopt.dylib / opt/gnome2/lib/libgobject-2.0.dylib -lresolv -lm /opt/gnome2/lib/libgmodule-2.0.dylib /opt/ gnome2/lib/libgthread-2.0.dylib /opt/gnome2/lib/libglib-2.0.dylib /sw/lib/libintl.dylib /opt/gnome2/ lib/libintl.dylib -lc /sw/lib/libiconv.dylib gcc: unrecognized option `-pthreads' ld: ../backends/.libs/libgconfbackend-oldxml.so is input for the dynamic link editor, is not relocatable by the static link editor again make[2]: *** [xml-test] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2
Repeated under OS X 10.4.1, with both GConf-2.10 and 2.11.1, building with Garnome.
*Let me preface this by saying that I'm not a programmer in the slightest, just someone who enjoys working with GNOME, so I may be stating either the obvious or the stupid!* The problem appears to be with xml_test rather than the backend itself. Removing (quite clumsily) xml_test from /backends/makefile allowed the build to continue, but I assume that's not the ideal way to handle this. libgconfbackend-oldxml.so is referenced in two places that seem like they might be the issue, once under xml_test_LDADD and once under xml_test_DEPENDENCIES. I'll do more exploration when I get the time, but could somebody with more experience take a look at this?
This problem still occurs, but it is not related to xml_test. The extension under Mac OS X should be .dylib, not .so! Due to the bad extension, I get errors like: [Time 2006.03.19 02:02:31 UTC] [Facility user] [Sender gconfd (vinc17-29441)] [PID -1] [Message No such file `/opt/local/lib/GConf/2/libgconfbackend-xml.dylib';] [Level 3] [UID -2] [GID -2] [Host prunille] (in /var/log/asl.log) and gconf does not work at all! Severity should be increased to blocker.
The problem I had was due to a bug in glib2 (assuming modules have the .dylib extension). For a module (bundle), .so is finally the right extension. Concerning xml-test, I agree, it shouldn't link with a module, but dlopen it. Also, I compile everything via DarwinPorts and I now get no errors, but DP has some patches.
So, is the original problem still there?
No reply. Closing.