[vlc-devel] reenabling java bindings

Filippo Carone filippo at carone.org
Fri Dec 12 09:03:08 CET 2008


Hi all,
  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.

Cheers,
Filippo




More information about the vlc-devel mailing list