[Monetdb-developers] why open() before dlopen()?

Mark Bucciarelli mkbucc at gmail.com
Fri Mar 19 15:49:03 CET 2010


I'm working on fixing tracker #2971516.

What I have learned is that libtool on OpenBSD
does not create .so files without the version
suffix because they use a different value of
library_names_spec in libtool than Linux does.

However, their dlopen() has some ld magic;
for example,

        dlopen("libbat.so")

and

       dlopen("/usr/local/lib/libbat.so.1.34")

both work just fine.

However the monetdb server tries to open()
the .so first, and the open() method does not
have the same ld magic as dlopen().

So my question is---why call open() at all?
What value does it add to the dlopen() call?

Seems like picking the right library version
is a responsibility that should belong to ld.

I'm contemplating a patch that skips the open()
call for .so files.

Thanks,

m




More information about the developers-list mailing list