- Code: Select All Code
CC [M] /home/backend/Drivers/linux-tbs-drivers/v4l/saa7146_video.o
/home/backend/Drivers/linux-tbs-drivers/v4l/saa7146_video.c: In function 'video_init':
/home/backend/Drivers/linux-tbs-drivers/v4l/saa7146_video.c:1307:2: error: implicit declaration of function 'init_timer' [-Werror=implicit-function-declaration]
init_timer(&vv->video_q.timeout);
^
/home/backend/Drivers/linux-tbs-drivers/v4l/saa7146_video.c:1308:31: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]
vv->video_q.timeout.function = saa7146_buffer_timeout;
^
/home/backend/Drivers/linux-tbs-drivers/v4l/saa7146_video.c:1309:21: error: 'struct timer_list' has no member named 'data'
vv->video_q.timeout.data = (unsigned long)(&vv->video_q);
^
cc1: some warnings being treated as errors
scripts/Makefile.build:332: recipe for target '/home/backend/Drivers/linux-tbs-drivers/v4l/saa7146_video.o' failed
make[3]: *** [/home/backend/Drivers/linux-tbs-drivers/v4l/saa7146_video.o] Error 1
Makefile:1551: recipe for target '_module_/home/backend/Drivers/linux-tbs-drivers/v4l' failed
make[2]: *** [_module_/home/backend/Drivers/linux-tbs-drivers/v4l] Error 2
make[2]: Leaving directory '/usr/src/linux-headers-4.15.0-46-generic'
Makefile:51: recipe for target 'default' failed
make[1]: *** [default] Error 2
make[1]: Leaving directory '/home/backend/Drivers/linux-tbs-drivers/v4l'
Makefile:26: recipe for target 'all' failed
make: *** [all] Error 2
Error running make
This is obviously a different issue than the one I wrote about in my original post. As long as you are not running the HWE kernel in Ubuntu 16.04 you probably won't see this issue. I only had this kernel because I had done
sudo apt-get install --install-recommends linux-generic-hwe-16.04
in an attempt to resolve this issue, but obviously that only made things worse. So to remove it I did this:
sudo apt remove --purge linux-generic-hwe-16.04 linux-headers-generic-hwe-16.04 linux-headers-4.15.0-46 linux-headers-4.15.0-46-generic linux-image-4.15.0-46-generic linux-modules-4.15.0-46-generic linux-modules-extra-4.15.0-46-generic
sudo update-grub2
sudo reboot
CAUTION!!! DON'T DO THAT if you don't have any non-HWE kernels installed, or you will render your system unbootable (also if any time has passed since I posted this, your 4.15.* kernel files are probably a different version, and/or you may have multiple 4.15.* kernel versions). Basically don't do that if you aren't absolutely certain you know what you are doing!!! See https://askubuntu.com/questions/993551/ ... l-of-16-04 for a bit more info on this subject, and if you choose to do this anyway and bork your system you'll have my sympathy, but unfortunately I don't know enough about Linux to help dig you out of that hole.
I'm perfectly happy staying with the non-HWE (4.4.*) kernel series for now. Not sure what I am going to do in two years when support for Ubuntu 16.04 ceases but will cross that bridge when I come to it.
If you want to see what HWE kernels you have installed you can run commands like
apt list --installed | grep hwe
apt list --installed | grep 4.15.
Note especially on that last one you may also see some non-kernel-related items. Similarly you can show the non-HWE kernels using
apt list --installed | grep 4.4.
But again you will see some non-kernel-related items that also happen to have a 4.4. in their version number. If you don't see anything starting with linux-headers-, linux-image-, linux-image-extra-, etc. then you don't have any non-HWE kernels and in that case you most certainly DO NOT want to remove your HWE kernel(s) until you rectify that situation! Another way to tell is to hold down the shift key while booting and then select Advanced options for Ubuntu in the grub menu, then it should list all the kernels you can boot into and again if there are no 4.4. kernels and only 4.15 kernels then you don't have any non-HWE kernels installed, and in that case you definitely don't want to remove your HWE kernels (but note that it is unlikely but possible for grub to show old kernels that have been removed, so I'd check both ways to be absolutely certain, or select a 4.4 series kernel from the grub menu and make sure you can actually boot into it and that your system runs normally, and that running uname -a shows that you're running a 4.4 series kernel).