[vdr] Compilation issues with recent DVB header files vs libc6

Klaus Schmidinger Klaus.Schmidinger at cadsoft.de
Wed Apr 8 14:25:57 CEST 2009


On 04/08/09 01:21, Tobi wrote:
> Hi!
> 
> Recent DVB driver releases (now in Kernel 2.6.29) cause trouble compiling
> VDR (see snippet A below).
> 
> The common solution to this seems to be to add a "-D__KERNEL_STRICT_NAMES".
> 
> It felt wrong somehow and I didn't liked this, so I tried another
> solution, which is to have any libc6 <sys/*> includes appear before the
> linux DVB header includes <linux/*>. Doing this only in dvbdevice.c seems
> to do the trick for VDR (see snippet B). I works for VDR 1.6.0 as well as
> VDR 1.7.4.
> 
> I think the root of this problem is caused by the Kernel headers / DVB
> drivers changing from asm/types.h to linux/types.h:
> 
> -#include <asm/types.h>
> +#include <linux/types.h>
> 
> How should this problem ideally be fixed? Is my solution (snippet B)
> better than using -D__KERNEL_STRICT_NAMES or should the kernel / DVB
> driver developers be blamed for this?

My 2ct:

- An application should not need to use -D__KERNEL_STRICT_NAMES.
- Any header file that requires other header files to be included
  should do so by itself.
- The sequence in which header files are included should not matter.
  I normally list them alphabetically, to easily find a particular one.

I currently solve the broken DVB driver header files by replacing them
with the ones from an earlier driver version, where they still worked.

I had posted this problem on the linux-dvb ML a while ago, but apparently
nobody cared...

Klaus



More information about the vdr mailing list