Hello!
On Tue, 31 Mar 2020 at 13:29, Arnaldo Carvalho de Melo arnaldo.melo@gmail.com wrote:
Em Tue, Mar 31, 2020 at 11:20:37AM -0700, Linus Torvalds escreveu:
On Tue, Mar 31, 2020 at 11:08 AM Naresh Kamboju naresh.kamboju@linaro.org wrote:
Perf build broken on Linux next and mainline and now on stable-rc-5.6 branch.
Strange. What is it that triggers the problem for you? It works fine here.. The error looks like some kind of command line quoting error, but I don't see the direct cause.
Have you bisected the failure? Build failures should be particularly easy and quick to bisect.
Naresh, can you try with the patch below? There was some back and forth about a second patch in a series and this fell thru the cracks.
I tried that patch, did not help.
Bisection led to the expected merge, "perf-urgent-for-linus", so I went one by one and found this commit: a7ffd416d804 ("perf python: Fix clang detection when using CC=clang-version"). Specifically, the line that fails is:
cc_is_clang = b"clang version" in Popen([cc, "-v"], stderr=PIPE).stderr.readline()
with:
Traceback (most recent call last): File "util/setup.py", line 6, in <module> cc_is_clang = b"clang version" in Popen([cc, "-v"], stderr=PIPE).stderr.readline() File "/oe/build/tmp/work/juno-linaro-linux/perf/1.0-r9/recipe-sysroot-native/usr/lib/python2.7/subprocess.py", line 394, in __init__ errread, errwrite) File "/oe/build/tmp/work/juno-linaro-linux/perf/1.0-r9/recipe-sysroot-native/usr/lib/python2.7/subprocess.py", line 1047, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory
There, the value for CC is "aarch64-linaro-linux-gcc --sysroot=/oe/build/tmp/work/juno-linaro-linux/perf/1.0-r9/recipe-sysroot".
And also, BTW, can you please send me instructions on how to get hold of the toolchain you use to crossbuild perf, so that I can add it to my set of test build containers?
It's an OE build, so it's bound to take quite a bit of space. I'll try to get something dockerized so that it's easier to replicate.
Thanks and greetings!
Daniel Díaz daniel.diaz@linaro.org
- Arnaldo
From: He Zhe zhe.he@windriver.com
The $(CC) passed to arch_errno_names.sh may include a series of parameters along with gcc itself. To avoid overwriting the following parameters of arch_errno_names.sh and break the build like below, we just pick up the first word of the $(CC).
find: unknown predicate `-m64/arch' x86_64-wrs-linux-gcc: warning: '-x c' after last input file has no effect x86_64-wrs-linux-gcc: error: unrecognized command line option '-m64/include/uapi/asm-generic/errno.h' x86_64-wrs-linux-gcc: fatal error: no input files
Signed-off-by: He Zhe zhe.he@windriver.com
tools/perf/Makefile.perf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf index 3eda9d4..7114c11 100644 --- a/tools/perf/Makefile.perf +++ b/tools/perf/Makefile.perf @@ -573,7 +573,7 @@ arch_errno_hdr_dir := $(srctree)/tools arch_errno_tbl := $(srctree)/tools/perf/trace/beauty/arch_errno_names.sh
$(arch_errno_name_array): $(arch_errno_tbl)
$(Q)$(SHELL) '$(arch_errno_tbl)' $(CC) $(arch_errno_hdr_dir) > $@
$(Q)$(SHELL) '$(arch_errno_tbl)' $(firstword $(CC)) $(arch_errno_hdr_dir) > $@
sync_file_range_arrays := $(beauty_outdir)/sync_file_range_arrays.c sync_file_range_tbls := $(srctree)/tools/perf/trace/beauty/sync_file_range.sh -- 2.7.4