compil vdr-1.7.4 against v4l-dvb hg as of today

Message ID 20090303212340.GA3615@gmail.com
State New
Headers

Commit Message

Grégoire Favre March 3, 2009, 9:23 p.m. UTC
  Hello,

just tried compiling vdr-1.7.4 against my v4l-dvb hg's source which
fails if I don't use this :


Happy VDR :-)
  

Comments

Sébastien Serra March 4, 2009, 10:58 a.m. UTC | #1
Hi,

I've recently had a problem too. I resolved it like that (i don't know if
the compilation error was the same as mine...) :

Add this line to the Makefile of VDR :

DEFINES += -D_GNU_SOURCE
*+DEFINES += -D__KERNEL_STRICT_NAMES
*
DEFINES += -DVIDEODIR=\"$(VIDEODIR)\"

Cheers.

2009/3/3 Gregoire Favre <gregoire.favre@gmail.com>

> Hello,
>
> just tried compiling vdr-1.7.4 against my v4l-dvb hg's source which
> fails if I don't use this :
>
> --- vdr.c~      2009-01-18 12:02:37.000000000 +0100
> +++ vdr.c       2009-03-03 22:17:49.000000000 +0100
> @@ -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>
>
> Happy VDR :-)
> --
> Grégoire FAVRE http://gregoire.favre.googlepages.com http://www.gnupg.org
>               http://picasaweb.google.com/Gregoire.Favre
>
> _______________________________________________
> vdr mailing list
> vdr@linuxtv.org
> http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
>
  
Klaus Schmidinger March 6, 2009, 2:17 p.m. UTC | #2
On 03.03.2009 22:23, Gregoire Favre wrote:
> Hello,
> 
> just tried compiling vdr-1.7.4 against my v4l-dvb hg's source which
> fails if I don't use this :
> 
> --- vdr.c~      2009-01-18 12:02:37.000000000 +0100
> +++ vdr.c       2009-03-03 22:17:49.000000000 +0100
> @@ -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>

vdr.c compiles just fine here with the most recent version of v4l-dvb from
linuxtv.org (6bd427caa0cb).

I did report a problem with the driver's header files, though, in

  http://linuxtv.org/pipermail/linux-dvb/2009-March/031934.html

However, there has been no repsonse to that, and the problem still
persists with the current version.

Just curious: don't you have a problem compiling dvbdevice.c?

Klaus
  
Alex Betis March 6, 2009, 2:37 p.m. UTC | #3
On Fri, Mar 6, 2009 at 4:17 PM, Klaus Schmidinger <
Klaus.Schmidinger@cadsoft.de> wrote:

> On 03.03.2009 22:23, Gregoire Favre wrote:
> > Hello,
> >
> > just tried compiling vdr-1.7.4 against my v4l-dvb hg's source which
> > fails if I don't use this :
> >
> > --- vdr.c~      2009-01-18 12:02:37.000000000 +0100
> > +++ vdr.c       2009-03-03 22:17:49.000000000 +0100
> > @@ -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>
>
> vdr.c compiles just fine here with the most recent version of v4l-dvb from
> linuxtv.org (6bd427caa0cb).
>
> I did report a problem with the driver's header files, though, in
>
>  http://linuxtv.org/pipermail/linux-dvb/2009-March/031934.html
>
> However, there has been no repsonse to that, and the problem still
> persists with the current version.
>
> Just curious: don't you have a problem compiling dvbdevice.c?

I've faced the same problem after upgrading kernel to 2.6.27.19

Found the solution on the net: add the following to VDR Makefile:
DEFINES += -D__KERNEL_STRICT_NAMES


>
> Klaus
>
>
> _______________________________________________
> vdr mailing list
> vdr@linuxtv.org
> http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
>
  
Klaus Schmidinger March 6, 2009, 2:52 p.m. UTC | #4
On 06.03.2009 15:37, Alex Betis wrote:
> 
> On Fri, Mar 6, 2009 at 4:17 PM, Klaus Schmidinger
> <Klaus.Schmidinger@cadsoft.de <mailto:Klaus.Schmidinger@cadsoft.de>> wrote:
> 
>     On 03.03.2009 22:23, Gregoire Favre wrote:
>     > Hello,
>     >
>     > just tried compiling vdr-1.7.4 against my v4l-dvb hg's source which
>     > fails if I don't use this :
>     >
>     > --- vdr.c~      2009-01-18 12:02:37.000000000 +0100
>     > +++ vdr.c       2009-03-03 22:17:49.000000000 +0100
>     > @@ -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>
> 
>     vdr.c compiles just fine here with the most recent version of
>     v4l-dvb from
>     linuxtv.org <http://linuxtv.org> (6bd427caa0cb).
> 
>     I did report a problem with the driver's header files, though, in
> 
>      http://linuxtv.org/pipermail/linux-dvb/2009-March/031934.html
> 
>     However, there has been no repsonse to that, and the problem still
>     persists with the current version.
> 
>     Just curious: don't you have a problem compiling dvbdevice.c?
> 
> I've faced the same problem after upgrading kernel to 2.6.27.19
> 
> Found the solution on the net: add the following to VDR Makefile:
> DEFINES += -D__KERNEL_STRICT_NAMES

Let's be careful to not mix up two different things here.
There's apparently the problem Gregoire reported, which he solved by
adding an #include, but which doesn't happen here (kernel 2.6.25.20).
That one has nothing to do with the driver.

