HaveF/opennero

Compiling trunk Sarsa.cpp error -> IrrUtil.h

GoogleCodeExporter opened this issue · 6 comments

Building trunk with boost 1.54,  on 75% of building Sarsa.cpp
tells about undeclared intrusive_ptr_release

[ 75%] Building CXX object source/CMakeFiles/OpenNERO.dir/ai/rl/Sarsa.cpp.o
In file included from /usr/local/include/boost/intrusive_ptr.hpp:16:0,
                 from /home/usr1/Nero/trunk/source/core/BoostCommon.h:17,
                 from /home/usr1/Nero/trunk/source/core/ONTime.h:9,
                 from /home/usr1/Nero/trunk/source/core/Common.h:32,
                 from /home/usr1/Nero/trunk/source/ai/rl/Sarsa.cpp:1:
/usr/local/include/boost/smart_ptr/intrusive_ptr.hpp: In instantiation of 
‘boost::intrusive_ptr<T>::~intrusive_ptr() [with T = irr::IrrlichtDevice]’:
/home/usr1/Nero/trunk/source/core/IrrUtil.h:139:22:   required from here
/usr/local/include/boost/smart_ptr/intrusive_ptr.hpp:97:23: error: 
‘intrusive_ptr_release’ was not declared in this scope, and no declarations 
were found by argument-dependent lookup at the point of instantiation 
[-fpermissive]
In file included from 
/home/usr1/Nero/trunk/source/game/objects/PropertyMap.h:11:0,
                 from /home/usr1/Nero/trunk/source/game/objects/TemplatedObject.h:9,
                 from /home/usr1/Nero/trunk/source/ai/AI.h:21,
                 from /home/usr1/Nero/trunk/source/ai/rl/Approximator.h:16,
                 from /home/usr1/Nero/trunk/source/ai/rl/Sarsa.cpp:3:
/home/usr1/Nero/trunk/source/core/IrrUtil.h:41:14: note: ‘void 
boost::intrusive_ptr_release(irr::IReferenceCounted*)’ declared here, later 
in the translation unit
In file included from /usr/local/include/boost/intrusive_ptr.hpp:16:0,
                 from /home/usr1/Nero/trunk/source/core/BoostCommon.h:17,
                 from /home/usr1/Nero/trunk/source/core/ONTime.h:9,
                 from /home/usr1/Nero/trunk/source/core/Common.h:32,
                 from /home/usr1/Nero/trunk/source/ai/rl/Sarsa.cpp:1:
/usr/local/include/boost/smart_ptr/intrusive_ptr.hpp: In instantiation of 
‘boost::intrusive_ptr<T>::~intrusive_ptr() [with T = 
irr::video::IVideoDriver]’:
/home/usr1/Nero/trunk/source/core/IrrUtil.h:139:22:   required from here
/usr/local/include/boost/smart_ptr/intrusive_ptr.hpp:97:23: error: 
‘intrusive_ptr_release’ was not declared in this scope, and no declarations 
were found by argument-dependent lookup at the point of instantiation 
[-fpermissive]
In file included from 
/home/usr1/Nero/trunk/source/game/objects/PropertyMap.h:11:0,
                 from /home/usr1/Nero/trunk/source/game/objects/TemplatedObject.h:9,
                 from /home/usr1/Nero/trunk/source/ai/AI.h:21,
                 from /home/usr1/Nero/trunk/source/ai/rl/Approximator.h:16,
                 from /home/usr1/Nero/trunk/source/ai/rl/Sarsa.cpp:3:
/home/usr1/Nero/trunk/source/core/IrrUtil.h:41:14: note: ‘void 
boost::intrusive_ptr_release(irr::IReferenceCounted*)’ declared here, later 
in the translation unit
In file included from /usr/local/include/boost/intrusive_ptr.hpp:16:0,
                 from /home/usr1/Nero/trunk/source/core/BoostCommon.h:17,
                 from /home/usr1/Nero/trunk/source/core/ONTime.h:9,
                 from /home/usr1/Nero/trunk/source/core/Common.h:32,
                 from /home/usr1/Nero/trunk/source/ai/rl/Sarsa.cpp:1:
