Mathieu, I'm testing with Ubuntu Wily using a 4.1 series kernel.
include/kvm/iodev.h is installed by linux-headers with the 4.1 kernel, and therefore the probe Makefile tries to install the kvm probe, but then fails to compile because arch/x86/kvm/lapic.h isn't found. All this obviously works if you point at full sources. --chris On 07/27/2015 10:48 AM, Mathieu Desnoyers wrote: > ----- On Jul 24, 2015, at 2:18 PM, Chris J Arges [email protected] > wrote: > >> In a typical distribution if just linux-headers is installed, lapic.h will >> not be installed. We should check if that file exists and not build the >> module. > > Hi Chris, > > Although this patch looks technically correct, I'd like to understand > how you triggered this issue in the first place. > > If we look at this Makefile, we skip building KVM probes altogether > if neither $(srctree)/virt/kvm/iodev.h nor $(srctree)/include/kvm/iodev.h > are found. AFAIU, none of those headers are installed as linux-headers. > > Which of those headers are found in your distribution headers ? Is it > due to a modification specific to Ubuntu or is it something that > appears in mainline kernel ? > > Thanks! > > Mathieu > >> >> Signed-off-by: Chris J Arges <[email protected]> >> --- >> probes/Makefile | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/probes/Makefile b/probes/Makefile >> index 0314a5e..cc4c352 100644 >> --- a/probes/Makefile >> +++ b/probes/Makefile >> @@ -25,6 +25,8 @@ obj-m += lttng-probe-statedump.o >> ifneq ($(CONFIG_KVM),) >> obj-m += lttng-probe-kvm.o >> ifneq ($(CONFIG_X86),) >> +kvm_dep_lapic = $(srctree)/arch/x86/kvm/lapic.h >> +ifneq ($(wildcard $(kvm_dep_lapic)),) >> kvm_dep = $(srctree)/virt/kvm/iodev.h $(srctree)/include/kvm/iodev.h >> ifneq ($(wildcard $(kvm_dep)),) >> CFLAGS_lttng-probe-kvm-x86.o += -I$(srctree)/virt/kvm >> @@ -40,6 +42,9 @@ obj-m += $(shell \ >> else >> $(warning File $(kvm_dep) not found. Probe "kvm" x86-specific is disabled. >> Use >> full kernel source tree to enable it.) >> endif >> +else >> +$(warning File $(kvm_dep_lapic) not found. Probe "kvm" x86-specific is >> disabled. Use full kernel source tree to enable it.) >> +endif >> endif >> endif >> >> -- >> 2.1.4 >> >> >> _______________________________________________ >> lttng-dev mailing list >> [email protected] >> http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev > _______________________________________________ lttng-dev mailing list [email protected] http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
