"useless" librt.so.1 dependency on Linux reported by dpkg-shlibdeps

David Holmes david.holmes at oracle.com
Thu Sep 18 01:57:21 UTC 2025


Hi Matthias,

On 17/09/2025 11:41 pm, Baesken, Matthias wrote:
> Hi , when building Debian packages for 25 ,     a couple of messages  
> complaining about  “useless”  dependencies  show up .
> 
> One is about   libjvm.so depending on   librt.so.1     :
> 
> dpkg-shlibdeps: warning: package could avoid a useless dependency if
> 
> /usr/lib/jvm/jdk-25/lib/server/libjvm.so
> 
> were not linked against librt.so.1 (they use none of the library's symbols)
> 
> Looks like in old days, on old distros, this dependency was (maybe?) 
> still useful   :
> 
> See  make/autoconf/libraries.m4  :
> 
> 139   # librt for legacy clock_gettime
> 140   if test "x$OPENJDK_TARGET_OS" = xlinux; then
> 141     # Hotspot needs to link librt to get the clock_* functions.
> 142     # But once our supported minimum build and runtime platform
> 143     # has glibc 2.17, this can be removed as the functions are
> 144     # in libc.
> 145     BASIC_JVM_LIBS="$BASIC_JVM_LIBS -lrt"
> 146   fi
> 
> ( seems some versions of  RHEL 7  / SLES 12  still had those old glibc 
> versions)
> 
> Could we clean this up?
> 
> Or is there still some need  to  support this in jdk26  ?

I always find it very difficult to determine when checks like these 
become unnecessary. I think RHEL 7 with glibc 2.17 is the oldest Linux 
release we currently support.

Given I wrote the above in April 2021, I would hope we can now move on, 
but again I don't know how to readily determine that.

Cheers,
David

> Best regards, Matthias
> 



More information about the build-dev mailing list