/usr/local/include/boost/smart_ptr/intrusive_ptr.hpp: In instantiation of 
‘boost::intrusive_ptr<T>::~intrusive_ptr() [with T = 
irr::scene::ISceneManager]’:
/home/usr1/Nero/trunk/source/core/IrrUtil.h:139:22:   required from here
/usr/local/include/boost/smart_ptr/intrusive_ptr.hpp:97:23: error: 
‘intrusive_ptr_release’ was not declared in this scope, and no declarations 
were found by argument-dependent lookup at the point of instantiation 
[-fpermissive]
In file included from 
/home/usr1/Nero/trunk/source/game/objects/PropertyMap.h:11:0,
                 from /home/usr1/Nero/trunk/source/game/objects/TemplatedObject.h:9,
                 from /home/usr1/Nero/trunk/source/ai/AI.h:21,
                 from /home/usr1/Nero/trunk/source/ai/rl/Approximator.h:16,
                 from /home/usr1/Nero/trunk/source/ai/rl/Sarsa.cpp:3:
/home/usr1/Nero/trunk/source/core/IrrUtil.h:41:14: note: ‘void 
boost::intrusive_ptr_release(irr::IReferenceCounted*)’ declared here, later 
in the translation unit
In file included from /usr/local/include/boost/intrusive_ptr.hpp:16:0,
                 from /home/usr1/Nero/trunk/source/core/BoostCommon.h:17,
                 from /home/usr1/Nero/trunk/source/core/ONTime.h:9,
                 from /home/usr1/Nero/trunk/source/core/Common.h:32,
                 from /home/usr1/Nero/trunk/source/ai/rl/Sarsa.cpp:1:
/usr/local/include/boost/smart_ptr/intrusive_ptr.hpp: In instantiation of 
‘boost::intrusive_ptr<T>::~intrusive_ptr() [with T = 
irr::gui::IGUIEnvironment]’:
/home/usr1/Nero/trunk/source/core/IrrUtil.h:139:22:   required from here
/usr/local/include/boost/smart_ptr/intrusive_ptr.hpp:97:23: error: 
‘intrusive_ptr_release’ was not declared in this scope, and no declarations 
were found by argument-dependent lookup at the point of instantiation 
[-fpermissive]
In file included from 
/home/usr1/Nero/trunk/source/game/objects/PropertyMap.h:11:0,
                 from /home/usr1/Nero/trunk/source/game/objects/TemplatedObject.h:9,
                 from /home/usr1/Nero/trunk/source/ai/AI.h:21,
                 from /home/usr1/Nero/trunk/source/ai/rl/Approximator.h:16,
                 from /home/usr1/Nero/trunk/source/ai/rl/Sarsa.cpp:3:
/home/usr1/Nero/trunk/source/core/IrrUtil.h:41:14: note: ‘void 
boost::intrusive_ptr_release(irr::IReferenceCounted*)’ declared here, later 
in the translation unit
In file included from /usr/local/include/boost/intrusive_ptr.hpp:16:0,
                 from /home/usr1/Nero/trunk/source/core/BoostCommon.h:17,
                 from /home/usr1/Nero/trunk/source/core/ONTime.h:9,
                 from /home/usr1/Nero/trunk/source/core/Common.h:32,
                 from /home/usr1/Nero/trunk/source/ai/rl/Sarsa.cpp:1:
/usr/local/include/boost/smart_ptr/intrusive_ptr.hpp: In instantiation of 
‘boost::intrusive_ptr<T>::intrusive_ptr(const boost::intrusive_ptr<T>&) [with 
T = irr::IrrlichtDevice; boost::intrusive_ptr<T> = 
boost::intrusive_ptr<irr::IrrlichtDevice>]’:
/home/usr1/Nero/trunk/source/core/IrrUtil.h:146:40:   required from here
/usr/local/include/boost/smart_ptr/intrusive_ptr.hpp:92:23: error: 
‘intrusive_ptr_add_ref’ was not declared in this scope, and no declarations 
were found by argument-dependent lookup at the point of instantiation 
[-fpermissive]
In file included from 
/home/usr1/Nero/trunk/source/game/objects/PropertyMap.h:11:0,
                 from /home/usr1/Nero/trunk/source/game/objects/TemplatedObject.h:9,
                 from /home/usr1/Nero/trunk/source/ai/AI.h:21,
                 from /home/usr1/Nero/trunk/source/ai/rl/Approximator.h:16,
                 from /home/usr1/Nero/trunk/source/ai/rl/Sarsa.cpp:3:
/home/usr1/Nero/trunk/source/core/IrrUtil.h:28:14: note: ‘void 
boost::intrusive_ptr_add_ref(irr::IReferenceCounted*)’ declared here, later 
in the translation unit
In file included from /usr/local/include/boost/intrusive_ptr.hpp:16:0,
                 from /home/usr1/Nero/trunk/source/core/BoostCommon.h:17,
                 from /home/usr1/Nero/trunk/source/core/ONTime.h:9,
                 from /home/usr1/Nero/trunk/source/core/Common.h:32,
                 from /home/usr1/Nero/trunk/source/ai/rl/Sarsa.cpp:1:
