For a very long time (read multiple years), v4l1 (video for linux 1) has been marked as ‘deprecated’ in the kernel. It’s been up to various package maintainers to remove their package’s requirement for v4l1 and switch to v4l2 or whatever else they need to do to eliminate their respective need for v4l1.
The kernel folk have apparently decided with ‘linux-headers-2.6.38’ to finally remove v4l1 support. You can see this when a package fails with a message based on ‘videodev.h’ being missing like:
代码: |
In file included from page_bttv.h:30:0, from kino_common.cc:54: v4l.h:43:28: fatal error: linux/videodev.h: No such file or directory compilation terminated. |
This example is from ‘kino’. I’ve also personally seen this with ‘mjpegtools’, and ‘lives’. You can find more problematic packages at Gentoo bug# 359595.
The fix is apparently very simple in most cases. Unfortunately, many of the various upstream package maintainers have yet to implement it for their respective packages.
At the present time, you can manually mask ‘linux-headers-2.6.38’:
代码: |
# echo “=sys-kernel/linux-headers-2.6.38” >> /etc/portage/package.mask |
Moderators: you can trash this post if you want and even tell me I’m a complete ij10t. But, for example, I’m pretty sure that all packages which depend on ‘mjpegtools’ will also encounter this breakage. On my system, this includes:
代码: |
media-plugins/kipi-plugins-1.9.0 (mjpeg ? media-video/mjpegtools) media-video/2mandvd-1.4 (media-video/mjpegtools) media-video/cinelerra-20101104 (media-video/mjpegtools) media-video/kino-1.3.3 (media-video/mjpegtools) media-video/lives-1.3.3 (>=media-video/mjpegtools-1.6.2) media-video/ripmake-1.39 (>=media-video/mjpegtools-1.6.0-r7) media-video/transcode-1.1.5-r2 (mjpeg ? media-video/mjpegtools) media-video/videotrans-1.6.0 (media-video/mjpegtools) |
This is how I found out ‘lives’ and ‘kino’ had the same problem.
I also know from other forum threads tha ‘udev’ experienced the same breakage.
It might be of some benefit to make this post sticky.
BTW – for anyone who wants to be annoyed with the Gentoo devs over this, don’t be. It really was a decision based with the kernel people after letting everyone know that v4l1 was deprecated and was doing away someday.