Hi folks,
For the last few days I've been trying to compile vdr-1.7.7 on my debian system, and have failed miserably. Googled, ramaged through forums and i'm possibly too dumb to understand what i'm doing wrong (high probability :()
I have tried to follow steps as outlined on several forums (ubuntu, dvbn) but the compile fails at last stage of vdr make. Here is an example:
silicon:/home/src/vdr/vdr# make g++ -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -c -DUSE_CMDRECCMDI18N -DUSE_CMDSUBMENU -DUSE_CUTTIME -DUSE_DDEPGENTRY -DUSE_DOLBYINREC -DUSE_LIEMIEXT -DUSE_PLUGINMISSING -DUSE_SETTIME -DUSE_STREAMDEVEXT -DUSE_WAREAGLEICON -DUSE_YAEPG -DREMOTE_KBD -DLIRC_DEVICE="/dev/lircd" -DRCU_DEVICE="/dev/ttyS1" -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DVIDEODIR="/video" -DCONFDIR="/video" -DPLUGINDIR="./PLUGINS/lib" -DLOCDIR="./locale" -DUSE_PLUGINAPI -I/usr/include/freetype2 -I/home/src/s2-liplianin/linux/include vdr.c In file included from dvbdevice.h:13, from vdr.c:45: /home/src/s2-liplianin/linux/include/linux/dvb/frontend.h:92: error: '__u8' does not name a type /home/src/s2-liplianin/linux/include/linux/dvb/frontend.h:93: error: '__u8' does not name a type /home/src/s2-liplianin/linux/include/linux/dvb/frontend.h:98: error: '__u8' does not name a type /home/src/s2-liplianin/linux/include/linux/dvb/frontend.h:99: error: '__u8' does not name a type /home/src/s2-liplianin/linux/include/linux/dvb/frontend.h:361: error: '__u8' does not name a type make: *** [vdr.o] Error 1
silicon:/home/src/vdr/vdr# gcc -v Using built-in specs. Target: i486-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Debian 4.3.3-10' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --enable-multiarch --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-targets=all --with-tune=generic --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu Thread model: posix gcc version 4.3.3 (Debian 4.3.3-10) silicon:/home/src/vdr/vdr# uname -a Linux silicon 2.6.26-2-686 #1 SMP Thu Mar 26 01:08:11 UTC 2009 i686 GNU/Linux silicon:/home/src/vdr/vdr#
From reading some threads on the googles it suggests some problems with the kernel headers, but I'm afraid this is beyond my meager skills.
Could someone please put me out of my misery and suggest where I am going wrong?
Much thanks for any help on this in advance,
-michal
bioh wrote:
For the last few days I've been trying to compile vdr-1.7.7 on my debian system,
You might want to give the already packaged version of VDR 1.7.7 a try:
http://e-tobi.net/vdrdevel-experimental/pool-lenny/source/vdr-standard/vdr_1... http://e-tobi.net/vdrdevel-experimental/pool-lenny/source/vdr-standard/vdr_1... http://e-tobi.net/vdrdevel-experimental/pool-lenny/source/vdr-standard/vdr_1...
It compiles with linux-libc-dev from Kernel 2.6.29 or later and it can also make use of the DVB drivers from Igor Liplianins repository (with some patches from Oliver Endriss):
http://e-tobi.net/vdr-experimental/pool-lenny/source/base/dvb-s2api-lipliani... http://e-tobi.net/vdr-experimental/pool-lenny/source/base/dvb-s2api-lipliani... http://e-tobi.net/vdr-experimental/pool-lenny/source/base/dvb-s2api-lipliani...
... which will gracefully replace the Kernels DVB/V4L driver (and restore them when uninstalled).
Tobias
You might want to give the already packaged version of VDR 1.7.7 a try:
In general: To compile VDR 1.7.7 with kernel/linux-libc-dev 2.6.29 from Debiab/Sid and/or s2-liplianin use this patch as a workaround for kernel include issues:
http://e-tobi.net/websvn/filedetails.php?repname=vdr-pkg&path=%2Fvdr%2Fb...
Tobias
You might want to give the already packaged version of VDR 1.7.7 a try:
In general: To compile VDR 1.7.7 with kernel/linux-libc-dev 2.6.29 from Debiab/Sid and/or s2-liplianin use this patch as a workaround for kernel include issues:
http://e-tobi.net/websvn/filedetails.php?repname=vdr-pkg&path=%2Fvdr%2Fb...
Tobias
thank you kindly, that worked perfectly.
Or you may also just do this:
--- vdr.c.orig 2009-04-12 11:05:51.000000000 -0700 +++ vdr.c 2009-04-12 11:07:08.000000000 -0700 @@ -32,6 +32,7 @@ #include <pwd.h> #include <signal.h> #include <stdlib.h> +#include <linux/types.h> #include <sys/capability.h> #include <sys/prctl.h> #include <termios.h>
On 28.05.2009 16:49, VDR User wrote:
Or you may also just do this:
--- vdr.c.orig 2009-04-12 11:05:51.000000000 -0700 +++ vdr.c 2009-04-12 11:07:08.000000000 -0700 @@ -32,6 +32,7 @@ #include <pwd.h> #include <signal.h> #include <stdlib.h> +#include <linux/types.h> #include <sys/capability.h> #include <sys/prctl.h> #include <termios.h>
I don't see how this would make any difference, since the problem is in compiling dvbdevice.c, not vdr.c
From the suggestion in
http://e-tobi.net/websvn/filedetails.php?repname=vdr-pkg&path=%2Fvdr%2Fb...
posted earlier in this thread I found that this
--- dvbdevice.h 2009/05/08 13:33:46 2.5 +++ dvbdevice.h 2009/06/01 11:20:32 @@ -10,6 +10,7 @@ #ifndef __DVBDEVICE_H #define __DVBDEVICE_H
+#include <sys/mman.h> // FIXME: workaround for broken linux-dvb header files #include <linux/dvb/frontend.h> #include <linux/dvb/version.h> #include "device.h"
alone fixes the problem (tested with the latest driver from http://linuxtv.org/hg/v4l-dvb).
Klaus
On Mon, 2009-06-01 at 13:38 +0200, Klaus Schmidinger wrote: ...
posted earlier in this thread I found that this
--- dvbdevice.h 2009/05/08 13:33:46 2.5 +++ dvbdevice.h 2009/06/01 11:20:32 @@ -10,6 +10,7 @@ #ifndef __DVBDEVICE_H #define __DVBDEVICE_H
+#include <sys/mman.h> // FIXME: workaround for broken linux-dvb header files #include <linux/dvb/frontend.h> #include <linux/dvb/version.h> #include "device.h"
alone fixes the problem (tested with the latest driver from http://linuxtv.org/hg/v4l-dvb).
No, it does not. At least not here (SuSE 11.1, 64-bit, vdr 1.7.8, v4l-dvb-af3d28c7ef19).
I am getting
g++ -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -c -DREMOTE_KBD -DLIRC_DEVICE="/dev/lircd" -DRCU_DEVICE="/dev/ttyS1" -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DVIDEODIR="/video" -DCONFDIR="/home/cko/vdrconfig" -DPLUGINDIR="./PLUGINS/lib" -DLOCDIR="./locale" -I/usr/include/freetype2 -I/usr/src/v4l-dvb-af3d28c7ef19/linux/include vdr.c In file included from dvbdevice.h:14, from vdr.c:45: /usr/src/v4l-dvb-af3d28c7ef19/linux/include/linux/dvb/frontend.h:92: error: '__u8' does not name a type /usr/src/v4l-dvb-af3d28c7ef19/linux/include/linux/dvb/frontend.h:93: error: '__u8' does not name a type /usr/src/v4l-dvb-af3d28c7ef19/linux/include/linux/dvb/frontend.h:98: error: '__u8' does not name a type /usr/src/v4l-dvb-af3d28c7ef19/linux/include/linux/dvb/frontend.h:99: error: '__u8' does not name a type /usr/src/v4l-dvb-af3d28c7ef19/linux/include/linux/dvb/frontend.h:361: error: '__u8' does not name a type make: *** [vdr.o] Error 1 cko/vdr-1.7.8>
I worked around it by inserting a
typedef unsigned char __u8;
after the
#include <sys/mman.h> // FIXME: workaround for broken linux-dvb header files
in dvbdevice.h.
With that, vdr compiles without errors.
Carsten.