VDR working under FC3?

Message ID 20050215173138.GB10082@slipstream
State New
Headers

Commit Message

Thomas Schmidt Feb. 15, 2005, 5:31 p.m. UTC
  * Linux TV schrieb am 15.02.05, um 18:17 Uhr:
> [root@nzbaxters VDR]# make
> g++ -g -O2 -Wall -Woverloaded-virtual -c -DREMOTE_KBD -DREMOTE_ -D_GNU_SOURCE -D
> VIDEODIR=\"/fifty/video\" -DPLUGINDIR=\"./PLUGINS/lib\" -I/share/dvb-cvs/dvb-ker
> nel/linux/drivers/media/dvb/include channels.c
> In file included from channels.h:13,
>                  from channels.c:10:
> config.h: In member function `bool cConfig<T>::Save()':
> config.h:140: error: there are no arguments to `First' that depend on a template
>  parameter, so a declaration of `First' must be available
> config.h:140: error: (if you use `-fpermissive', G++ will accept your code, but
> allowing the use of an undeclared name is deprecated)
> make: *** [channels.o] Error 1
> 
> any ideas??

I guess FC3 uses gcc3.4, to compile vdr (at least this applies to vdr 
1.2.6) with gcc3.4 you need the following patch:



Regards,
Thomas
  

Comments

Linux TV Feb. 16, 2005, 10:50 a.m. UTC | #1
Thanks for the patch.  It has made progress - but I'm still getting stuck.

Looks like something getting spit out of /usr/include/linux/dvb/video.h , 
/usr/include/linux/dvb/osd.h and vdr/dvbdevice.c   ??


[root@nzbaxters VDR]# make
g++ -g -O2 -Wall -Woverloaded-virtual -c -DREMOTE_KBD -DREMOTE_ -D_GNU_SOURCE 
 -D
VIDEODIR=\"/fifty/video\" -DPLUGINDIR=\"./PLUGINS/lib\" -I/share/dvb-cvs/dvb-kernel/linux/drivers/media/dvb/include 
channels.c
g++ -g -O2 -Wall -Woverloaded-virtual -c -DREMOTE_KBD -DREMOTE_ -D_GNU_SOURCE 
 -D
VIDEODIR=\"/fifty/video\" -DPLUGINDIR=\"./PLUGINS/lib\" -I/share/dvb-cvs/dvb-kernel/linux/drivers/media/dvb/include 
ci.c
g++ -g -O2 -Wall -Woverloaded-virtual -c -DREMOTE_KBD -DREMOTE_ -D_GNU_SOURCE 
 -D
VIDEODIR=\"/fifty/video\" -DPLUGINDIR=\"./PLUGINS/lib\" -I/share/dvb-cvs/dvb-kernel/linux/drivers/media/dvb/include 
config.c
g++ -g -O2 -Wall -Woverloaded-virtual -c -DREMOTE_KBD -DREMOTE_ -D_GNU_SOURCE 
 -D
VIDEODIR=\"/fifty/video\" -DPLUGINDIR=\"./PLUGINS/lib\" -I/share/dvb-cvs/dvb-kernel/linux/drivers/media/dvb/include 
cutter.c
g++ -g -O2 -Wall -Woverloaded-virtual -c -DREMOTE_KBD -DREMOTE_ -D_GNU_SOURCE 
 -D
VIDEODIR=\"/fifty/video\" -DPLUGINDIR=\"./PLUGINS/lib\" -I/share/dvb-cvs/dvb-kernel/linux/drivers/media/dvb/include 
device.c
g++ -g -O2 -Wall -Woverloaded-virtual -c -DREMOTE_KBD -DREMOTE_ -D_GNU_SOURCE 
 -D
VIDEODIR=\"/fifty/video\" -DPLUGINDIR=\"./PLUGINS/lib\" -I/share/dvb-cvs/dvb-kernel/linux/drivers/media/dvb/include 
diseqc.c
g++ -g -O2 -Wall -Woverloaded-virtual -c -DREMOTE_KBD -DREMOTE_ -D_GNU_SOURCE 
 -D
VIDEODIR=\"/fifty/video\" -DPLUGINDIR=\"./PLUGINS/lib\" -I/share/dvb-cvs/dvb-kernel/linux/drivers/media/dvb/include 
dvbdevice.c
In file included from dvbdevice.c:24:
/usr/include/linux/dvb/video.h:105: error: expected `;' before '*' token
In file included from dvbosd.h:13,
                 from dvbdevice.c:29:
/usr/include/linux/dvb/osd.h:107: error: variable or field `__user' declared 
void
/usr/include/linux/dvb/osd.h:107: error: expected `;' before '*' token
dvbdevice.c: In member function `virtual void cDvbDevice::StillPicture(const 
uchar*, int)':
dvbdevice.c:1021: error: too many initializers for `video_still_picture'
dvbdevice.c:1021: error: invalid conversion from `char*' to `int32_t'
dvbdevice.c:1027: error: too many initializers for `video_still_picture'
dvbdevice.c:1027: error: invalid conversion from `char*' to `int32_t'
make: *** [dvbdevice.o] Error 1

----- Original Message ----- 
From: "Thomas Schmidt" <thomas.schmidt@in.stud.tu-ilmenau.de>
To: "Klaus Schmidinger's VDR" <vdr@linuxtv.org>
Sent: Tuesday, February 15, 2005 5:31 PM
Subject: Re: [vdr] VDR working under FC3?


> _______________________________________________
> vdr mailing list
> vdr@linuxtv.org
> http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
>


--------------------------------------------------------------------------------


No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.300 / Virus Database: 265.8.8 - Release Date: 14/02/2005
  
HGM.bg \(GMX\) Feb. 16, 2005, 4:53 p.m. UTC | #2
Linux TV wrote:

> Thanks for the patch.  It has made progress - but I'm still getting 
> stuck.
> 
> Looks like something getting spit out of 
> /usr/include/linux/dvb/video.h , /usr/include/linux/dvb/osd.h and
> vdr/dvbdevice.c   ?? 

Just remove __user in osd.h (1x) and video.h (1x) and everything is
fine, i need this for FC2, too !

/hgm.bg
  

Patch

diff -urNad /home/chelli/vdr/cvs/vdr/vdr/config.h vdr/config.h
--- /home/chelli/vdr/cvs/vdr/vdr/config.h	2004-05-14 12:32:15.000000000 +0200
+++ vdr/config.h	2004-08-02 12:51:07.000000000 +0200
@@ -137,7 +137,7 @@ 
   bool Save(void)
   {
     bool result = true;
-    T *l = (T *)First();
+    T *l = (T *)this->First();
     cSafeFile f(fileName);
     if (f.Open()) {
        while (l) {
diff -urNad /home/chelli/vdr/cvs/vdr/vdr/plugin.c vdr/plugin.c
--- /home/chelli/vdr/cvs/vdr/vdr/plugin.c	2004-05-14 12:32:19.000000000 +0200
+++ vdr/plugin.c	2004-08-02 12:51:07.000000000 +0200
@@ -162,7 +162,7 @@ 
   const char *error = dlerror();
   if (!error) {
      void *(*creator)(void);
-     (void *)creator = dlsym(handle, "VDRPluginCreator");
+     creator = (void*(*)())dlsym(handle, "VDRPluginCreator");
      if (!(error = dlerror()))
         plugin = (cPlugin *)creator();
      }