[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#676621:



Ok, I'd like to go a little further. Since Java modules are not
libraries (no SONAME). We have thus:

1.
$ readelf -d /usr/lib/jni/libjava-access-bridge-jni.so

Dynamic section at offset 0x8d0 contains 40 entries:
  Tag        Type                         Name/Value
[...]
 0x000000000000000e (SONAME)             Library soname:
[libjava-access-bridge-jni.so.0]

That should be detected with a lintian warning.

2. A java module should *not* explicitely link to other java module. Eg:

$ readelf -d /usr/lib/jni/libvtkRenderingJava.so

Dynamic section at offset 0xe3d50 contains 33 entries:
  Tag        Type                         Name/Value
[...]
 0x0000000000000001 (NEEDED)             Shared library: [libjawt.so]

Where:


$ readelf -d /usr/lib/jvm/default-java/jre/lib/amd64/libjawt.so

Dynamic section at offset 0x940 contains 34 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libawt.so]
 0x0000000000000001 (NEEDED)             Shared library: [libmawt.so]
 0x0000000000000001 (NEEDED)             Shared library: [libjava.so]
 0x0000000000000001 (NEEDED)             Shared library: [libjvm.so]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x000000000000000e (SONAME)             Library soname: [libjawt.so]
 0x000000000000000f (RPATH)              Library rpath: [$ORIGIN]


libjawt.so will be loaded by the java process itself. Explicitely
linking to one specific implementation (Sun vs OpenJDK) might be an
issue.

Comments appreciated.



Reply to: