Re: [lttng-dev] Compile modules on Centos Stream 9

Kienan Stewart via lttng-dev <[email protected]> Thu, 20 Jun 2024 11:48:16 -0400
Newsgroups org.lttng.lists.lttng-dev
Message-ID <[email protected]>
Hi Jean-Marc,

On 6/19/24 11:41 AM, Jean-Marc Chevalier via lttng-dev wrote:
> Hi,
> 
> Is it possible to build the lttng modules againt Centos Stream 9 
> kernels? I see these warnings at the top when attempting to compile:
> 
> make[1]: Entering directory '/usr/src/kernels/5.14.0-452.el9.x86_64'
> /home/tmp/git/lttng-modules/src/probes/Kbuild:28: File ./mm/slab.h not 
> found. Probe "kmem" is disabled. Use full kernel source tree to enable it.
> /home/tmp/git/lttng-modules/src/probes/Kbuild:79: File 
> ./arch/x86/kvm/lapic.h not found. Probe "kvm" x86-specific is disabled. 
> Use full kernel source tree to enable it.
> /home/tmp/git/lttng-modules/src/probes/Kbuild:181: Files ./mm/internal.h 
> not found. Probe "compaction" is disabled. Use full kernel source tree 
> to enable it.
> /home/tmp/git/lttng-modules/src/probes/Kbuild:190: Files ./fs/ext4/*.h 
> not found. Probe "ext4" is disabled. Use full kernel source tree to 
> enable it.
> /home/tmp/git/lttng-modules/src/probes/Kbuild:213: File 
> ./drivers/base/regmap/trace.h not found. Probe "regmap" is disabled. Use 
> full kernel source tree to enable it.
> 

The message reads to use the full kernel source tree if you want to 
enable those probes.

Those probes depend on internal headers, which are not shipped as part 
of the public header packages e.g. kernel-headers.rpm.

One way to get the full source tree is to extract it from the kernel 
source rpm, e.g. 
https://mirror.stream.centos.org/9-stream/BaseOS/source/tree/Packages/kernel-5.14.0-452.el9.src.rpm

thanks,
kienan

> I tried with module versions 2.12.17 and 2.13.13 against the kernel 
> 5.14.0-452.el9.x86_64 and I obtain this error:
> 
> /home/tmp/git/lttng-modules/src/probes/../../include/lttng/tracepoint-event-impl.h:133:6: error: conflicting types for 'trace_sched_stat_runtime'; have 'void(struct task_struct *, u64,  u64)' {aka 'void(struct task_struct *, long long unsigned int,  long long unsigned int)'}
> 
> Any help would be greatly appreciated.
> 
> - JM
> 
> -- 
> - Jean-Marc Chevalier
>    Technicien
>    Génie informatique Génie logiciel
>    Local:     M-4002
>    Téléphone: 514-340-4711 x4266
> 
> _______________________________________________
> lttng-dev mailing list
> [email protected]
> https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
_______________________________________________
lttng-dev mailing list
[email protected]
https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev