Hi all -- I did an OS update today and it seems to have broken a few things. In particular it might be related to GCC being 4.1.1 now. Here's the error:
ccache g++ -fPIC -g -O2 -Wall -Woverloaded-virtual -c -DREMOTE_KBD -DLIRC_DEVICE="/dev/lircd" -DRCU_DEVICE="/dev/ttyS1" -D_GNU_SOURCE -DVIDEODIR="/video0" -DPLUGINDIR="./PLUGINS/lib" -DVFAT -I/vdr/DVB/include config.c menuitems.h:23: error: extra qualification 'cMenuEditItem::' on member 'SetValue'
I was also getting a bunch of errors from plugins but I will deal with each problem one at a time since I'm not sure if they are related yet.
Any help is greatly appreciated.
Norm
Mlists wrote:
Hi all -- I did an OS update today and it seems to have broken a few things. In particular it might be related to GCC being 4.1.1 now. Here's the error:
menuitems.h:23: error: extra qualification 'cMenuEditItem::' on member 'SetValue'
I'm 'just' using GCC 4.1.0, but VDR works fine for me. What VDR version do you compile? Do you use any patches on VDR? What does the referenced line look like in your source? The original line throughout 1.2.0 - 1.4.1 is this:
void SetValue(const char *Value);
and thats perfectly ok in my eyes. No cMenuEditItem::SetValue that would trigger this error for sure.
Also, whats the ccache in front of g++, some kind of compiler caching? Maybe you need to flush this cache because of whatever?
Cheers,
Udo
On Sat, 2006-06-24 at 02:20 +0200, Udo Richter wrote:
Mlists wrote:
Hi all -- I did an OS update today and it seems to have broken a few things. In particular it might be related to GCC being 4.1.1 now. Here's the error:
menuitems.h:23: error: extra qualification 'cMenuEditItem::' on member 'SetValue'
I'm 'just' using GCC 4.1.0, but VDR works fine for me. What VDR version do you compile? Do you use any patches on VDR? What does the referenced line look like in your source? The original line throughout 1.2.0 - 1.4.1 is this:
void SetValue(const char *Value);
and thats perfectly ok in my eyes. No cMenuEditItem::SetValue that would trigger this error for sure.
Also, whats the ccache in front of g++, some kind of compiler caching? Maybe you need to flush this cache because of whatever?
The ccache is a compiler cache. I had already flushed it before sending the email. I use a pre-patched version from Hoochster.
After doing some grepping around, I found that this patch, vdr-1.4.0-show_valid_input.diff, was the culprit -- I just reversed it and everything compiled.
Oddly, this patch was applied and compiled prior.
Norm
Mlists wrote:
After doing some grepping around, I found that this patch, vdr-1.4.0-show_valid_input.diff, was the culprit -- I just reversed it and everything compiled.
Oddly, this patch was applied and compiled prior.
Ah, there it is. From the patch: --- vdr_orig/menuitems.h 2004-12-05 17:59:24.719556216 +0100 +++ vdr_patched/menuitems.h 2004-12-05 18:04:29.681195000 +0100 @@ -21,7 +21,7 @@ public: cMenuEditItem(const char *Name); ~cMenuEditItem(); - void SetValue(const char *Value); + void cMenuEditItem::SetValue(const char *Value, bool HasPre=false, bool HasSucc=false); };
class cMenuEditIntItem : public cMenuEditItem {
The cMenuEditItem:: is superfluous in previous GCC versions and not standards compliant, and thus will cause an error on the more strict GCC4.
Cheers,
Udo