[Buildroot] [git commit branch/2024.11.x] package/v4l2loopback: fix v4l2loopback-ctl compile/install
Arnout Vandecappelle
arnout at rnout.be
Fri Apr 11 10:42:36 UTC 2025
commit: https://git.buildroot.net/buildroot/commit/?id=cd29193cc19eb32b84741b09bc0e0a15b64c99da
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/2024.11.x
Since upstream commit [1] the original v4l2loopback-ctl bash script was
replaced by a C version, so add a proper compile step (and remove bash
runtime dependency) to fix '[help] v4l2loopback package build fails for
raspberrypi5' [2].
The issue can be reproduced with the commands:
cat <<EOF >.config
BR2_aarch64=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
BR2_PACKAGE_V4L2LOOPBACK=y
BR2_PACKAGE_V4L2LOOPBACK_UTILS=y
EOF
make olddefconfig
make v4l2loopback
Note: upstream commit [1] was introduced in version v0.13.0.
Buildroot bumped v4l2loopback to v0.13.2 in [3].
Fixes:
/usr/bin/install: cannot stat
'.../build/v4l2loopback-0.13.2/utils/v4l2loopback-ctl':
No such file or directory
[1] https://github.com/v4l2loopback/v4l2loopback/commit/33922fa4e9965d400edcc2761e55fedf84bbb22a
[2] https://lists.busybox.net/pipermail/buildroot/2025-March/775911.html
[3] https://gitlab.com/buildroot.org/buildroot/-/commit/02540771bccf7b10c7daecce5f0e1e41a73c1e07
Signed-off-by: Peter Seiderer <ps.report at gmx.net>
[Julien:
- add commands to reproduce the issue
- add reference to buildroot commit introducing the issue
]
Signed-off-by: Julien Olivain <ju.o at free.fr>
(cherry picked from commit 5d85d23e16fdf9e6574e2a3cbdf4d27d17cd6942)
Signed-off-by: Thomas Perale <thomas.perale at mind.be>
---
package/v4l2loopback/Config.in | 4 ----
package/v4l2loopback/v4l2loopback.mk | 4 ++++
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/package/v4l2loopback/Config.in b/package/v4l2loopback/Config.in
index d8ca31e577..4bfa9a4fdd 100644
--- a/package/v4l2loopback/Config.in
+++ b/package/v4l2loopback/Config.in
@@ -14,10 +14,6 @@ if BR2_PACKAGE_V4L2LOOPBACK
config BR2_PACKAGE_V4L2LOOPBACK_UTILS
bool "utils"
- depends on BR2_USE_MMU # bash
- select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # bash
- select BR2_PACKAGE_BASH # runtime dependency
- select BR2_PACKAGE_SUDO # runtime dependency
help
Install applications to interact with v4l2-loopback devices
("virtual video devices"). Currently there is only a single
diff --git a/package/v4l2loopback/v4l2loopback.mk b/package/v4l2loopback/v4l2loopback.mk
index 0e1d20c0cc..a4ddf5e2d9 100644
--- a/package/v4l2loopback/v4l2loopback.mk
+++ b/package/v4l2loopback/v4l2loopback.mk
@@ -11,6 +11,10 @@ V4L2LOOPBACK_LICENSE_FILES = COPYING
V4L2LOOPBACK_CPE_ID_PREFIX = cpe:2.3:o
ifeq ($(BR2_PACKAGE_V4L2LOOPBACK_UTILS),y)
+define V4L2LOOPBACK_BUILD_CMDS
+ $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) utils
+endef
+
define V4L2LOOPBACK_INSTALL_TARGET_CMDS
$(INSTALL) -D -m 0755 $(@D)/utils/v4l2loopback-ctl $(TARGET_DIR)/usr/bin/v4l2loopback-ctl
endef
More information about the buildroot
mailing list