Jetpack 4.2.1 : building v4l2loopback fails

could someone check?

/usr/src/linux-headers-4.9.140-tegra-ubuntu18.04_aarch64/kernel-4.9/v4l2loopback# make
Building v4l2-loopback driver...
make -C /lib/modules/`uname -r`/build M=/usr/src/linux-headers-4.9.140-tegra-ubuntu18.04_aarch64/kernel-4.9/v4l2loopback modules
make[1]: *** /lib/modules/4.9.140/build: No such file or directory.  Stop.
Makefile:42: recipe for target 'v4l2loopback.ko' failed
make: *** [v4l2loopback.ko] Error 2

previously it used to work

Hi,
I have tried r32.2/TX2 at hand and don’t hit the issue.

nvidia@nvidia-desktop:~$ sudo su
[sudo] password for nvidia:
root@nvidia-desktop:/home/nvidia# cd /usr/src
root@nvidia-desktop:/usr/src# mkdir v4l2loopback
root@nvidia-desktop:/usr/src# git clone https://github.com/umlaeute/v4l2loopback.git v4l2loopback
Cloning into 'v4l2loopback'...
remote: Enumerating objects: 20, done.
remote: Counting objects: 100% (20/20), done.
remote: Compressing objects: 100% (14/14), done.
remote: Total 1706 (delta 6), reused 12 (delta 6), pack-reused 1686
Receiving objects: 100% (1706/1706), 798.78 KiB | 961.00 KiB/s, done.
Resolving deltas: 100% (955/955), done.
root@nvidia-desktop:/usr/src# cd v4l2loopback/
root@nvidia-desktop:/usr/src/v4l2loopback# make
Building v4l2-loopback driver...
make -C /lib/modules/`uname -r`/build M=/usr/src/v4l2loopback modules
make[1]: Entering directory '/usr/src/linux-headers-4.9.140-tegra-ubuntu18.04_aarch64/kernel-4.9'
  CC [M]  /usr/src/v4l2loopback/v4l2loopback.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /usr/src/v4l2loopback/v4l2loopback.mod.o
  LD [M]  /usr/src/v4l2loopback/v4l2loopback.ko
make[1]: Leaving directory '/usr/src/linux-headers-4.9.140-tegra-ubuntu18.04_aarch64/kernel-4.9'
root@nvidia-desktop:/usr/src/v4l2loopback# make install
make -C /lib/modules/`uname -r`/build M=/usr/src/v4l2loopback modules_install
make[1]: Entering directory '/usr/src/linux-headers-4.9.140-tegra-ubuntu18.04_aarch64/kernel-4.9'
  INSTALL /usr/src/v4l2loopback/v4l2loopback.ko
  DEPMOD  4.9.140-tegra
make[1]: Leaving directory '/usr/src/linux-headers-4.9.140-tegra-ubuntu18.04_aarch64/kernel-4.9'

Will try Xavier.

Hi,
It also works fine on r32.2/Xavier. v4l2loopback can be built successfully.

Thank you for letting me know!
It should be something at my side that I will be able to troubleshoot.
It worked once I manually adjusted the path to:

make -C /lib/modules/4.9.140-tegra/build M=/usr/src/v4l2loopback modules

and it would not work because of the default return of uname-r

uname -r
4.9.140

default sequence “make” would work if the output would be

4.9.140-tegra

Thank you for your help sorting it out!
SOLVED

Tried that on Xavier R32.3. Indeed, the module builds and install sucessfully, but when using v4l2sink in gstreamer, a cascade of faults related to v4l_enum_fmt can be seen in kernel messages at setup (although it seems working after).
This seems to happen with any v4l2loopback version from 0.11.0.
So for now I’d suggest to rather checkout v0.10.0 not having this problem:

...
root@nvidia-desktop:/usr/src# cd v4l2loopback/
root@nvidia-desktop:/usr/src/v4l2loopback# git checkout v0.10.0
root@nvidia-desktop:/usr/src/v4l2loopback# make
root@nvidia-desktop:/usr/src/v4l2loopback# make install
...

[EDIT: if you need some feature only available in v0.11 or v0.12, you would try this post.]

I needed to add this step before modprobe would work:
apt-get install -y v4l2loopback-dkms v4l2loopback-utils