On 27/04/2012 14:22, Nick Wellnhofer wrote:
This leads me to question whether extensions should be linking against
the
shared objects of their dependencies on *any* platform. Does that
create a
tight binding that will e.g. break WhitespaceTokenizer when Lucy gets
updated?
I'm pretty sure we want runtime relocation of upstream symbols.

On Linux I had to link against Lucy.so. Otherwise I get "undefined
symbol" errors when running the tests.

There seem to be two workarounds on Linux: Link the main executable with -rdynamic or pass the RTLD_GLOBAL flag to dl_open. Since our main executable is perl, the former won't work. But the latter can be achieved by using DynaLoader with dl_load_flags set to 1.

Nick

Reply via email to