dkms-Installation v4l2loopback-dc/2.1.2 schlägt fehl

dkms-Installation v4l2loopback-dc/2.1.2 schlägt fehl

Während ich meine Archlinux-Pakete mit aktualisiere _ packman -Syu, stelle ich fest, dass dkms die Module nicht installieren kann:

(11/23) Install DKMS modules
==> dkms install --no-depmod v4l2loopback-dc/2.1.2 -k 6.8.5-arch1-1
Error! Bad return status for module build on kernel: 6.8.5-arch1-1 (x86_64)
Consult /var/lib/dkms/v4l2loopback-dc/2.1.2/build/make.log for more information.
==> WARNING: `dkms install --no-depmod v4l2loopback-dc/2.1.2 -k 6.8.5-arch1-1' exited 10
==> dkms install --no-depmod v4l2loopback/0.13.1 -k 6.8.5-arch1-1
==> depmod 6.8.5-arch1-1
(12/23) Updating TeXLive filename database...

In der Protokolldatei (übersetzt):

DKMS make.log for v4l2loopback-dc-2.1.2 for kernel 6.8.5-arch1-1 (x86_64)
Tue 16 Apr 2024 07:56:42 +03
make -C /lib/modules/6.8.5-arch1-1/build M=/var/lib/dkms/v4l2loopback-dc/2.1.2/build modules
make[1]: enter directory "/usr/lib/modules/6.8.5-arch1-1/build"
   CC [M] /var/lib/dkms/v4l2loopback-dc/2.1.2/build/v4l2loopback-dc.o
/var/lib/dkms/v4l2loopback-dc/2.1.2/build/v4l2loopback-dc.c: In the "vidioc_querycap" function:
/var/lib/dkms/v4l2loopback-dc/2.1.2/build/v4l2loopback-dc.c:622:3: error: implicit function declaration 'strlcpy'; did you mean "strscpy"? [-Werror=implicit-function-declaration]
   622 | strlcpy(cap->driver, "Droidcam", sizeof(cap->driver));
       | ^~~~~~~
       | strscpy
cc1: some warnings are considered errors
make[3]: *** [scripts/Makefile.build:243: /var/lib/dkms/v4l2loopback-dc/2.1.2/build/v4l2loopback-dc.o] Error 1
make[2]: *** [/usr/lib/modules/6.8.5-arch1-1/build/Makefile:1921: /var/lib/dkms/v4l2loopback-dc/2.1.2/build] Error 2
make[1]: *** [Makefile:240: __sub-make] Error 2
make[1]: exit from the directory "/usr/lib/modules/6.8.5-arch1-1/build"
make: *** [Makefile:8: all] Error 2

Ist das ein Fehler im Quellcode von v4l2loopback oder sind es falsche Abhängigkeiten? Danke

Antwort1

Dies wird durch die endgültige Entfernung von (als unsicher eingestuft) in Linux 6.8.x verursacht, strlcpy()nachdem alle In-Kernel-Benutzer auf umgestiegen sind strscpy(). Normalerweise können „externe“ Benutzer (Out-of-Tree-Kernelmodule) bei solchen Änderungen etwas in Verzug geraten.

Droidcamsv4l2loopback-dchat dies in Version 2.1.3 mit diesem Commit am 26.03.2024 behoben:

Version 2.1.3

Verwenden Sie strscpy statt strlcpy.
Linux 6.8 hat strlcpy entfernt.

Sie müssen also warten, bis Archlinux die Version 2.1.3 auswählt, oder diePatchselbst.

verwandte Informationen