On 04/08/09 01:21, Tobi wrote:
> 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?
- 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
vdr mailing list