On Sat, 2017-03-04 at 02:12 +0000, Ben Hutchings wrote: > On Sat, 2017-03-04 at 01:39 +0000, Ben Hutchings wrote: > [...] > > I investigated this and found that it occurs when the kernel source and > > object trees are separate (an "out-of-tree" build, not to be confused > > with out-of-tree modules). We separate them in Debian kernel header > > packages to avoid duplicating source files for each flavour. > > > > When this is the case, the compiler is called in the root of the > > object tree, and the kernel build system adjusts -I options in the > > compiler flags to refer to subdirectories of the source tree if > > necessary. Any directory name beginning with /, ./ or ../ is excluded > > from this adjustment. > > > > systemtap uses -I"/usr/share/systemtap/runtime", which ought to be > > excluded... but make has no understanding of shell quoting, so it is > > wrongly adjusted to something like > > -I/usr/src/linux-headers-4.9.0-2-common/"/usr/share/systemtap/runtime" > > and runtime_defines.h cannot be found. > > By the way, kbuild has been doing this ever since it started supporting > out-of-tree builds (around Linux 2.6.0). However, both the adjusted > and original -I options were used. Since Linux 4.8 only the adjusted > option is used. >
Thank you very much, Ben. I tested with your fix and it resolves the issue. -- Ritesh Raj Sarraf | http://people.debian.org/~rrs Debian - The Universal Operating System
signature.asc
Description: This is a digitally signed message part