Before, I was installing using the ppa repository. Based on your instructions, I made lttng using the source code in a totally new environment, having the mount.h under '/lib/modules/$(uname -r)/build/fs'.

I removed the "ifneq" and "endif" statements for 'Makefile' and 'Kbuild.common' which were surrounding "mnt_ns_dep". lttng was installed successfully and the kernel trace session started, but I'm still getting the same error.

As a hint, in the build process for lttng-modules, I found messages such as "./fs/ext4/*.h not found". Is that part of the problem? Meaning, is enabling the mnt context filesystem-specific?



On Tue, Jan 12, 2021 at 12:51 PM Michael Jeanson <mjeanson@efficios.com> wrote:
On 2021-01-12 12 h 29, Mohammad Kavousi wrote:
> Thanks again for your reply,
>
> To be specific, I did exactly this:
>
> - Install linux source code, then copy the mentioned file to the folder
> using: cp
> /usr/src/linux-headers-5.4.0-59/fs/mount.h /lib/modules/$(uname -r)/build

The path to the header has to stay the same, so you would need to copy
it to '/lib/modules/$(uname -r)/build/fs'.

The rest of the steps seem fine.

One thing you can do if it still doesn't work, is modify 'Makefile' and
'Kbuild.common' in the lttng-modules source directory and remove the
conditions on 'mnt_ns_dep'. That would make the build fail when
'fs/mount.h' isn't found and may help you find the cause.

>
> - Run sudo dkms autoinstall (I also did reboot)
>
> - Create the session and attempt to add the context
>
> However, I'm getting the same error.