You are not logged in.
[SOLVED]
As user loqs states, using git versions of these packages solves all these issues.
After kernel 5.6.2-arch1-2 upgrade, dkms hook is unable to automatically rebuild akvcam/1.0.3.r0.g931473c and v4l2loopback/0.12.3 modules.
I've tried to rebuild both via # dkms autoinstall, without success.
I've tried to manually remove them, and then build again in a clean modules tree, without success.
All the times, same error logs arises.
I haven't enough knowledge to interpret those error logs, so I don't know if these issues must be reported to https://bugs.archlinux.org/, to akvcam-dkms and v4l2loopback-dkms mainteiners, or to https://bugzilla.kernel.org .
Your help will be appreciated.
Error logs:
akvcam/1.0.3.r0.g931473c error log:
DKMS make.log for akvcam-1.0.3.r0.g931473c for kernel 5.6.2-arch1-2 (x86_64)
mar 07 abr 2020 11:43:14 -03
make -C /usr/lib/modules/5.6.2-arch1-2/build M=/var/lib/dkms/akvcam/1.0.3.r0.g931473c/build modules
make[1]: Entering directory '/usr/lib/modules/5.6.2-arch1-2/build'
CC [M] /var/lib/dkms/akvcam/1.0.3.r0.g931473c/build/module.o
CC [M] /var/lib/dkms/akvcam/1.0.3.r0.g931473c/build/attributes.o
CC [M] /var/lib/dkms/akvcam/1.0.3.r0.g931473c/build/buffer.o
CC [M] /var/lib/dkms/akvcam/1.0.3.r0.g931473c/build/buffers.o
CC [M] /var/lib/dkms/akvcam/1.0.3.r0.g931473c/build/controls.o
/var/lib/dkms/akvcam/1.0.3.r0.g931473c/build/buffers.c: In function ‘akvcam_buffers_dequeue’:
/var/lib/dkms/akvcam/1.0.3.r0.g931473c/build/buffers.c:488:30: error: passing argument 1 of ‘akvcam_get_timestamp’ from incompatible pointer type [-Werror=incompatible-pointer-types]
488 | akvcam_get_timestamp(&v4l2_buff->timestamp);
| ^~~~~~~~~~~~~~~~~~~~~
| |
| struct __kernel_v4l2_timeval *
In file included from /var/lib/dkms/akvcam/1.0.3.r0.g931473c/build/buffers.h:28,
from /var/lib/dkms/akvcam/1.0.3.r0.g931473c/build/buffers.c:28:
/var/lib/dkms/akvcam/1.0.3.r0.g931473c/build/utils.h:101:43: note: expected ‘struct timeval *’ but argument is of type ‘struct __kernel_v4l2_timeval *’
101 | void akvcam_get_timestamp(struct timeval *tv);
| ~~~~~~~~~~~~~~~~^~
/var/lib/dkms/akvcam/1.0.3.r0.g931473c/build/buffers.c: In function ‘akvcam_buffers_write_frame’:
/var/lib/dkms/akvcam/1.0.3.r0.g931473c/build/buffers.c:729:34: error: passing argument 1 of ‘akvcam_get_timestamp’ from incompatible pointer type [-Werror=incompatible-pointer-types]
729 | akvcam_get_timestamp(&v4l2_buff->timestamp);
| ^~~~~~~~~~~~~~~~~~~~~
| |
| struct __kernel_v4l2_timeval *
In file included from /var/lib/dkms/akvcam/1.0.3.r0.g931473c/build/buffers.h:28,
from /var/lib/dkms/akvcam/1.0.3.r0.g931473c/build/buffers.c:28:
/var/lib/dkms/akvcam/1.0.3.r0.g931473c/build/utils.h:101:43: note: expected ‘struct timeval *’ but argument is of type ‘struct __kernel_v4l2_timeval *’
101 | void akvcam_get_timestamp(struct timeval *tv);
| ~~~~~~~~~~~~~~~~^~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:268: /var/lib/dkms/akvcam/1.0.3.r0.g931473c/build/buffers.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [Makefile:1683: /var/lib/dkms/akvcam/1.0.3.r0.g931473c/build] Error 2
make[1]: Leaving directory '/usr/lib/modules/5.6.2-arch1-2/build'
make: *** [Makefile:42: all] Error 2
1.0.3.r0.g931473c-1_error.log: No such file or directoryv4l2loopback/0.12.3 error log:
DKMS make.log for v4l2loopback-0.12.3 for kernel 5.6.2-arch1-2 (x86_64)
mar 07 abr 2020 11:43:33 -03
Building v4l2-loopback driver...
make -C /usr/lib/modules/5.6.2-arch1-2/build M=/var/lib/dkms/v4l2loopback/0.12.3/build modules
make[1]: Entering directory '/usr/lib/modules/5.6.2-arch1-2/build'
CC [M] /var/lib/dkms/v4l2loopback/0.12.3/build/v4l2loopback.o
/var/lib/dkms/v4l2loopback/0.12.3/build/v4l2loopback.c:137:47: warning: ‘struct timeval’ declared inside parameter list will not be visible outside of this definition or declaration
137 | static inline void v4l2l_get_timestamp(struct timeval *tv) {
| ^~~~~~~
/var/lib/dkms/v4l2loopback/0.12.3/build/v4l2loopback.c: In function ‘v4l2l_get_timestamp’:
/var/lib/dkms/v4l2loopback/0.12.3/build/v4l2loopback.c:147:4: error: dereferencing pointer to incomplete type ‘struct timeval’
147 | tv->tv_sec = (time_t)ts.tv_sec;
| ^~
/var/lib/dkms/v4l2loopback/0.12.3/build/v4l2loopback.c:147:16: error: ‘time_t’ undeclared (first use in this function); did you mean ‘ktime_t’?
147 | tv->tv_sec = (time_t)ts.tv_sec;
| ^~~~~~
| ktime_t
/var/lib/dkms/v4l2loopback/0.12.3/build/v4l2loopback.c:147:16: note: each undeclared identifier is reported only once for each function it appears in
/var/lib/dkms/v4l2loopback/0.12.3/build/v4l2loopback.c:147:23: error: expected ‘;’ before ‘ts’
147 | tv->tv_sec = (time_t)ts.tv_sec;
| ^~
| ;
/var/lib/dkms/v4l2loopback/0.12.3/build/v4l2loopback.c: In function ‘vidioc_qbuf’:
/var/lib/dkms/v4l2loopback/0.12.3/build/v4l2loopback.c:1523:24: error: passing argument 1 of ‘v4l2l_get_timestamp’ from incompatible pointer type [-Werror=incompatible-pointer-types]
1523 | v4l2l_get_timestamp(&b->buffer.timestamp);
| ^~~~~~~~~~~~~~~~~~~~
| |
| struct __kernel_v4l2_timeval *
/var/lib/dkms/v4l2loopback/0.12.3/build/v4l2loopback.c:137:56: note: expected ‘struct timeval *’ but argument is of type ‘struct __kernel_v4l2_timeval *’
137 | static inline void v4l2l_get_timestamp(struct timeval *tv) {
| ~~~~~~~~~~~~~~~~^~
/var/lib/dkms/v4l2loopback/0.12.3/build/v4l2loopback.c: In function ‘v4l2_loopback_write’:
/var/lib/dkms/v4l2loopback/0.12.3/build/v4l2loopback.c:1950:22: error: passing argument 1 of ‘v4l2l_get_timestamp’ from incompatible pointer type [-Werror=incompatible-pointer-types]
1950 | v4l2l_get_timestamp(&b->timestamp);
| ^~~~~~~~~~~~~
| |
| struct __kernel_v4l2_timeval *
/var/lib/dkms/v4l2loopback/0.12.3/build/v4l2loopback.c:137:56: note: expected ‘struct timeval *’ but argument is of type ‘struct __kernel_v4l2_timeval *’
137 | static inline void v4l2l_get_timestamp(struct timeval *tv) {
| ~~~~~~~~~~~~~~~~^~
/var/lib/dkms/v4l2loopback/0.12.3/build/v4l2loopback.c: In function ‘init_buffers’:
/var/lib/dkms/v4l2loopback/0.12.3/build/v4l2loopback.c:2055:23: error: passing argument 1 of ‘v4l2l_get_timestamp’ from incompatible pointer type [-Werror=incompatible-pointer-types]
2055 | v4l2l_get_timestamp(&b->timestamp);
| ^~~~~~~~~~~~~
| |
| struct __kernel_v4l2_timeval *
/var/lib/dkms/v4l2loopback/0.12.3/build/v4l2loopback.c:137:56: note: expected ‘struct timeval *’ but argument is of type ‘struct __kernel_v4l2_timeval *’
137 | static inline void v4l2l_get_timestamp(struct timeval *tv) {
| ~~~~~~~~~~~~~~~~^~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:268: /var/lib/dkms/v4l2loopback/0.12.3/build/v4l2loopback.o] Error 1
make[1]: *** [Makefile:1683: /var/lib/dkms/v4l2loopback/0.12.3/build] Error 2
make[1]: Leaving directory '/usr/lib/modules/5.6.2-arch1-2/build'
make: *** [Makefile:43: v4l2loopback.ko] Error 2Last edited by DanielH (2020-04-08 19:29:29)
Offline
When a DKMS module from an AUR fails package I would suggest always checking that packages page in AUR. The git version of the packages already contain the fix.
https://github.com/webcamoid/akvcam/com … 1659a6c834
https://github.com/webcamoid/akvcam/issues/13 note https://github.com/webcamoid/akvcam/iss … -610497922 is not relevant linux-api-headers is not connected to kernel module building.
https://aur.archlinux.org/packages/v4l2loopback-dkms/
https://github.com/umlaeute/v4l2loopbac … 921d2d6ebe
Offline
@loqs:
Thanks you, very much!
Offline