/usr/local/include/boost/smart_ptr/intrusive_ptr.hpp: In instantiation of 
‘boost::intrusive_ptr<T>::intrusive_ptr(const boost::intrusive_ptr<T>&) [with 
T = irr::video::IVideoDriver; boost::intrusive_ptr<T> = 
boost::intrusive_ptr<irr::video::IVideoDriver>]’:
/home/usr1/Nero/trunk/source/core/IrrUtil.h:146:40:   required from here
/usr/local/include/boost/smart_ptr/intrusive_ptr.hpp:92:23: error: 
‘intrusive_ptr_add_ref’ was not declared in this scope, and no declarations 
were found by argument-dependent lookup at the point of instantiation 
[-fpermissive]
In file included from 
/home/usr1/Nero/trunk/source/game/objects/PropertyMap.h:11:0,
                 from /home/usr1/Nero/trunk/source/game/objects/TemplatedObject.h:9,
                 from /home/usr1/Nero/trunk/source/ai/AI.h:21,
                 from /home/usr1/Nero/trunk/source/ai/rl/Approximator.h:16,
                 from /home/usr1/Nero/trunk/source/ai/rl/Sarsa.cpp:3:
/home/usr1/Nero/trunk/source/core/IrrUtil.h:28:14: note: ‘void 
boost::intrusive_ptr_add_ref(irr::IReferenceCounted*)’ declared here, later 
in the translation unit
In file included from /usr/local/include/boost/intrusive_ptr.hpp:16:0,
                 from /home/usr1/Nero/trunk/source/core/BoostCommon.h:17,
                 from /home/usr1/Nero/trunk/source/core/ONTime.h:9,
                 from /home/usr1/Nero/trunk/source/core/Common.h:32,
                 from /home/usr1/Nero/trunk/source/ai/rl/Sarsa.cpp:1:
/usr/local/include/boost/smart_ptr/intrusive_ptr.hpp: In instantiation of 
‘boost::intrusive_ptr<T>::intrusive_ptr(const boost::intrusive_ptr<T>&) [with 
T = irr::scene::ISceneManager; boost::intrusive_ptr<T> = 
boost::intrusive_ptr<irr::scene::ISceneManager>]’:
/home/usr1/Nero/trunk/source/core/IrrUtil.h:146:40:   required from here
/usr/local/include/boost/smart_ptr/intrusive_ptr.hpp:92:23: error: 
‘intrusive_ptr_add_ref’ was not declared in this scope, and no declarations 
were found by argument-dependent lookup at the point of instantiation 
[-fpermissive]
In file included from 
/home/usr1/Nero/trunk/source/game/objects/PropertyMap.h:11:0,
                 from /home/usr1/Nero/trunk/source/game/objects/TemplatedObject.h:9,
                 from /home/usr1/Nero/trunk/source/ai/AI.h:21,
                 from /home/usr1/Nero/trunk/source/ai/rl/Approximator.h:16,
                 from /home/usr1/Nero/trunk/source/ai/rl/Sarsa.cpp:3:
/home/usr1/Nero/trunk/source/core/IrrUtil.h:28:14: note: ‘void 
boost::intrusive_ptr_add_ref(irr::IReferenceCounted*)’ declared here, later 
in the translation unit
In file included from /usr/local/include/boost/intrusive_ptr.hpp:16:0,
                 from /home/usr1/Nero/trunk/source/core/BoostCommon.h:17,
                 from /home/usr1/Nero/trunk/source/core/ONTime.h:9,
                 from /home/usr1/Nero/trunk/source/core/Common.h:32,
                 from /home/usr1/Nero/trunk/source/ai/rl/Sarsa.cpp:1:
/usr/local/include/boost/smart_ptr/intrusive_ptr.hpp: In instantiation of 
‘boost::intrusive_ptr<T>::intrusive_ptr(const boost::intrusive_ptr<T>&) [with 
T = irr::gui::IGUIEnvironment; boost::intrusive_ptr<T> = 
boost::intrusive_ptr<irr::gui::IGUIEnvironment>]’:
/home/usr1/Nero/trunk/source/core/IrrUtil.h:146:40:   required from here
/usr/local/include/boost/smart_ptr/intrusive_ptr.hpp:92:23: error: 
‘intrusive_ptr_add_ref’ was not declared in this scope, and no declarations 
were found by argument-dependent lookup at the point of instantiation 
[-fpermissive]
In file included from 
/home/usr1/Nero/trunk/source/game/objects/PropertyMap.h:11:0,
                 from /home/usr1/Nero/trunk/source/game/objects/TemplatedObject.h:9,
                 from /home/usr1/Nero/trunk/source/ai/AI.h:21,
                 from /home/usr1/Nero/trunk/source/ai/rl/Approximator.h:16,
                 from /home/usr1/Nero/trunk/source/ai/rl/Sarsa.cpp:3:
/home/usr1/Nero/trunk/source/core/IrrUtil.h:28:14: note: ‘void 
boost::intrusive_ptr_add_ref(irr::IReferenceCounted*)’ declared here, later 
in the translation unit
make[2]: *** [source/CMakeFiles/OpenNERO.dir/ai/rl/Sarsa.cpp.o] Error 1
make[1]: *** [source/CMakeFiles/OpenNERO.dir/all] Error 2
make: *** [all] Error 2

Original issue reported on code.google.com by oea...@gmail.com on 25 Aug 2013 at 9:52

next error is here

[ 76%] Building CXX object 
source/CMakeFiles/OpenNERO.dir/ai/sensors/SensorArray.cpp.o
In file included from 
/home/usr1/Nero/trunk/source/ai/sensors/SensorArray.cpp:4:0:
/home/usr1/Nero/trunk/source/game/SimContext.h: In member function 
‘boost::shared_ptr<T> OpenNero::SimContext::getObjectTemplate(const string&) 
const’:
/home/usr1/Nero/trunk/source/game/SimContext.h:280:20: error: 
‘shared_static_cast’ was not declared in this scope
/home/usr1/Nero/trunk/source/game/SimContext.h:280:20: note: suggested 
alternative:
In file included from 
/usr/local/include/boost/serialization/shared_ptr_132.hpp:35:0,
                 from /usr/local/include/boost/archive/shared_ptr_helper.hpp:29,
                 from /usr/local/include/boost/archive/xml_iarchive.hpp:133,
                 from /home/usr1/Nero/trunk/source/utils/Config.h:13,
                 from /home/usr1/Nero/trunk/source/game/Kernel.h:16,
                 from /home/usr1/Nero/trunk/source/ai/sensors/SensorArray.cpp:2:
/usr/local/include/boost/serialization/detail/shared_ptr_132.hpp:394:44: note:  
 ‘boost_132::shared_static_cast’
In file included from 
/home/usr1/Nero/trunk/source/ai/sensors/SensorArray.cpp:4:0:
/home/usr1/Nero/trunk/source/game/SimContext.h:280:46: error: expected 
primary-expression before ‘,’ token
/home/usr1/Nero/trunk/source/game/SimContext.h:280:63: error: expected 
primary-expression before ‘>’ token
make[2]: *** [source/CMakeFiles/OpenNERO.dir/ai/sensors/SensorArray.cpp.o] 
Error 1
make[1]: *** [source/CMakeFiles/OpenNERO.dir/all] Error 2

Original comment by oea...@gmail.com on 25 Aug 2013 at 10:29

  • Added labels: ****
  • Removed labels: ****
setted SimContext.h 280 retutn NULL; -> got compiled
next error is 

[ 77%] Building CXX object source/CMakeFiles/OpenNERO.dir/ai/rtneat/rtNEAT.cpp.o
In file included from /home/usr1/Nero/trunk/source/ai/rtneat/rtNEAT.cpp:7:0:
/home/usr1/Nero/trunk/source/ai/rtneat/rtNEAT.h: In member function ‘void 
OpenNero::PyNetwork::print_links()’:
/home/usr1/Nero/trunk/source/ai/rtneat/rtNEAT.h:195:40: error: ‘class 
NEAT::Network’ has no member named ‘print_links’
make[2]: *** [source/CMakeFiles/OpenNERO.dir/ai/rtneat/rtNEAT.cpp.o] Error 1
make[1]: *** [source/CMakeFiles/OpenNERO.dir/all] Error 2
make: *** [all] Error 2

Original comment by oea...@gmail.com on 25 Aug 2013 at 10:48

  • Added labels: ****
  • Removed labels: ****
well i've put the IrrUtil.cpp + h from tourney2013 and looks like it goes next,
will try to do some of this kind, but looks like i'll get more errors this way

Original comment by oea...@gmail.com on 25 Aug 2013 at 9:57

  • Added labels: ****
  • Removed labels: ****
