Subject: C++ problem: building "pkgsrc/audio/daapd" with GCC 4.x
To: None <tech-pkg@NetBSD.org>
From: Matthias Scheler <tron@zhadum.org.uk>
List: tech-pkg
Date: 06/30/2006 22:04:11
Hello,
I'm trying to get the "daapd" package to build with GCC 4.x on my
NetBSD-current system but have found the proper fix so far.
The build dies here:
g++ -Wall -Wno-multichar -I../include -c registry.cpp
registry.cpp: In static member function 'static void TypeRegistry::registerVar(const TypeRegistry::Var*)':
registry.cpp:134: error: 'end' was not declared in this scope
registry.cpp: In constructor 'TypeRegistry::Init::Init()':
registry.cpp:143: error: 'end' was not declared in this scope
gmake[1]: *** [registry.o] Error 1
gmake[1]: Leaving directory `/src/NetBSD-current/pkgsrc/audio/daapd/work/daapd-0.2.4b/daaplib/src'
This is the piece of code which GCC whines about:
void TypeRegistry::registerVar( const Var* var ) {
varMap[var->name] = var;
container << Tag( 'mdcl' ) <<
Tag( 'mcnm' ) << var->mnemonic << end <<
Tag( 'mcna' ) << var->name << end <<
Tag( 'mcty' ) << (u16)var->type << end <<
end;
}
I'm not sure where the declaration of "end" is supposed to come from.
The only definition I can find are various STL containers which
define a end() method.
Any hints?
Kind regards
--
Matthias Scheler http://scheler.de/~matthias/