maintainer-feedback requested: [Bug 297282] java/openjdk25: libjava.so does not find libjvm.so

From: <bugzilla-noreply_at_freebsd.org>
Date: Tue, 04 Aug 2026 19:55:23 UTC
Bugzilla Automation <bugzilla@FreeBSD.org> has asked freebsd-java (Nobody)
<java@FreeBSD.org> for maintainer-feedback:
Bug 297282: java/openjdk25: libjava.so does not find libjvm.so
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=297282



--- Description ---
On 16-CURRENT I'm using openjdk25 installed by pkg:
	FreeBSD_version: 1600019
	build_timestamp: 2026-07-25T01:04:44+0000
	built_by       : poudriere-git-3.4.8
	cpe	       :
cpe:2.3:a:oracle:openjdk:25.0.3+9.f.1:::::freebsd16:x64
	flavor	       : jdk
	port_checkout_unclean: no
	port_git_hash  : a775e64d13a6bb7f4e5133105227f37fdc87a882
	ports_top_checkout_unclean: no
	ports_top_git_hash: 7c53142d6b1d65fc3b37c1ce6ee6b703206261e2
	repo_type      : binary
	repository     : FreeBSD-ports

and it seems linked against openjdk11:

$ ldd /usr/local/openjdk25/lib/libjava.so
/usr/local/openjdk25/lib/libjava.so:
	libjvm.so => /usr/local/openjdk11/lib/server/libjvm.so (0x1290b8e00000)
	libdl.so.1 => /usr/lib/libdl.so.1 (0x1290ba54d000)
	libc.so.7 => /lib/libc.so.7 (0x1290b763b000)
	libm.so.5 => /lib/libm.so.5 (0x1290b6423000)
	libc++.so.1 => /lib/libc++.so.1 (0x1290ba700000)
	libcxxrt.so.1 => /lib/libcxxrt.so.1 (0x1290bb289000)
	libthr.so.3 => /lib/libthr.so.3 (0x1290bbe74000)
	libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x1290bbf95000)
	libsys.so.7 => /lib/libsys.so.7 (0x1290b7b74000)

Actually, openjdk11 is installed on this machine. After removing it, ldd
reports a missing libjvm.so:

$ ldd /usr/local/openjdk25/lib/libjava.so
/usr/local/openjdk25/lib/libjava.so:
	libjvm.so => not found (0)
	libdl.so.1 => /usr/lib/libdl.so.1 (0x3721ac186000)
	libc.so.7 => /lib/libc.so.7 (0x3721ad00c000)

Same thing on another machine running 15.1-RELEASE.

libjvm.so exists for OpenJDK25, it is installed as
/usr/local/openjdk25/lib/server/libjvm.so
but I guess that the linker missed some LDFLAGS with
"-Wl,-rpath=$JAVA_HOME/lib/server".

With LD_LIBRARY_PATH=/usr/local/openjdk25/lib/server everything is OK.