Bug 116411: tools/perf_clean: output directory does not exist. Stop.
From: TJ
Date: Fri Apr 15 2016 - 16:05:13 EST
v4.6-rc3
tools/perf then tools/perf_clean fails in the source tree:
*** output directory
"/home/all/SourceCode/linux/linux/tools/perf/tools/perf/" does not
exist. Stop.
https://bugzilla.kernel.org/show_bug.cgi?id=116411
The problem is that recursive/sub-makes effectively doing
O=$(O)/$(subdir) is changing the base directory resulting in
$(O)/$(subdir)/$(subdir)/ : "tools/perf" "/" "tools/perf" "/". This is
done in tools/scripts/Makefile.include:
OUTPUT := $(ABSOLUTE_O)/$(if $(subdir),$(subdir)/)
This is another symptom of the bug I reported to the mailing-list and
bugzilla on Sun, 10 Apr 2016 22:36:14 +0100, which said:
Trying to do an out-of-tree build using either absolute or relative
paths for O= fails when trying to build tools/perf.
More details in ""Directory does not exist" when doing tools
perf_install out-of-tree build"
https://bugzilla.kernel.org/show_bug.cgi?id=116131
git blame shows commits c883122a and bf35182f are responsible for the
path calculation code.