在树莓派书虫上编译 V4L2loopback 时出现问题

在树莓派书虫上编译 V4L2loopback 时出现问题

我安装了最新版本的raspios,这里是uname -a Linux raspberrypi 6.1.21+ #1642 Mon Apr 3 17:19:14 BST 2023 armv6l GNU/Linux

我 git 克隆了 V4l2loopback 并在获取 linux 头文件后尝试编译。我收到以下错误。

Building v4l2-loopback driver...
make -C /lib/modules/`uname -r`/build M=/home/pi/v4l2loopback KCPPFLAGS="-DSNAPSHOT_VERSION='"0.12.7-412-g850a2e3"'" modules
make[1]: Entering directory '/usr/src/linux-headers-6.1.21+'
  CC [M]  /home/pi/v4l2loopback/v4l2loopback.o
  MODPOST /home/pi/v4l2loopback/Module.symvers
ERROR: modpost: "__aeabi_ldivmod" [/home/pi/v4l2loopback/v4l2loopback.ko] undefined!
make[2]: *** [scripts/Makefile.modpost:126: /home/pi/v4l2loopback/Module.symvers] Error 1
make[1]: *** [Makefile:1964: modpost] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-6.1.21+'
make: *** [Makefile:53: v4l2loopback.ko] Error 2

我用 google 搜索发现,当你在 32 位上进行 64 位除法时,大多数错误都会出现。我查看了代码,发现了 64 位除法的实例,我尝试用 do_div() 替换它,但无济于事。当我这样做时,我遇到了一大堆其他错误。你如何解决这个问题?

答案1

您可能正在为错误的目标机器进行编译。不可能知道你具体在做什么,是否交叉编译它,或者你如何在 RPi 上编译它,以及你到底做了什么来“获取 linux 头文件”。

然而:

您不必手动构建它,它是由 debian 打包的,因此至少应该可以通过包使用v4l2loopback-dmks

相关内容