[vdr] Compilation issues with recent DVB header files vs libc6
Klaus.Schmidinger at cadsoft.de
Wed Apr 8 15:04:39 CEST 2009
On 04/08/09 15:00, Matthias Becker wrote:
> is the linux-dvb ML still "alive"?
> maybe http://vger.kernel.org/vger-lists.html#linux-media is read more frequently
That one has way too much non DVB related traffic for me.
> 2009/4/8 Klaus Schmidinger <Klaus.Schmidinger at cadsoft.de>:
>> 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?
>> 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...
More information about the vdr