#1 Failure to build with gcc 3.4

closed
None
5
2005-01-03
2004-12-21
Rémi Vanicat
No

Well, as I'm still trying to build RTB related stuff
with gcc-3.4, I've failed to build the RTB - Team
Framework with it. Here are the errors: (By the way it
the vertion included int rtbExt that fail)

if g++-3.4 -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT
initcomponents.o -MD -MP -MF ".deps/initcomponents.Tpo"
-c -o initcomponents.o initcomponents.cpp; \ then mv -f ".deps/initcomponents.Tpo"
".deps/initcomponents.Po"; else rm -f
".deps/initcomponents.Tpo"; exit 1; fi
In file included from rtbglobal/masterresourcecontrol.h:46,
from initcomponents.cpp:27:
rtbglobal/pmap.h: In destructor `RTBGlobal::pmap<Key,
__pValue>::~pmap()':
rtbglobal/pmap.h:57: error: there are no arguments to
`begin' that depend on a template parameter, so a
declaration of `begin' must be available
rtbglobal/pmap.h:57: error: (if you use `-fpermissive',
G++ will accept your code, but allowing the use of an
undeclared name is deprecated)
rtbglobal/pmap.h:57: error: there are no arguments to
`end' that depend on a template parameter, so a
declaration of `end' must be available
In file included from
rtbglobal/../strategies/serverstatedata.h:37,
from
rtbglobal/../strategies/strategyfactory.h:33,
from rtbglobal/masterresourcecontrol.h:47,
from initcomponents.cpp:27:
rtbglobal/../strategies/../rtbglobal/pvector.h: In
destructor `RTBGlobal::pvector<__pValue>::~pvector()':
rtbglobal/../strategies/../rtbglobal/pvector.h:66:
error: there are no arguments to `begin' that depend on
a template parameter, so a declaration of `begin' must
be available
rtbglobal/../strategies/../rtbglobal/pvector.h:66:
error: there are no arguments to `end' that depend on a
template parameter, so a declaration of `end' must be
available
make[3]: *** [initcomponents.o] Error 1
if g++-3.4 -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT
unixinstreambuf.o -MD -MP -MF
".deps/unixinstreambuf.Tpo" -c -o unixinstreambuf.o
`test -f 'io/unixinstreambuf.cpp' || echo
'./'`io/unixinstreambuf.cpp; \ then mv -f ".deps/unixinstreambuf.Tpo"
".deps/unixinstreambuf.Po"; else rm -f
".deps/unixinstreambuf.Tpo"; exit 1; fi
io/unixinstreambuf.cpp: In member function `virtual int
IO::UnixInStreambuf::underflow()':
io/unixinstreambuf.cpp:100: error: `errno' undeclared
(first use this function)
io/unixinstreambuf.cpp:100: error: (Each undeclared
identifier is reported only once for each function it
appears in.)
make[3]: *** [unixinstreambuf.o] Error 1
rguments to `begin' that depend on a template
parameter, so a declaration of `begin' must be available
bots/brotfrucht/../../strategies/../rtbglobal/pvector.h:66:
error: (if you use `-fpermissive', G++ will accept your
code, but allowing the use of an undeclared name is
deprecated)
bots/brotfrucht/../../strategies/../rtbglobal/pvector.h:66:
error: there are no arguments to `end' that depend on a
template parameter, so a declaration of `end' must be
available
make[3]: *** [bffactory.o] Error 1
if g++-3.4 -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT
bfserverbasicstate.o -MD -MP -MF
".deps/bfserverbasicstate.Tpo" -c -o
bfserverbasicstate.o `test -f
'bots/brotfrucht/bfserverbasicstate.cpp' || echo
'./'`bots/brotfrucht/bfserverbasicstate.cpp; \ then mv -f ".deps/bfserverbasicstate.Tpo"
".deps/bfserverbasicstate.Po"; else rm -f
".deps/bfserverbasicstate.Tpo"; exit 1; fi
In file included from
bots/brotfrucht/../../gamecontrol/servercoordinator.h:42,
from
bots/brotfrucht/bfserverbasicstate.cpp:30:
bots/brotfrucht/../../gamecontrol/../rtbglobal/pvector.h:
In destructor `RTBGlobal::pvector<__pValue>::~pvector()':
bots/brotfrucht/../../gamecontrol/../rtbglobal/pvector.h:66:
error: there are no arguments to `begin' that depend on
a template parameter, so a declaration of `begin' must
be available
bots/brotfrucht/../../gamecontrol/../rtbglobal/pvector.h:66:
error: (if you use `-fpermissive', G++ will accept your
code, but allowing the use of an undeclared name is
deprecated)
bots/brotfrucht/../../gamecontrol/../rtbglobal/pvector.h:66:
error: there are no arguments to `end' that depend on a
template parameter, so a declaration of `end' must be
available
make[3]: *** [bfserverbasicstate.o] Error 1
if g++-3.4 -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT
bfsharedserverspecificrepository.o -MD -MP -MF
".deps/bfsharedserverspecificrepository.Tpo" -c -o
bfsharedserverspecificrepository.o `test -f
'bots/brotfrucht/bfsharedserverspecificrepository.cpp'
|| echo
'./'`bots/brotfrucht/bfsharedserverspecificrepository.cpp;
\ then mv -f ".deps/bfsharedserverspecificrepository.Tpo"
".deps/bfsharedserverspecificrepository.Po"; else rm -f
".deps/bfsharedserverspecificrepository.Tpo"; exit 1; fi
In file included from
bots/brotfrucht/../../rtbglobal/masterresourcecontrol.h:46,
from
bots/brotfrucht/bfsharedserverspecificrepository.cpp:28:
bots/brotfrucht/../../rtbglobal/pmap.h: In destructor
`RTBGlobal::pmap<Key, __pValue>::~pmap()':
bots/brotfrucht/../../rtbglobal/pmap.h:57: error: there
are no arguments to `begin' that depend on a template
parameter, so a declaration of `begin' must be available
bots/brotfrucht/../../rtbglobal/pmap.h:57: error: (if
you use `-fpermissive', G++ will accept your code, but
allowing the use of an undeclared name is deprecated)
bots/brotfrucht/../../rtbglobal/pmap.h:57: error: there
are no arguments to `end' that depend on a template
parameter, so a declaration of `end' must be available
In file included from
bots/brotfrucht/../../rtbglobal/../strategies/serverstatedata.h:37,
from
bots/brotfrucht/../../rtbglobal/../strategies/strategyfactory.h:33,
from
bots/brotfrucht/../../rtbglobal/masterresourcecontrol.h:47,
from
bots/brotfrucht/bfsharedserverspecificrepository.cpp:28:
bots/brotfrucht/../../rtbglobal/../strategies/../rtbglobal/pvector.h:
In destructor `RTBGlobal::pvector<__pValue>::~pvector()':
bots/brotfrucht/../../rtbglobal/../strategies/../rtbglobal/pvector.h:66:
error: there are no arguments to `begin' that depend on
a template parameter, so a declaration of `begin' must
be available
bots/brotfrucht/../../rtbglobal/../strategies/../rtbglobal/pvector.h:66:
error: there are no arguments to `end' that depend on a
template parameter, so a declaration of `end' must be
available
make[3]: *** [bfsharedserverspecificrepository.o] Error 1
if g++-3.4 -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT
empty_factory.o -MD -MP -MF ".deps/empty_factory.Tpo"
-c -o empty_factory.o `test -f
'bots/empty/empty_factory.cpp' || echo
'./'`bots/empty/empty_factory.cpp; \ then mv -f ".deps/empty_factory.Tpo"
".deps/empty_factory.Po"; else rm -f
".deps/empty_factory.Tpo"; exit 1; fi
In file included from
bots/empty/../../strategies/serverstatedata.h:37,
from
bots/empty/../../strategies/strategyfactory.h:33,
from bots/empty/empty_factory.h:35,
from bots/empty/empty_factory.cpp:30:
bots/empty/../../strategies/../rtbglobal/pvector.h: In
destructor `RTBGlobal::pvector<__pValue>::~pvector()':
bots/empty/../../strategies/../rtbglobal/pvector.h:66:
error: there are no arguments to `begin' that depend on
a template parameter, so a declaration of `begin' must
be available

