我正在按照这些步骤安装video 4 linux,
http://www.linuxtv.org/wiki/index.php/How_to_Obtain,_Build_and_Install_V4L-DVB_Device_Drivers
但在构建时,会出现以下错误。 Debian 8虚拟机。
...
CC [M] /media_build/v4l/saa7164-buffer.o
CC [M] /media_build/v4l/saa7164-encoder.o
/media_build/v4l/saa7164-encoder.c: In function 'saa7164_s_frequency':
/media_build/v4l/saa7164-encoder.c:392:2: error: assignment of read-only variable '__val'
port->freq = clamp(f->frequency,
^
/usr/src/linux-headers-3.16.0-4-common/scripts/Makefile.build:262: recipe for target '/media_build/v4l/saa7164-encoder.o' failed
make[5]: *** [/media_build/v4l/saa7164-encoder.o] Error 1
/usr/src/linux-headers-3.16.0-4-common/Makefile:1350: recipe for target '_module_/media_build/v4l' failed
make[4]: *** [_module_/media_build/v4l] Error 2
Makefile:181: recipe for target 'sub-make' failed
make[3]: *** [sub-make] Error 2
Makefile:8: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/usr/src/linux-headers-3.16.0-4-686-pae'
Makefile:51: recipe for target 'default' failed
make[1]: *** [default] Error 2
make[1]: Leaving directory '/media_build/v4l'
Makefile:26: recipe for target 'all' failed
make: *** [all] Error 2
build failed at ./build line 491.
root@debian:/media_build#
答案 0 :(得分:0)
检查一下,这里是the link,这是不同的内核编译日志,所以你可以安装成功的版本内核,然后清理编译字典,重新编译它。
我认为它可以解决您的问题。
在我的Ubuntu 14.04.3 x86_64情况下,我安装了内核3.18.7,这里是解决方案
$ cd /tmp
$ wget \
kernel.ubuntu.com/~kernel-ppa/mainline/v3.18.7-vivid/linux-headers-3.18.7-031807_3.18.7-031807.201502110759_all.deb \
kernel.ubuntu.com/~kernel-ppa/mainline/v3.18.7-vivid/linux-headers-3.18.7-031807-generic_3.18.7-031807.201502110759_amd64.deb \
kernel.ubuntu.com/~kernel-ppa/mainline/v3.18.7-vivid/linux-image-3.18.7- 031807-generic_3.18.7-031807.201502110759_amd64.deb
$ sudo dpkg -i linux-headers-3.18*.deb linux-image-3.18*.deb
$ sudo reboot
参考链接
答案 1 :(得分:0)
我遇到了同样的问题,我的解决方法是在 v4l / .config 文件中设置 CONFIG_VIDEO_SAA7164 = n 。在此之后,编译正确执行。
答案 2 :(得分:0)
运行make menuconfig
并导航菜单以从构建中禁用saa7164驱动程序。层次结构应该类似于DEVICE DRIVERS - >多媒体驱动程序 - > VIDEO4LINUX / DVB驱动器 - > PCI板(我不认为它是PCIe的单独子菜单)然后禁用saa7164的驱动程序。