0

I am installing video 4 linux following these steps,

http://www.linuxtv.org/wiki/index.php/How_to_Obtain,_Build_and_Install_V4L-DVB_Device_Drivers

but when build, following error appears. Debian 8 virtual machine.

...
    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#
Jaume
  • 3,672
  • 19
  • 60
  • 119

3 Answers3

0

Check this out, here is the link, this is the different kernel compile log, so you can install the successful version kernel, then clean the compile dictionary, re-compile it.

I think it can solve your problem.

In my Ubuntu 14.04.3 x86_64 case, I install Kernel 3.18.7, here is the solution

 $ 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

Reference Links

Marvin
  • 1
  • Sorry i don't got enough reputation to paste all reference links, there is all of them [How to install Kernel 3.18.7 on 32 bit Ubuntu 14.10, Ubuntu 14.04 and derivative systems](http://linuxg.net/how-to-install-kernel-3-18-7-on-ubuntu-14-10-ubuntu-14-04-and-derivative-systems/), [v4l-dvbインストール失敗。elementaryos-unstable-amd64.20140810](http://fedoranize.seesaa.net/article/427144884.html), [Monday.log](http://hverkuil.home.xs4all.nl/logs/Monday.log) – Marvin Oct 10 '15 at 03:27
0

I had the same problem, my workaround was that I set CONFIG_VIDEO_SAA7164=n in v4l/.config file. After this the compilation was executed correctly.

codwell
  • 739
  • 5
  • 10
  • I modify it from terminal, root@debian:/media_build/v4l# sudo gedit .config, and modify suggested line and save. I build it again and crashes, but when open .config, parameter is set again to =m! So seems that don't take care of edit. – Jaume Oct 10 '15 at 23:58
  • Ah, OK! I misinterpreted your answer... Please don't run ./build, but make instead. Maybe you have to cd to v4l directory. – codwell Oct 16 '15 at 11:54
0

run make menuconfig and navigate the menus to disable the saa7164 driver from the build. The hierarchy should be something like DEVICE DRIVERS -> MULTIMEDIA DRIVERS -> VIDEO4LINUX / DVB DRIVERS -> PCI boards (I don't think theres a separate submenu for PCIe) and then disable the driver for the saa7164.

mkrufky
  • 3,268
  • 2
  • 17
  • 37