Discussion

    • assigned_to: nobody --> jonico
     
  • Logged In: YES
    user_id=863272

    Thank you, I am sure to fix this until sylvester

     
  • Logged In: YES
    user_id=863272

    an include of errno.h in unixinstreambuf.cpp will do, I hope to fix
    this bug
    The other bug is strange: begin and end should be known
    because they are members of the base classes of pvector and
    pmap.
    Can you try to explicitely write the name of the base class as
    qualifier before end and begin and tell me if it works?
    For example:
    for (typename map<Key, __pValue*>::iterator
    i=begin();i!=end();++i)

    should change to

    for (typename map<Key, __pValue*>::iterator
    i=map<Key,__pValue*>::begin();i!=map<Key,__pValue*>::end();
    ++i)

    Please try out this code, the I will check it in immediatlely

    Thank you

     
  • Rémi Vanicat
    Rémi Vanicat
    2004-12-31

    Logged In: YES
    user_id=40214

    After some vacation, and by adding #include <errno.h> to
    unixinstreambuf.cpp and unixoutstreambuf.cpp, and an dby
    explicitely write the name of the base class before end and
    begin in rtbglobal/pmap.h and rtbglobal/pvector.h I
    successfuly compile the rtb team framework with gcc 3.4.

     
    • status: open --> closed
     
  • Logged In: YES
    user_id=863272

    Thanks, can you send a diff to this case?

     
  • Rémi Vanicat
    Rémi Vanicat
    2005-01-04

    Patch to compile rtb team framework with gcc 3.4

     
  • Rémi Vanicat
    Rémi Vanicat
    2005-01-04

    Logged In: YES
    user_id=40214

    I give you the patch (done against the rtb-ext distribution
    of rtb)