v4l2 build error on Debian 8 - linux

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#

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
How to install Kernel 3.18.7 on 64 bit Ubuntu 14.10, Ubuntu 14.04 and derivative systems:

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.

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.

Related

Kernel module on cross-compile kernel: /bin/sh: 1: scripts/basic/fixdep: Exec format error

I'm doing some experiment on rpi4, and trying to reproduce this kernel module from github https://github.com/sysprog21/dont-trace on my rpi4. I encounter this problem:
make -C /lib/modules/`uname -r`/build M=/home/ubuntu/dont-trace modules
make[1]: Entering directory '/usr/src/linux-headers-5.15.65-rt49-preemptrt-full-raspi'
warning: the compiler differs from the one used to build the kernel
The kernel was built by: aarch64-linux-gnu-gcc (Debian 10.2.1-6) 10.2.1 20210110
You are using: gcc (Ubuntu 11.2.0-19ubuntu1) 11.2.0
CC [M] /home/ubuntu/dont-trace/dont_trace.o
/bin/sh: 1: scripts/basic/fixdep: Exec format error
make[2]: *** [scripts/Makefile.build:289: /home/ubuntu/dont-trace/dont_trace.o] Error 126
make[2]: *** Deleting file '/home/ubuntu/dont-trace/dont_trace.o'
make[1]: *** [Makefile:1896: /home/ubuntu/dont-trace] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.15.65-rt49-preemptrt-full-raspi'
make: *** [Makefile:7: all] Error 2
The kernel here is cross-compiled from x86 server and do show above. I was wondering how to solve this problem & what's the root cause. I can make it on x86 server. It should be something fundamental knowledge I don't understand. Thks!
it seems work this time
My solution might be a bit workaround, but it works. I follow the clues /bin/sh: 1: scripts/basic/fixdep: Exec format error. So I copy the source code to local raspberry pi, and make modules_prepare to construct complete /scripts, then move it into /lib/modules/`uname -r\`/build. It remain the gcc version warning, but work properly.

While building kernel image i am getting this error while doing make -j4 (Using ubuntu)

lib/mpi/generic_mpih-lshift.o:/home/shubh/Root/XENO_WS/linux-3.8.13/lib/mpi/mpi-inline.h:110: first defined here
scripts/Makefile.build:443: recipe for target 'lib/mpi/mpi.o' failed
make[2]: *** [lib/mpi/mpi.o] Error 1
scripts/Makefile.build:454: recipe for target 'lib/mpi' failed
make[1]: *** [lib/mpi] Error 2
Makefile:791: recipe for target 'lib' failed
make: *** [lib] Error 2
make: *** Waiting for unfinished jobs....
How can I resolve this? When I am doing same steps in OpenSUSE it is not giving any error. I followed these steps:
make mrproper
make oldconfig
make -j4
then I get the error in between this.
So you use gcc of version 5, which is incompatible with Linux kernel version you want to compile. – Tsyvarev
It is resolve now. I build the kernel with lower version of gcc. – sam1006

error encountered installing mono and monodevelop on centos 6

I have been following sintructions for installing mono and monodevelop
on centos 6 found in this web page :
Install Mono and Monodevelop on CentOS 5.x/6.x
I have stalled on one of the steps explained below
yum install pango-devel atk-devel libgnome-devel libgnomecanvas-devel libgnomeui-devel git svn libtool
cd /usr/src
git clone git://github.com/mono/gnome-sharp
cd gnome-sharp
./bootstrap-2.24 --prefix=/usr
make && make install
When I run the make command in gnome-sharp I get this error :-
make all-recursive
make[1]: Entering directory `/usr/src/gnome-sharp'
Making all in sources
make[2]: Entering directory `/usr/src/gnome-sharp/sources'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/usr/src/gnome-sharp/sources'
Making all in art
make[2]: Entering directory `/usr/src/gnome-sharp/art'
/usr/bin/mcs -debug -define:GTK_SHARP_2_6 -define:GTK_SHARP_2_8 -define:GNOME_SHARP_2_16 -define:GNOME_SHARP_2_20 -define:GNOME_SHARP_2_24 -nowarn:0169,0612,0618 -unsafe -out:art-sharp.dll -target:library /usr/lib -r:Mono.Cairo generated/*.cs AssemblyInfo.cs
error CS2001: Source file `/usr/lib' could not be found
Compilation failed: 1 error(s), 0 warnings
make[2]: *** [art-sharp.dll] Error 1
make[2]: Leaving directory `/usr/src/gnome-sharp/art'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/gnome-sharp'
make: *** [all] Error 2
It looks as if the Makefile process is broken at least to me. Any help gratefully received.
-roddy
You don't need to install Mono from source anymore, there are now official packages: http://www.mono-project.com/docs/getting-started/install/linux/#centos-fedora-and-derivatives

Debian install TP-LINK TL-WN723N Wireless usb

i'm downloading rtl8188eu-master file from github for install this driver on debian. after extract it and run make command in get this error.
make ARCH=i386 CROSS_COMPILE= -C /lib/modules/3.11-2-486/build M=/home/tux-world/Desktop/Home/rtl8188eu-master modules
make[1]: Entering directory `/usr/src/linux-headers-3.11-2-486'
CC [M] /home/tux-world/Desktop/Home/rtl8188eu-master/core/rtw_cmd.o
In file included from /home/tux-world/Desktop/Home/rtl8188eu-master/core/rtw_cmd.c:23:0:
/home/tux-world/Desktop/Home/rtl8188eu-master/include/osdep_service.h: In function ‘thread_enter’:
/home/tux-world/Desktop/Home/rtl8188eu-master/include/osdep_service.h:1406:2: error: implicit declaration of function ‘daemonize’ [-Werror=implicit-function-declaration]
daemonize("%s", name);
^
cc1: some warnings being treated as errors
make[4]: *** [/home/tux-world/Desktop/Home/rtl8188eu-master/core/rtw_cmd.o] Error 1
make[3]: *** [_module_/home/tux-world/Desktop/Home/rtl8188eu-master] Error 2
make[2]: *** [sub-make] Error 2
make[1]: *** [all] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.11-2-486'
make: *** [modules] Error 2
linux-headers-3.11-2-486 and build-essential packages are installed and i do not have problem for those.
Although this has little to do with programming, I will answer this in case somebody comes here with a similar issue.
I had no trouble compiling the driver with these commands (make sure you have the headers installed):
wget https://codeload.github.com/lwfinger/rtl8188eu/zip/master
unzip master
cd rtl8188eu-master
sudo make
sudo make install

make[1]: arm-linux-gcc: Command not found in ubuntu [duplicate]

This question already has answers here:
Closed 10 years ago.
Possible Duplicate:
what is arm-linux-gcc and how to install this in ubuntu
While I'm trying this command
$ make ARCH=arm devkit8000 defconfig
I get this error:
make[1]: arm-linux-gcc: Command not found
make[1]: arm-linux-gcc: Command not found
scripts/kconfig/conf -s arch/arm/Kconfig
***
*** You have not yet configured your kernel!
*** (missing kernel .config file)
***
*** Please run some configurator (e.g. "make oldconfig" or
*** "make menuconfig" or "make xconfig").
***
make[3]: *** [silentoldconfig] Error 1
make[2]: *** [silentoldconfig] Error 2
make[1]: *** No rule to make target `devkit8000'. Stop.
make: *** [devkit8000] Error 2
How can i solve this error?
Do you have ARM toolchain installed? If there is no such package in Ubuntu you can download it from the internet and add it to your $PATH.
Take a look at what is arm-linux-gcc and how to install this in ubuntu
EDIT:
It might be, that your makefile is looking for different filenames, than you have.
Try locating arm-linux-gnueabi-gcc file. Go to that directory and you may create links for each file with arm-linux-gnueabi- prefix.
Try after sudo su:
ln -s arm-linux-gnueabi-gcc arm-linux-gcc
ln -s arm-linux-gnueabi-cc arm-linux-cc
etc.
Might help, but I do not guarantee. Usually works ;-)

Resources