Thanks for reporting this, just got around to looking at the code, issue should 
be fixed soon!

Original comment by ikarpov on 12 Sep 2013 at 2:12

  • Changed state: Started
  • Added labels: ****
  • Removed labels: ****
with few more simple null-converters, i found more same
shared_static_cast errors, maybe it is all linked together

also trying to build the tourney2013 asks for MVN-Something, i've installed 
maven, but it's not work anyway

[ 74%] Building CXX object 
source/CMakeFiles/OpenNERO.dir/ai/random/RandomAgent.cpp.o
/home/usr1/Nero/trunk/source/ai/random/RandomAgent.cpp: In member function 
‘virtual bool 
OpenNero::RandomAgent::LoadFromTemplate(OpenNero::ObjectTemplatePtr, const 
OpenNero::SimEntityData&)’:
/home/usr1/Nero/trunk/source/ai/random/RandomAgent.cpp:63:45: error: 
‘shared_static_cast’ was not declared in this scope
/home/usr1/Nero/trunk/source/ai/random/RandomAgent.cpp:64:29: error: expected 
primary-expression before ‘,’ token
/home/usr1/Nero/trunk/source/ai/random/RandomAgent.cpp:64:45: error: expected 
initializer before ‘>’ token
make[2]: *** [source/CMakeFiles/OpenNERO.dir/ai/random/RandomAgent.cpp.o] Error 
1
make[1]: *** [source/CMakeFiles/OpenNERO.dir/all] Error 2
make: *** [all] Error 2


[ 76%] Building CXX object source/CMakeFiles/OpenNERO.dir/ai/PythonAI.cpp.o
/home/usr1/Nero/trunk/source/ai/PythonAI.cpp: In member function ‘virtual 
bool OpenNero::PythonAIObject::LoadFromTemplate(OpenNero::ObjectTemplatePtr, 
const OpenNero::SimEntityData&)’:
/home/usr1/Nero/trunk/source/ai/PythonAI.cpp:34:13: error: 
‘shared_static_cast’ was not declared in this scope
/home/usr1/Nero/trunk/source/ai/PythonAI.cpp:34:48: error: expected 
primary-expression before ‘,’ token
/home/usr1/Nero/trunk/source/ai/PythonAI.cpp:34:64: error: expected initializer 
before ‘>’ token
make[2]: *** [source/CMakeFiles/OpenNERO.dir/ai/PythonAI.cpp.o] Error 1
make[1]: *** [source/CMakeFiles/OpenNERO.dir/all] Error 2
make: *** [all] Error 2


[ 82%] Building CXX object source/CMakeFiles/OpenNERO.dir/game/SimEntity.cpp.o
In file included from /home/usr1/Nero/trunk/source/game/SimEntity.cpp:11:0:
/home/usr1/Nero/trunk/source/game/SimContext.h: In instantiation of 
‘boost::shared_ptr<T> OpenNero::SimContext::getObjectTemplate(const string&) 
const [with ObjTemp = OpenNero::SceneObjectTemplate; std::string = 
std::basic_string<char>]’:
/home/usr1/Nero/trunk/source/game/SimEntity.cpp:51:106:   required from here
/home/usr1/Nero/trunk/source/game/SimContext.h:280:20: error: could not convert 
‘0l’ from ‘long int’ to 
‘boost::shared_ptr<OpenNero::SceneObjectTemplate>’
/home/usr1/Nero/trunk/source/game/SimContext.h: In instantiation of 
‘boost::shared_ptr<T> OpenNero::SimContext::getObjectTemplate(const string&) 
const [with ObjTemp = OpenNero::AIObjectTemplate; std::string = 
std::basic_string<char>]’:
/home/usr1/Nero/trunk/source/game/SimEntity.cpp:66:103:   required from here
/home/usr1/Nero/trunk/source/game/SimContext.h:280:20: error: could not convert 
‘0l’ from ‘long int’ to 
‘boost::shared_ptr<OpenNero::AIObjectTemplate>’
make[2]: *** [source/CMakeFiles/OpenNERO.dir/game/SimEntity.cpp.o] Error 1
make[1]: *** [source/CMakeFiles/OpenNERO.dir/all] Error 2
make: *** [all] Error 2

Original comment by oea...@gmail.com on 25 Aug 2013 at 11:36

  • Added labels: ****
  • Removed labels: ****
Should be fixed - builds for me on Ubuntu 13.04 x64.

Original comment by ikarpov on 12 Sep 2013 at 2:13

  • Changed state: Fixed
  • Added labels: ****
  • Removed labels: ****