<div dir="ltr"><div>Thanks for updated version.</div><div><br></div><div>Just in case someone needs to build perf with e.g. 3.16 kernel, then you need bbappend like this:</div><div><br></div><div><br></div><div># need to copy few more files to support building with old 3.16 kernel</div><div>PERF_SRC_append = " scripts arch lib"</div><div><br></div><div># ERROR: perf-1.0-r9 do_configure: Path does not exist: kernel-source/tools/arch. Maybe PERF_SRC does not match the kernel version.</div><div>PERF_SRC_remove = "tools/arch tools/build"</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr">On Mon, Aug 13, 2018 at 11:42 AM Mikko Rapeli <<a href="mailto:mikko.rapeli@bmw.de">mikko.rapeli@bmw.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">A missing src directory from a broken kernel recipe resulted<br>
only in a warning:<br>
<br>
WARNING: copyfile: stat of /home/builder/src/tmp-glibc/work-shared/target/kernel-source/tools/arch failed ([Errno 2] No such file or directory: '/home/builder/src/tmp-glibc/work-shared/target/kernel-source/tools/arch')<br>
<br>
and the build failed horribly.<br>
<br>
With this change it's an error which can not be missed:<br>
<br>
ERROR: perf-1.0-r9 do_configure: Path does not exist: /home/builder/src/tmp-glibc/work-shared/target/kernel-source/tools/arch. Maybe PERF_SRC does not match the kernel version.<br>
ERROR: perf-1.0-r9 do_configure: Function failed: copy_perf_source_from_kernel<br>
ERROR: Logfile of failure stored in: /home/builder/src/tmp-glibc/work/target-linux/perf/1.0-r9/temp/log.do_configure.21083<br>
NOTE: recipe perf-1.0-r9: task do_configure: Failed<br>
ERROR: Task (/home/builder/src/poky/meta/recipes-kernel/perf/perf.bb:do_configure) failed with exit code '1'<br>
<br>
To get get perf compiling from a custom kernel, a perf.bbappend can be<br>
created which defines PERF_SRC as list of files and directories needed<br>
from kernel source tree to compile perf. This varies between kernel<br>
versions.<br>
<br>
Signed-off-by: Mikko Rapeli <<a href="mailto:mikko.rapeli@bmw.de" target="_blank">mikko.rapeli@bmw.de</a>><br>
---<br>
meta/recipes-kernel/perf/<a href="http://perf.bb" rel="noreferrer" target="_blank">perf.bb</a> | 2 ++<br>
1 file changed, 2 insertions(+)<br>
<br>
v1: <a href="http://lists.openembedded.org/pipermail/openembedded-core/2018-August/154028.html" rel="noreferrer" target="_blank">http://lists.openembedded.org/pipermail/openembedded-core/2018-August/154028.html</a><br>
Added PERF_SRC variable to the error message and commit message<br>
as suggested by Martin Jansa in<br>
<a href="http://lists.openembedded.org/pipermail/openembedded-core/2018-August/154038.html" rel="noreferrer" target="_blank">http://lists.openembedded.org/pipermail/openembedded-core/2018-August/154038.html</a><br>
<br>
diff --git a/meta/recipes-kernel/perf/<a href="http://perf.bb" rel="noreferrer" target="_blank">perf.bb</a> b/meta/recipes-kernel/perf/<a href="http://perf.bb" rel="noreferrer" target="_blank">perf.bb</a><br>
index 2c6bbb4..c1ce4b4 100644<br>
--- a/meta/recipes-kernel/perf/<a href="http://perf.bb" rel="noreferrer" target="_blank">perf.bb</a><br>
+++ b/meta/recipes-kernel/perf/<a href="http://perf.bb" rel="noreferrer" target="_blank">perf.bb</a><br>
@@ -147,6 +147,8 @@ python copy_perf_source_from_kernel() {<br>
for s in sources:<br>
src = oe.path.join(src_dir, s)<br>
dest = oe.path.join(dest_dir, s)<br>
+ if not os.path.exists(src):<br>
+ bb.fatal("Path does not exist: %s. Maybe PERF_SRC does not match the kernel version." % src)<br>
if os.path.isdir(src):<br>
oe.path.copyhardlinktree(src, dest)<br>
else:<br>
-- <br>
1.9.1<br>
<br>
-- <br>
_______________________________________________<br>
Openembedded-core mailing list<br>
<a href="mailto:Openembedded-core@lists.openembedded.org" target="_blank">Openembedded-core@lists.openembedded.org</a><br>
<a href="http://lists.openembedded.org/mailman/listinfo/openembedded-core" rel="noreferrer" target="_blank">http://lists.openembedded.org/mailman/listinfo/openembedded-core</a><br>
</blockquote></div>