[lttng-dev] Compile modules on Centos Stream 9

Jean-Marc Chevalier jean-marc.chevalier at polymtl.ca
Wed Jun 19 11:41:56 EDT 2024


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. 

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 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.lttng.org/pipermail/lttng-dev/attachments/20240619/1fcee21a/attachment.htm>
-------------- next part --------------
make -C /lib/modules/5.14.0-452.el9.x86_64/build M=/home/tmp/lttng-modules-2.13.13/src \
	CONFIG_LTTNG=m CONFIG_LTTNG_CLOCK_PLUGIN_TEST=m \
	KCPPFLAGS='' \
	modules
make[1]: Entering directory '/usr/src/kernels/5.14.0-452.el9.x86_64'
/home/tmp/lttng-modules-2.13.13/src/probes/Kbuild:28: File ./mm/slab.h not found. Probe "kmem" is disabled. Use full kernel source tree to enable it.
/home/tmp/lttng-modules-2.13.13/src/probes/Kbuild:83: File ./arch/x86/kvm/lapic.h not found. Probe "kvm" x86-specific is disabled. Use full kernel source tree to enable it.
/home/tmp/lttng-modules-2.13.13/src/probes/Kbuild:210: Files ./mm/internal.h not found. Probe "compaction" is disabled. Use full kernel source tree to enable it.
/home/tmp/lttng-modules-2.13.13/src/probes/Kbuild:219: Files ./fs/ext4/*.h not found. Probe "ext4" is disabled. Use full kernel source tree to enable it.
/home/tmp/lttng-modules-2.13.13/src/probes/Kbuild:248: File ./drivers/base/regmap/trace.h not found. Probe "regmap" is disabled. Need Linux 4.1+ kernel source tree to enable it.
  CC [M]  /home/tmp/lttng-modules-2.13.13/src/probes/lttng-probe-sched.o
In file included from /home/tmp/lttng-modules-2.13.13/src/probes/../../include/lttng/define_trace.h:87,
                 from /home/tmp/lttng-modules-2.13.13/src/probes/../../include/instrumentation/events/sched.h:729,
                 from /home/tmp/lttng-modules-2.13.13/src/probes/lttng-probe-sched.c:28:
/home/tmp/lttng-modules-2.13.13/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)'}
  133 | void trace_##_name(_proto);
      |      ^~~~~~
/home/tmp/lttng-modules-2.13.13/src/probes/../../include/lttng/tracepoint-event-impl.h:45:9: note: in expansion of macro 'LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP'
   45 |         LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(map, name, map, PARAMS(proto), PARAMS(args))
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/tmp/lttng-modules-2.13.13/src/probes/../../include/lttng/tracepoint-event-impl.h:87:9: note: in expansion of macro 'LTTNG_TRACEPOINT_EVENT_MAP'
   87 |         LTTNG_TRACEPOINT_EVENT_MAP(name, name,                          \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/tmp/lttng-modules-2.13.13/src/probes/../../include/instrumentation/events/sched.h:671:1: note: in expansion of macro 'LTTNG_TRACEPOINT_EVENT'
  671 | LTTNG_TRACEPOINT_EVENT(sched_stat_runtime,
      | ^~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/trace/events/sched.h:10,
                 from /home/tmp/lttng-modules-2.13.13/src/probes/lttng-probe-sched.c:17:
./include/linux/tracepoint.h:256:28: note: previous definition of 'trace_sched_stat_runtime' with type 'void(struct task_struct *, u64)' {aka 'void(struct task_struct *, long long unsigned int)'}
  256 |         static inline void trace_##name(proto)                          \
      |                            ^~~~~~
./include/linux/tracepoint.h:430:9: note: in expansion of macro '__DECLARE_TRACE'
  430 |         __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
      |         ^~~~~~~~~~~~~~~
./include/linux/tracepoint.h:553:9: note: in expansion of macro 'DECLARE_TRACE'
  553 |         DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |         ^~~~~~~~~~~~~
./include/trace/events/sched.h:517:1: note: in expansion of macro 'DEFINE_EVENT'
  517 | DEFINE_EVENT(sched_stat_runtime, sched_stat_runtime,
      | ^~~~~~~~~~~~
make[3]: *** [scripts/Makefile.build:296: /home/tmp/lttng-modules-2.13.13/src/probes/lttng-probe-sched.o] Error 1
make[2]: *** [scripts/Makefile.build:584: /home/tmp/lttng-modules-2.13.13/src/probes] Error 2
make[1]: *** [Makefile:1942: /home/tmp/lttng-modules-2.13.13/src] Error 2
make[1]: Leaving directory '/usr/src/kernels/5.14.0-452.el9.x86_64'
make: *** [Makefile:31: modules] Error 2


More information about the lttng-dev mailing list