Re: [PATCH] perf/jvmti: improve error message in Makefile

From: Arnaldo Carvalho de Melo
Date: Thu Feb 25 2016 - 08:45:52 EST


Em Thu, Feb 25, 2016 at 06:27:36AM +0100, Stephane Eranian escreveu:
> This patch improves the error message given by jvmti Makefile
> when the alternatives command cannot be found. It now suggests
> the user locates the root of their Java installation and pass it
> with JDIR=

Thanks, tested on a RHEL6.7 VM without openjdk packages, works as
advertised.

Applied.

- Arnaldo

> Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx>
> ---
> tools/perf/jvmti/Makefile | 17 +++++++++++++----
> 1 file changed, 13 insertions(+), 4 deletions(-)
>
> diff --git a/tools/perf/jvmti/Makefile b/tools/perf/jvmti/Makefile
> index 0277a64b391b..5ce61a1bda9c 100644
> --- a/tools/perf/jvmti/Makefile
> +++ b/tools/perf/jvmti/Makefile
> @@ -35,12 +35,21 @@ SOLIBEXT=so
>
> # The following works at least on fedora 23, you may need the next
> # line for other distros.
> -ifeq (,$(wildcard /usr/sbin/update-java-alternatives))
> -JDIR=$(shell alternatives --display java | tail -1 | cut -d' ' -f 5 | sed 's%/jre/bin/java.%%g')
> -else
> +ifneq (,$(wildcard /usr/sbin/update-java-alternatives))
> JDIR=$(shell /usr/sbin/update-java-alternatives -l | head -1 | cut -d ' ' -f 3)
> +else
> + ifneq (,$(wildcard /usr/sbin/alternatives))
> + JDIR=$(shell alternatives --display java | tail -1 | cut -d' ' -f 5 | sed 's%/jre/bin/java.%%g')
> + endif
> endif
> -
> +ifndef JDIR
> +$(error Could not find alternatives command, you need to set JDIR= to point to the root of your Java directory)
> +else
> + ifeq (,$(wildcard $(JDIR)/include/jvmti.h))
> + $(error the openjdk development package appears to me missing, install and try again)
> + endif
> +endif
> +$(info Using Java from $(JDIR))
> # -lrt required in 32-bit mode for clock_gettime()
> LIBS=-lelf -lrt
> INCDIR=-I $(JDIR)/include -I $(JDIR)/include/linux
> --
> 1.9.1