I am running testcase 319 (https://bugzilla.yoctoproject.org/tr_show_case.cgi?case_id=319) which requires to run crosstap on a core-image-minimal with tools-profile and ssh-server. Expected Results: crosstap running successfully Actual Results: Got an error with systemtap: Error: Native (host) systemtap not found. Did you accidentally build a local non-sdk image? (or forget to add 'tools-profile' to EXTRA_IMAGE_FEATURES in your local.conf)? This error points to tools-profile not being added to local.conf, but it was. [humberto@localhost build]$ cat tmp/deploy/images/qemux86/core-image-minimal-qemux86.manifest | grep tools-profile packagegroup-core-tools-profile qemux86 1.0 [humberto@localhost build]$ cat tmp/deploy/images/qemux86/core-image-minimal-qemux86.manifest | grep systemtap systemtap i586 3.0 It seems that for some reason stap was not installed to recipes-sysroot-native/usr/bin, where the crosstap is looking for it.
We should build systemtap-native explicitly which introduced by commit 16882885f656a2312b1d441cb800e1ee28f07dcf . I have updated the test case. But there is still an issue with crosstap: Create the trace_open.stp script as follow: probe syscall.open { printf ("%s(%d) open (%s)\n", execname(), pid(), argstr) } Then run crosstap: $ crosstap root@192.168.7.2 trace_open.stp /buildarea1/poky/build /buildarea1/poky/build /buildarea1/poky/build semantic error: while processing probe kernel.function("compat_sys_open").call from: __syscall.compat_open from: syscall.open from: syscall.open semantic error: unresolved target-symbol expression: identifier '$filename' at /buildarea1/poky/build/tmp/sysroots/x86_64-linux/usr/share/systemtap/tapset/linux/syscalls2.stp:194:41 source: filename = user_string_quoted(__uint32($filename)) ^ Pass 2: analysis failed. [man error::pass2] This issue happens both on 2.3 M3 and 2.2.1 RC1.
Found some minor change that has a big impact on this bug. After going round and round with the kernel and kernel module makefiles, I found where the -I include lines where getting set incorrectly. Hopefully this fix will address that.
http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=07eca818019e1969c78afa8932f0e2cda1fc8e72 http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=3f0037ce3c49ecc98c486ebf90844a4db4976b14
Verified with 2.3 M3 rc1. git rev: master/6e20b31d5d17133e0fca086e12a0ad06ab5c4cc8 Use the the following trace_open.stp script: probe syscall.open { printf ("%s(%d) open\n", execname(), pid()) } This example is from https://sourceware.org/systemtap/SystemTap_Beginners_Guide/systemtapscript-handler.html Example 3.5
*** Bug 6016 has been marked as a duplicate of this bug. ***