[vlc-devel] reenabling java bindings
filippo at carone.org
Fri Dec 12 09:03:08 CET 2008
since commit 42b58e873a9d91c3a1f2665a01a56525f44313d5 pushed to master
on 19th October, loading of plugins by libvlc from within java bindings
has been compromised.
That commit implies that plugins are not explicitly linked against
libvlccore on Linux, a step needed to reenable the possibility of libvlc
static linking. Is static linking possible atm?
There's surely something I'm missing in the way java loads libraries,
since checking the java source code I've seen it uses dlopen (are there
any other means to load a library?). Using dlopen should ensure that
when libvlccore is initialized and loads plugins, no runtime linking
problems should occur, but the opposite happens.
In the java bindings the only library that is explicitly loaded is
libvlc, so the 'loading path' is:
Java -> dlopen libvlc -> load libvlccore -> load plugins
but the linker states that plugin have undefined symbols, and so do not
get loaded. I also checked the java process maps (/proc/<pid>/maps) and
I see the library is correctly loaded in the process memory space.
So I ask to make that plugin linking against libvlccore configurable
with a specific switch from configure and disabled by default, until
loading from java is sorted out (I locally reverted the changes on that
commit, and the java bindings work again as expected). I will proceed
with this modification after a general agreement on this change.
More information about the vlc-devel