The install command for libperf-jvmti.so does not check if libdir exists
before installing. This means that when the install command is run:

install libperf-jvmti.so '/tmp/test_root/usr/lib64';

libperf-jvmti.so will get installed to /usr/lib64 as a file and break further
installation. Fix this by ensuring the directory gets created first.

See https://bugzilla.redhat.com/show_bug.cgi?id=1410296

Fixes: d4dfdf00d43e ("perf jvmti: Plug compilation into perf build")
Signed-off-by: Laura Abbott <labb...@redhat.com>
---
For full disclosure, Fedora is setting NO_JVMTI but this should still be fixed
to allow it to be turned on in the future.
---
 tools/perf/Makefile.perf | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf
index 8fc2482..7db8ff0 100644
--- a/tools/perf/Makefile.perf
+++ b/tools/perf/Makefile.perf
@@ -661,6 +661,7 @@ ifndef NO_PERF_READ_VDSOX32
 endif
 ifndef NO_JVMTI
        $(call QUIET_INSTALL, $(LIBJVMTI)) \
+               $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(libdir_SQ)'; \
                $(INSTALL) $(OUTPUT)$(LIBJVMTI) '$(DESTDIR_SQ)$(libdir_SQ)';
 endif
        $(call QUIET_INSTALL, libexec) \
-- 
2.7.4

Reply via email to