@Gregoire: does this happen with plain vanilla VDR 1.7.4 or are there
any patches involved?
Can you compile dvbdevice.c with the latest driver header files?

@Alex: are you referring to the problem Gregoire reported or to the
one I reported?

Klaus
  
Alex Betis March 6, 2009, 3:03 p.m. UTC | #5
On Fri, Mar 6, 2009 at 4:52 PM, Klaus Schmidinger <
Klaus.Schmidinger@cadsoft.de> wrote:

> On 06.03.2009 15:37, Alex Betis wrote:
> >
> > On Fri, Mar 6, 2009 at 4:17 PM, Klaus Schmidinger
> > <Klaus.Schmidinger@cadsoft.de <mailto:Klaus.Schmidinger@cadsoft.de>>
> wrote:
> >
> >     On 03.03.2009 22:23, Gregoire Favre wrote:
> >     > Hello,
> >     >
> >     > just tried compiling vdr-1.7.4 against my v4l-dvb hg's source which
> >     > fails if I don't use this :
> >     >
> >     > --- vdr.c~      2009-01-18 12:02:37.000000000 +0100
> >     > +++ vdr.c       2009-03-03 22:17:49.000000000 +0100
> >     > @@ -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>
> >
> >     vdr.c compiles just fine here with the most recent version of
> >     v4l-dvb from
> >     linuxtv.org <http://linuxtv.org> (6bd427caa0cb).
> >
> >     I did report a problem with the driver's header files, though, in
> >
> >      http://linuxtv.org/pipermail/linux-dvb/2009-March/031934.html
> >
> >     However, there has been no repsonse to that, and the problem still
> >     persists with the current version.
> >
> >     Just curious: don't you have a problem compiling dvbdevice.c?
> >
> > I've faced the same problem after upgrading kernel to 2.6.27.19
> >
> > Found the solution on the net: add the following to VDR Makefile:
> > DEFINES += -D__KERNEL_STRICT_NAMES
>
> Let's be careful to not mix up two different things here.
> There's apparently the problem Gregoire reported, which he solved by
> adding an #include, but which doesn't happen here (kernel 2.6.25.20).
> That one has nothing to do with the driver.
>
> @Gregoire: does this happen with plain vanilla VDR 1.7.4 or are there
> any patches involved?
> Can you compile dvbdevice.c with the latest driver header files?
>
> @Alex: are you referring to the problem Gregoire reported or to the
> one I reported?

I refer to your problem with many redefinitions like the following:

/usr/include/sys/select.h:78: error: conflicting declaration 'typedef
struct fd_set fd_set'
/usr/include/linux/types.h:12: error: 'fd_set' has a previous
declaration as 'typedef struct __kernel_fd_set fd_set'


I probably missed Gregorie's error report, so I don't know what was it
about.


>
> Klaus
>
> _______________________________________________
> vdr mailing list
> vdr@linuxtv.org
> http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
>
  
Grégoire Favre March 6, 2009, 4:02 p.m. UTC | #6
On Fri, Mar 06, 2009 at 03:52:03PM +0100, Klaus Schmidinger wrote:

> Let's be careful to not mix up two different things here.
> There's apparently the problem Gregoire reported, which he solved by
> adding an #include, but which doesn't happen here (kernel 2.6.25.20).
> That one has nothing to do with the driver.
> 
> @Gregoire: does this happen with plain vanilla VDR 1.7.4 or are there
> any patches involved?

If I remember right I got the same problem with plain vanille 1.7.4 but
right now I use : 

-rw-r--r--  1 greg greg  23K 2009-01-26 00:34 p1-1.7.4-hlcutter-0.2.1.diff
-rw-r--r--  1 greg greg  50K 2009-01-25 23:23 p1-1.7.4-liemikuutio-1.23.diff
-rw-r--r--  1 greg greg 1.6K 2009-01-26 00:44 p1-cuttime-vdr-1.7.3.diff

> Can you compile dvbdevice.c with the latest driver header files?

My fix is just a little hack, I am not a real programmer, and yes I can
compil the whole VDR (didn't take the time to fix graphlcd). 

My kernel is 2.6.28-gentoo-r2 but if I remenber right I didn't had this
error with previous kernel).

Thank for VDR ;-)
  
Anssi Hannula March 7, 2009, 2:12 p.m. UTC | #7
Gregoire Favre wrote:
> Hello,
> 
> just tried compiling vdr-1.7.4 against my v4l-dvb hg's source which
> fails if I don't use this :
[...]

This is because of a kernel regression:
http://lkml.indiana.edu/hypermail/linux/kernel/0902.3/00411.html

A set of patches fixing this is available here:
http://lkml.indiana.edu/hypermail/linux/kernel/0902.3/00955.html
and here:
http://git.kernel.org/?p=linux/kernel/git/jaswinder/linux-2.6-tip.git;a=shortlog;h=core/header-fixes

Specifically, the one fixing the breakage in DVB headers is "make most
exported headers use strict integer types", i.e.:
http://git.kernel.org/?p=linux/kernel/git/jaswinder/linux-2.6-tip.git;a=commitdiff;h=57b4b9d7b56d283b6619a893341be16d1a0467a6

I do wonder why it hasn't yet been pushed into Torvalds' tree (it has
been over a week since the patches were published), though.
  

Patch

--- vdr.c~      2009-01-18 12:02:37.000000000 +0100
+++ vdr.c       2009-03-03 22:17:49.000000000 +0100
@@ -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>