VDR developer version 1.7.9 is now available at
ftp://ftp.cadsoft.de/vdr/Developer/vdr-1.7.9.tar.bz2
A 'diff' against the previous version is available at
ftp://ftp.cadsoft.de/vdr/Developer/vdr-1.7.8-1.7.9.diff
WARNING: ========
This is a *developer* version. Even though *I* use it in my productive environment. I strongly recommend that you only use it under controlled conditions and for testing and debugging.
The changes since version 1.7.8:
- Fixed storing the current OSD size in case the device has changed it in its setup menu (reported by Reinhard Nissl). - Fixed cDevice::PlayTsVideo() and cDevice::PlayTsAudio() in case only part of the buffer has been accepted by the device (reported by Udo Richter). - Changed the EIT filter setup to save a few handles on devices that do hardware filtering. - Fixed deleting expired timers if they have the VPS flag set, but the event they are assigned to doesn't have a VPS tag. - Fixed handling file name length on VFAT systems in case they contain UTF-8 characters (thanks to Rolf Ahrenberg). - Fixed generating CaPmts in case audio and video are encrypted using different ECM pids. - Updated vdr.1 to use the new file names in recording directories. - Fixed cRecordings::DelByName() to avoid compilation errors with gcc 4.4 (thanks to Matthias Schwarzott). - Increased the value of MAXFRAMESIZE to better suit HD recordings (thanks to Reinhard Nissl). - Implemented full handling of subtitling descriptors (thanks to Mikko Tuumanen).
Have fun!
Klaus
Hi
I can't compile vdr 179
arvdr:/usr/src/vdr# LANG=C make g++ -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -c -DREMOTE_KBD -DLIRC_DEVICE="/dev/lircd" -DRCU_DEVICE="/dev/ttyS0" -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DVIDEODIR="/video" -DCONFDIR="/etc/vdr" -DPLUGINDIR="./PLUGINS/lib" -DLOCDIR="./locale" -I/usr/include/freetype2 -I../s2-liplianin/linux/include vdr.c In file included from dvbdevice.h:14, from vdr.c:45: ../s2-liplianin/linux/include/linux/dvb/frontend.h:92: error: '__u8' does not name a type ../s2-liplianin/linux/include/linux/dvb/frontend.h:93: error: '__u8' does not name a type ../s2-liplianin/linux/include/linux/dvb/frontend.h:98: error: '__u8' does not name a type ../s2-liplianin/linux/include/linux/dvb/frontend.h:99: error: '__u8' does not name a type ../s2-liplianin/linux/include/linux/dvb/frontend.h:361: error: '__u8' does not name a type make: *** [vdr.o] Error 1
frontend.h │ 11035│Jun 6 01:12 │
Goga777 wrote:
Hi
I can't compile vdr 179
arvdr:/usr/src/vdr# LANG=C make g++ -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -c -DREMOTE_KBD -DLIRC_DEVICE="/dev/lircd" -DRCU_DEVICE="/dev/ttyS0" -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DVIDEODIR="/video" -DCONFDIR="/etc/vdr" -DPLUGINDIR="./PLUGINS/lib" -DLOCDIR="./locale" -I/usr/include/freetype2 -I../s2-liplianin/linux/include vdr.c In file included from dvbdevice.h:14, from vdr.c:45: ../s2-liplianin/linux/include/linux/dvb/frontend.h:92: error: '__u8' does not name a type ../s2-liplianin/linux/include/linux/dvb/frontend.h:93: error: '__u8' does not name a type ../s2-liplianin/linux/include/linux/dvb/frontend.h:98: error: '__u8' does not name a type ../s2-liplianin/linux/include/linux/dvb/frontend.h:99: error: '__u8' does not name a type ../s2-liplianin/linux/include/linux/dvb/frontend.h:361: error: '__u8' does not name a type make: *** [vdr.o] Error 1
Your headers seem broken. What should happen (i.e. in upstream kernel git) is:
linux/dvb/frontend.h has: #include <linux/types.h>
linux/types.h has: #include <asm/types.h>
asm/types.h has: #include <asm-generic/int-ll64.h>
asm-generic/int-ll64.h has: typedef unsigned char __u8;
Maybe one of these includes in these files is missing?
Your headers seem broken. What should happen (i.e. in upstream kernel git) is:
let's have a look on my headers (debian sid kernel 2.6.30 s2-liplianin dvb)
linux/dvb/frontend.h has: #include <linux/types.h>
I have it
#ifndef _DVBFRONTEND_H_ #define _DVBFRONTEND_H_
#include <linux/types.h>
linux/types.h has: #include <asm/types.h>
my /usr/include/linux/types.h has it too
#include <linux/posix_types.h> #include <asm/types.h>
asm/types.h has: #include <asm-generic/int-ll64.h>
my /usr/include/asm/types.h has it too
#ifndef _ASM_X86_TYPES_H #define _ASM_X86_TYPES_H
#include <asm-generic/int-ll64.h>
asm-generic/int-ll64.h has: typedef unsigned char __u8;
no problem with asm-generic/int-ll64.h too
* asm-generic/int-ll64.h * * Integer declarations for architectures which use "long long" * for 64-bit types. */
#ifndef _ASM_GENERIC_INT_LL64_H #define _ASM_GENERIC_INT_LL64_H
#ifndef __ASSEMBLY__ /* * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the * header files exported to user space */
typedef __signed__ char __s8; typedef unsigned char __u8;
typedef __signed__ short __s16; typedef unsigned short __u16;
typedef __signed__ int __s32; typedef unsigned int __u32;
Maybe one of these includes in these files is missing?
as you can see - no, everything is ok
I could compile vdr 179 after of adding in dvbdevice.h string like
typedef unsigned char __u8;
Goga
On Sonntag, 23. August 2009, Goga777 wrote:
Your headers seem broken. What should happen (i.e. in upstream kernel git) is:
let's have a look on my headers (debian sid kernel 2.6.30 s2-liplianin dvb)
Did you look in /usr/include/linux/dvb/... or in /usr/src/linux/... ? For compiling userspace stuff (which vdr for sure is), the versions in /usr/include are used.
Regards Matthias
Your headers seem broken. What should happen (i.e. in upstream kernel git) is:
let's have a look on my headers (debian sid kernel 2.6.30 s2-liplianin dvb)
Did you look in /usr/include/linux/dvb/... or in /usr/src/linux/... ?
/usr/src/s2-liplianin/linux
For compiling userspace stuff (which vdr for sure is), the versions in /usr/include are used.
not so necessary
it's possible to change this behaviour
--> edit --> Make.config --> DVBDIR = /usr/src/s2-liplianin/linux
Goga
Goga777 wrote:
Your headers seem broken. What should happen (i.e. in upstream kernel git) is:
let's have a look on my headers (debian sid kernel 2.6.30 s2-liplianin dvb)
Did you look in /usr/include/linux/dvb/... or in /usr/src/linux/... ?
/usr/src/s2-liplianin/linux
For compiling userspace stuff (which vdr for sure is), the versions in /usr/include are used.
not so necessary
it's possible to change this behaviour
--> edit --> Make.config --> DVBDIR = /usr/src/s2-liplianin/linux
Run this: g++ -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -E -DREMOTE_KBD -DLIRC_DEVICE="/dev/lircd" -DRCU_DEVICE="/dev/ttyS0" -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DVIDEODIR="/video" -DCONFDIR="/etc/vdr" -DPLUGINDIR="./PLUGINS/lib" -DLOCDIR="./locale" -I/usr/include/freetype2 -I../s2-liplianin/linux/include -o vdr.processed.c vdr.c
vdr.processed.c should contain the preprocessed C++ source code. Please attach it (provided it is not too large) or upload somewhere.
Run this: g++ -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -E -DREMOTE_KBD -DLIRC_DEVICE="/dev/lircd" -DRCU_DEVICE="/dev/ttyS0" -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DVIDEODIR="/video" -DCONFDIR="/etc/vdr" -DPLUGINDIR="./PLUGINS/lib" -DLOCDIR="./locale" -I/usr/include/freetype2 -I../s2-liplianin/linux/include -o vdr.processed.c vdr.c
vdr.processed.c should contain the preprocessed C++ source code. Please attach it (provided it is not too large) or upload somewhere.
vdr.processed.c.bz2 http://slil.ru/27922128
Goga777 wrote:
Run this: g++ -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -E -DREMOTE_KBD -DLIRC_DEVICE="/dev/lircd" -DRCU_DEVICE="/dev/ttyS0" -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DVIDEODIR="/video" -DCONFDIR="/etc/vdr" -DPLUGINDIR="./PLUGINS/lib" -DLOCDIR="./locale" -I/usr/include/freetype2 -I../s2-liplianin/linux/include -o vdr.processed.c vdr.c
vdr.processed.c should contain the preprocessed C++ source code. Please attach it (provided it is not too large) or upload somewhere.
vdr.processed.c.bz2 http://slil.ru/27922128
Which distribution and version are you using?
And package name where /usr/include/linux/types.h and related files would also help: rpm -qf /usr/include/linux/types.h (on rpm systems) dpkg -S /usr/include/linux/types.h (on deb systems, I think)
Which distribution and version are you using?
debian sid kernel 2.6.30
And package name where /usr/include/linux/types.h and related files would also help: rpm -qf /usr/include/linux/types.h (on rpm systems) dpkg -S /usr/include/linux/types.h (on deb systems, I think)
arvdr:/usr/src/vdr-1.7.9# dpkg -S /usr/include/linux/types.h linux-libc-dev: /usr/include/linux/types.h
Goga
Goga777 wrote:
Which distribution and version are you using?
debian sid kernel 2.6.30
And package name where /usr/include/linux/types.h and related files would also help: rpm -qf /usr/include/linux/types.h (on rpm systems) dpkg -S /usr/include/linux/types.h (on deb systems, I think)
arvdr:/usr/src/vdr-1.7.9# dpkg -S /usr/include/linux/types.h linux-libc-dev: /usr/include/linux/types.h
Thank you. The bug is in libcap header file /usr/include/sys/capability.h
It does evil stuff like this:
25 /* 26 * Make sure we can be included from userland by preventing 27 * capability.h from including other kernel headers 28 */ 29 #define _LINUX_TYPES_H 30 #define _LINUX_FS_H 31 #define __LINUX_COMPILER_H 32 #define __user 33 34 typedef unsigned int __u32; 35 typedef __u32 __le32;
This completely prevents including /usr/include/linux/types.h, etc.
It seems my distro has a patch that removes all the above lines to resolve this issue. I'll try contacting libcap upstream on this issue.
Anssi Hannula wrote:
Thank you. The bug is in libcap header file /usr/include/sys/capability.h
It does evil stuff like this:
25 /* 26 * Make sure we can be included from userland by preventing 27 * capability.h from including other kernel headers 28 */ 29 #define _LINUX_TYPES_H 30 #define _LINUX_FS_H 31 #define __LINUX_COMPILER_H 32 #define __user 33 34 typedef unsigned int __u32; 35 typedef __u32 __le32;
This completely prevents including /usr/include/linux/types.h, etc.
It seems my distro has a patch that removes all the above lines to resolve this issue. I'll try contacting libcap upstream on this issue.
In the meantime, attached is a workaround that contains a clear comment describing the issue.
Goga777 wrote:
Anssi Hannula wrote:
Maybe one of these includes in these files is missing?
as you can see - no, everything is ok
Confirm that you looked at the correct files:
You should first look under ../s2-liplianin/linux/include/, and if the file in question doesn't exist there, you should look under /usr/include/ (note, not in /usr/src).
I have to use the following patch:
--- vdr-1.7.5/vdr.c.orig 2009-04-12 11:05:51.000000000 -0700 +++ vdr-1.7.5/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 have to use the following patch:
--- vdr-1.7.5/vdr.c.orig 2009-04-12 11:05:51.000000000 -0700 +++ vdr-1.7.5/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 checked and can confirm - vdr 179 compiled fine with this patch
Goga
Maybe one of these includes in these files is missing?
as you can see - no, everything is ok
Confirm that you looked at the correct files:
You should first look under ../s2-liplianin/linux/include/
in dir /usr/src/s2-liplianin/linux/include/linux there's not any mentioned you files
you can have a look yourselves http://mercurial.intuxication.org/hg/s2-liplianin/file/ecdc9c389f8a/linux/in...
, and if the
file in question doesn't exist there, you should look under /usr/include/ (note, not in /usr/src).
I did so exactly in my previous mail
PS vdr 178 compiled fine with existing headers
Goga
On Sun, Aug 23, 2009 at 12:07 PM, Goga777goga777@bk.ru wrote:
I did so exactly in my previous mail
PS vdr 178 compiled fine with existing headers
Have you tried the patch I posted?
I did so exactly in my previous mail
PS vdr 178 compiled fine with existing headers
Have you tried the patch I posted?
no, because I have already solved this problem (as I wrote in my previous mail)
I could compile vdr 179 after of adding in dvbdevice.h string like
typedef unsigned char __u8;
http://vdrportal.de/board/thread.php?postid=806612&sid=21750376f0aea416e...
Goga
On Sun, Aug 23, 2009 at 12:26 PM, Goga777goga777@bk.ru wrote:
Have you tried the patch I posted?
no, because I have already solved this problem (as I wrote in my previous mail)
I could compile vdr 179 after of adding in dvbdevice.h string like
typedef unsigned char __u8;
It would be nice if you did so others with the same problem can see the result. Otherwise what's the point?