From: Namhyung Kim <namhyung@kernel.org>
To: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Ian Rogers <irogers@google.com>,
James Clark <james.clark@linaro.org>,
Jiri Olsa <jolsa@kernel.org>,
Adrian Hunter <adrian.hunter@intel.com>,
Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@kernel.org>,
LKML <linux-kernel@vger.kernel.org>,
linux-perf-users@vger.kernel.org
Subject: Re: [PATCH] perf build: Fix detection of latest openjdk
Date: Tue, 7 Apr 2026 22:46:52 -0700 [thread overview]
Message-ID: <adXrzHdEMYhxYcSx@z2> (raw)
In-Reply-To: <adT2berZ52tb1O-P@x1>
On Tue, Apr 07, 2026 at 09:19:57AM -0300, Arnaldo Carvalho de Melo wrote:
> On Tue, Apr 07, 2026 at 01:03:20AM -0700, Namhyung Kim wrote:
> > My fedora system fails to find openjdk even if I installed the
> > 'java-latest-openjdk-devel' package as in the warning message.
> > It turns out that the directory path is different than what's in the
> > output of alternatives.
> >
> > Makefile.config:1122: No openjdk development package found, please install JDK package,
> > e.g. openjdk-8-jdk, java-latest-openjdk-devel
> >
> > The Makefile.config has the rule like below to detect the installed
> > directory with a version number.
> >
> > $ alternatives --display java | tail -1 | cut -d ' ' -f 5 | sed -e 's%/jre/bin/java.%%g' -e 's%/bin/java.%%g'
> > /usr/lib/jvm/java-21-openjdk
> >
> > This is to find a directory where the header file (jvmti.h) is like
> > /usr/lib/jvm/java-21-openjdk/include/jvmti.h. However the header file
> > was in a different directory.
> >
> > $ rpm -ql java-latest-openjdk-devel | grep jvmti.h
> > /usr/lib/jvm/java-latest-openjdk/include/jvmti.h
> >
> > It seems the directory name is fixed to provide the latest version.
> > Let's check the directory name before using the parsed name. With this
> > change, the warning is gone on my system.
>
> Interesting, I'm not noticing this on Fedora rawhide (44), I created a
> fresh toolbox container with fedora:rawhide and had, as you, this:
>
> ⬢ [acme@toolbx perf-tools-next]$ m
> make: Entering directory '/home/acme/git/linux/tools/perf'
> BUILD: Doing 'make -j32' parallel build
> Warning: Kernel ABI header differences:
> diff -u tools/arch/x86/include/uapi/asm/svm.h arch/x86/include/uapi/asm/svm.h
> Makefile.config:1070: No libbabeltrace found, disables 'perf data' CTF format support, please install libbabeltrace-dev[el]/libbabeltrace-ctf-dev
> Makefile.config:1122: No openjdk development package found, please install JDK package, e.g. openjdk-8-jdk, java-latest-openjdk-devel
>
>
> Then I just followed the suggestion and did a:
>
> $ sudo dnf install java-latest-openjdk-devel
>
> And after that the 1122 warning vanished and:
>
> ⬢ [acme@toolbx perf-tools-next]$ ls -la /tmp/build/perf-tools-next/feature/test-jvmti*
> -rwxr-xr-x. 1 acme acme 12384 Apr 7 09:14 /tmp/build/perf-tools-next/feature/test-jvmti.bin
> -rwxr-xr-x. 1 acme acme 12392 Apr 7 09:14 /tmp/build/perf-tools-next/feature/test-jvmti-cmlr.bin
> -rw-r--r--. 1 acme acme 1188 Apr 7 09:14 /tmp/build/perf-tools-next/feature/test-jvmti-cmlr.d
> -rw-r--r--. 1 acme acme 0 Apr 7 09:14 /tmp/build/perf-tools-next/feature/test-jvmti-cmlr.make.output
> -rw-r--r--. 1 acme acme 1122 Apr 7 09:14 /tmp/build/perf-tools-next/feature/test-jvmti.d
> -rw-r--r--. 1 acme acme 0 Apr 7 09:14 /tmp/build/perf-tools-next/feature/test-jvmti.make.output
> ⬢ [acme@toolbx perf-tools-next]$ cat /tmp/build/perf-tools-next/feature/test-jvmti.make.output
> ⬢ [acme@toolbx perf-tools-next]$
>
> ⬢ [acme@toolbx perf-tools-next]$ alternatives --display java | tail -1 | cut -d ' ' -f 5 | sed -e 's%/jre/bin/java.%%g' -e 's%/bin/java.%%g'
> /usr/lib/jvm/java-latest-openjdk
> ⬢ [acme@toolbx perf-tools-next]$
>
> ⬢ [acme@toolbx perf-tools-next]$ alternatives --display java
> java - status is auto.
> link currently points to /usr/lib/jvm/java-latest-openjdk/bin/java
> /usr/lib/jvm/java-latest-openjdk/bin/java - priority 1
> follower jre: /usr/lib/jvm/java-latest-openjdk
> follower alt-java: /usr/lib/jvm/java-latest-openjdk/bin/alt-java
> follower jcmd: /usr/lib/jvm/java-latest-openjdk/bin/jcmd
> follower keytool: /usr/lib/jvm/java-latest-openjdk/bin/keytool
> follower rmiregistry: /usr/lib/jvm/java-latest-openjdk/bin/rmiregistry
> follower java.1.gz: /usr/lib/jvm/java-latest-openjdk/man/man1/java.1
> follower alt-java.1.gz: /usr/lib/jvm/java-latest-openjdk/man/man1/alt-java.1
> follower jcmd.1.gz: /usr/lib/jvm/java-latest-openjdk/man/man1/jcmd.1
> follower keytool.1.gz: /usr/lib/jvm/java-latest-openjdk/man/man1/keytool.1
> follower rmiregistry.1.gz: /usr/lib/jvm/java-latest-openjdk/man/man1/rmiregistry.1
> Current `best' version is /usr/lib/jvm/java-latest-openjdk/bin/java.
> ⬢ [acme@toolbx perf-tools-next]$
Thanks for checking this. Looks like a local issue on my system.
I've updated the alternatives to point to the latest version.
Thanks,
Namhyung
prev parent reply other threads:[~2026-04-08 5:46 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-07 8:03 [PATCH] perf build: Fix detection of latest openjdk Namhyung Kim
2026-04-07 12:19 ` Arnaldo Carvalho de Melo
2026-04-08 5:46 ` Namhyung Kim [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=adXrzHdEMYhxYcSx@z2 \
--to=namhyung@kernel.org \
--cc=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=irogers@google.com \
--cc=james.clark@linaro.org \
--cc=jolsa@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.