[redland-dev] Re: Python bindings compile problem (OS X)
René Puls
rpuls+lists at kcore.de
Mon Feb 7 22:17:57 GMT 2005
Dave,
Am 07.02.2005 um 21:26 schrieb Dave Beckett:
>>> ld: Redland_wrap.so illegal reference to symbol:
>>> _raptor_unicode_char_to_utf8 defined in indirectly referenced dynamic
>>> library /opt/extra/lib/libraptor.1.dylib
>>> make[2]: *** [Redland-stamp] Error 1
>>> make[1]: *** [all-recursive] Error 1
>>> make: *** [all-recursive] Error 1
[...]
> That's mysterious, I can't think what it means there. What's
> an illegal reference?
I guess that something in the Python bindings references a symbol
defined in libraptor, but Raptor is not directly linked in. Raptor is
linked in via Redland, but apparently that is not enough. Adding
`raptor-config --libs` adds -lraptor among some other flags, which
satisfies the linker.
Google found this when I searched for the linker error message:
<http://lists.apple.com/archives/x11-users/2003/Jul/msg00097.html>:
> Mac OS X's two-level namespace linker requires more libraries to be
> specified on the link line than some other linkers. In your case,
> GnoTime is linking to some library libSomething and libSomething links
> to libX11. GnoTime also uses XSetIOErrorHandler from libX11. Some
> linkers allow this to succeed, but Mac OS X doesn't allow symbols to
> be referenced indirectly through some intermediate library; if you
> want to use a symbol from a library, you must link to that library
> directly.
It seems this is a special requirement on OS X.
René
More information about the redland-dev
mailing list