我正在按照以下步骤安装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#发布于 2015-10-10 11:24:58
看看这个,这里是the link,这是不同的内核编译日志,所以你可以安装成功版本的内核,然后清理编译字典,重新编译它。
我想它可以解决你的问题。
在我的Ubuntu14.04.3 x86_64案例中,我安装了Kernel3.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参考链接
发布于 2015-10-10 17:08:16
我也有同样的问题,我的变通方法是在v4l/.config文件中设置CONFIG_VIDEO_SAA7164=n。在此之后,编译被正确执行。
发布于 2015-11-12 02:50:24
运行make menuconfig并导航菜单,从构建中禁用saa7164驱动程序。层次结构应该类似于DEVICE DRIVERS -> MULTIMEDIA DRIVERS -> VIDEO4LINUX / DVB driver -> PCI板(我不认为PCIe有单独的子菜单),然后禁用saa7164的驱动程序。
https://stackoverflow.com/questions/33044057
复制相似问题