Closed damnms closed 4 years ago
It's just throwing some warnings, but the module is building fine, you must install it with dkms.
for me this looks like an error. make install returns non null and depmod -a returns nothing. maybe the wiki should be updated that it is required to install with dkms. because without, it just wont work. at least on my system it did not work
for me this looks like an error.
/home/oli/Downloads/akvcam-1.1.0/src/settings.c:233:5: Warnung: Der Rückgabewert von »kstrtou32«, der mit dem Attribut »warn_unused_result« deklariert wurde, wird ignoriert [-Wunused-result]
233 | kstrtou32(array_size_str, 10, (u32 *) &array_size);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Warnung == Warning && Warning != Error
make install returns non null and depmod -a returns nothing. maybe the wiki should be updated that it is required to install with dkms. because without, it just wont work. at least on my system it did not work
The wiki already explain how to install with dkms, make install
is also a valid way to install the module.
The difference between these two is that dkms takes care of recompiling and signing the module every time you update the kernel, while make install
just copy the module to /lib/modules and that is all, if you are using an unsigned kernel and you are not planning to update it, then the last option is fine.
i do not complain about the build process, i complain about the INSTALL process. And the install process does not throw warnings, it throws errors! "SSL error" not "SSL warning"
The module installs and works fine in Arch and people having the same problem as you reported that dkms was the solution, beside that I can't give you any other solution.
so you already know about the problem but still do not update the documentation? thats wierd to me. why not make a note: "if you encounter ... ssl bio error ... use dkms because otherwise it wont work on your machine" ?
Wiki updated.
I was working on building an RPM for this for Fedora Silverblue using podman, based off of the approach atomic-wireguard took when I encountered these same compilation warnings (which are being treated as errors by the default make && make install
process).
Two things that stick out to me: First - https://github.com/webcamoid/akvcam/blob/master/src/device.c#L44 There's no alternative declaration for kernels higher than 5.7, e.g: On fedora 32 silverblue I am on kernel 5.8.x leading to this:
/tmp/akvcam-1.0.1/src/device.c:113:28: error: 'VFL_TYPE_GRABBER' undeclared (first use in this function); did you mean 'VFL_TYPE_SUBDEV'?
113 | self->vdev->vfl_type = VFL_TYPE_GRABBER;
Second - https://github.com/webcamoid/akvcam/blob/master/src/utils.c#L276 The alternative is provided, but the compiler also -Werrors out:
/tmp/akvcam-1.0.1/src/buffers.c: In function 'akvcam_buffers_dequeue':
/tmp/akvcam-1.0.1/src/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 *
I don't know enough about this code to trust silencing the -Werror
wont break things for this kernel.
Thank you for your time.
@Eutropia Why are you trying to create a package for an old version (a more than a 1 year old version)? those problems were already solved long time ago. Check latest release. I will solve the warning messages later.
You must be referring to the 1.0.1
version tag in the build output. Sorry for the confusion, my build script reads that directly from: https://github.com/webcamoid/akvcam/blob/master/src/module.c#L59
I am on latest master. 4f6548e080419b5b4aa85fd2ba58f132ead0c4db
. Which problems are you referring to that have been "solved"?
@Eutropia
You must be referring to the 1.0.1 version tag in the build output. Sorry for the confusion, my build script reads that directly from: https://github.com/webcamoid/akvcam/blob/master/src/module.c#L59
Oh ok, I forgot to update the version. But if you actually reading the version from there as-is, then that is the problem, your script is downloading 1.0.1 instead of 1.1.0.
I am on latest master. 4f6548e080419b5b4aa85fd2ba58f132ead0c4db. Which problems are you referring to that have been "solved"?
Because you pointed me a line of code of an older version, so I thought you were talking about that, and those compilation error does not appears in 1.1.0 with 5.8 kernel, I still need to test with 5.9. But again the code you were compiling was wrong because your download script was downloading the wrong version, try parsing the version from here instead.
Please, try latest commit. Now, the driver can be installed as:
sudo make install USE_DKMS=1
this mill copy the sources to /usr/src/akvcam-version, and with USE_DKMS=1 will run dkms.
The issue should have been fixed for 1.1.1, closing