2016-10-13 02:21:54

by Anton Blanchard

[permalink] [raw]
Subject: [PATCH] perf jit: Fix build issue on Ubuntu

From: Anton Blanchard <[email protected]>

When building on Ubuntu 16.04, I get the following error:

Makefile:49: *** the openjdk development package appears to me missing, install and try again. Stop.

The problem is that update-java-alternatives has multiple spaces between
fields, and cut treats each space as a new delimiter:

java-1.8.0-openjdk-ppc64el 1081 /usr/lib/jvm/java-1.8.0-openjdk-ppc64el

Fix this by using awk, which handles this fine.

Signed-off-by: Anton Blanchard <[email protected]>
---
tools/perf/jvmti/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/jvmti/Makefile b/tools/perf/jvmti/Makefile
index 5ce61a1..df14e6b 100644
--- a/tools/perf/jvmti/Makefile
+++ b/tools/perf/jvmti/Makefile
@@ -36,7 +36,7 @@ SOLIBEXT=so
# The following works at least on fedora 23, you may need the next
# line for other distros.
ifneq (,$(wildcard /usr/sbin/update-java-alternatives))
-JDIR=$(shell /usr/sbin/update-java-alternatives -l | head -1 | cut -d ' ' -f 3)
+JDIR=$(shell /usr/sbin/update-java-alternatives -l | head -1 | awk '{print $$3}')
else
ifneq (,$(wildcard /usr/sbin/alternatives))
JDIR=$(shell alternatives --display java | tail -1 | cut -d' ' -f 5 | sed 's%/jre/bin/java.%%g')
--
2.7.4


2016-10-13 07:43:08

by Stephane Eranian

[permalink] [raw]
Subject: Re: [PATCH] perf jit: Fix build issue on Ubuntu

On Wed, Oct 12, 2016 at 7:20 PM, Anton Blanchard <[email protected]> wrote:
>
> From: Anton Blanchard <[email protected]>
>
> When building on Ubuntu 16.04, I get the following error:
>
> Makefile:49: *** the openjdk development package appears to me missing, install and try again. Stop.
>
> The problem is that update-java-alternatives has multiple spaces between
> fields, and cut treats each space as a new delimiter:
>
> java-1.8.0-openjdk-ppc64el 1081 /usr/lib/jvm/java-1.8.0-openjdk-ppc64el
>
> Fix this by using awk, which handles this fine.
>
> Signed-off-by: Anton Blanchard <[email protected]>

Works for me. Thanks.
Reviewed-by: Stephane Eranian <[email protected]>

>
> ---
> tools/perf/jvmti/Makefile | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/perf/jvmti/Makefile b/tools/perf/jvmti/Makefile
> index 5ce61a1..df14e6b 100644
> --- a/tools/perf/jvmti/Makefile
> +++ b/tools/perf/jvmti/Makefile
> @@ -36,7 +36,7 @@ SOLIBEXT=so
> # The following works at least on fedora 23, you may need the next
> # line for other distros.
> ifneq (,$(wildcard /usr/sbin/update-java-alternatives))
> -JDIR=$(shell /usr/sbin/update-java-alternatives -l | head -1 | cut -d ' ' -f 3)
> +JDIR=$(shell /usr/sbin/update-java-alternatives -l | head -1 | awk '{print $$3}')
> else
> ifneq (,$(wildcard /usr/sbin/alternatives))
> JDIR=$(shell alternatives --display java | tail -1 | cut -d' ' -f 5 | sed 's%/jre/bin/java.%%g')
> --
> 2.7.4
>

Subject: [tip:perf/urgent] perf jit: Fix build issue on Ubuntu

Commit-ID: 53613e005496234bb684e5db551fbcededa73999
Gitweb: http://git.kernel.org/tip/53613e005496234bb684e5db551fbcededa73999
Author: Anton Blanchard <[email protected]>
AuthorDate: Thu, 13 Oct 2016 13:20:43 +1100
Committer: Arnaldo Carvalho de Melo <[email protected]>
CommitDate: Mon, 17 Oct 2016 11:25:34 -0300

perf jit: Fix build issue on Ubuntu

When building on Ubuntu 16.04, I get the following error:

Makefile:49: *** the openjdk development package appears to me missing, install and try again. Stop.

The problem is that update-java-alternatives has multiple spaces between
fields, and cut treats each space as a new delimiter:

java-1.8.0-openjdk-ppc64el 1081 /usr/lib/jvm/java-1.8.0-openjdk-ppc64el

Fix this by using awk, which handles this fine.

Signed-off-by: Anton Blanchard <[email protected]>
Reviewed-by: Stephane Eranian <[email protected]>
Cc: Alexander Shishkin <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
---
tools/perf/jvmti/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/jvmti/Makefile b/tools/perf/jvmti/Makefile
index 5ce61a1..df14e6b 100644
--- a/tools/perf/jvmti/Makefile
+++ b/tools/perf/jvmti/Makefile
@@ -36,7 +36,7 @@ SOLIBEXT=so
# The following works at least on fedora 23, you may need the next
# line for other distros.
ifneq (,$(wildcard /usr/sbin/update-java-alternatives))
-JDIR=$(shell /usr/sbin/update-java-alternatives -l | head -1 | cut -d ' ' -f 3)
+JDIR=$(shell /usr/sbin/update-java-alternatives -l | head -1 | awk '{print $$3}')
else
ifneq (,$(wildcard /usr/sbin/alternatives))
JDIR=$(shell alternatives --display java | tail -1 | cut -d' ' -f 5 | sed 's%/jre/bin/java.%%g')