New library dependencies due to 8222720 (fb5b3981eac)

Rainer Jung rainer.jung at kippdata.de
Mon Jul 29 21:34:29 UTC 2019


While doing Tomcat tests I noticed, that at least on SLES 12 JDK 13 and 
14 EA have a lot of new runtime library dependencies.

Change fb5b3981eac with log

8222720: Provide extended VMWare/vSphere virtualization related info in 
the hs_error file on linux/windows x86_64

loads /usr/lib64/libguestlib.so.0 already during JVM startup. That 
library depends on /usr/lib64/libvmtools.so.0, which in turn depends on 
a lot of other libraries:

   NEEDED               libdnet.so.1
   NEEDED               libglib-2.0.so.0
   NEEDED               libicui18n.so.52.1
   NEEDED               libicuuc.so.52.1
   NEEDED               libpthread.so.0
   NEEDED               libdl.so.2
   NEEDED               libssl.so.1.0.0
   NEEDED               libcrypto.so.1.0.0
   NEEDED               libc.so.6
   NEEDED               ld-linux-x86-64.so.2
   NEEDED               libgcc_s.so.1

Some are not so problematic, but for instance Tomcat is able to use 
custom build OpenSSL libraries to replace the JSSE crypto engine with an 
OpenSSL based one using JNI. Unfortunately the JDK is now loading libssl 
and libcrypto early. In case our TC OpenSSL also uses SO version 1.0.0 
it will not get loaded, in case it is another version we can run into a 
mix of symbols resolved in the platform OpenSSL libs now loaded early 
and the ones provided with TC loaded later.

This is an example, why it would be good to not introduce too many 
native library dependencies for the JVM or make it optional in the sense 
of configurable during runtime. Of the above list, the icu libs, libglib 
and libdnet are other libs one would probably try to avoid.

Don't know whether this list is appropriate for discussing it. If not 
any pointers to a better list are appreciated.

Thanks and regards,

Rainer




More information about the hotspot-runtime-dev mailing list