uos / rviz_fps_plugin

ViewController and a Tool Plugin to navigate RViz like an FPS-Shooter
32 stars 13 forks source link

Compilation failure on Hydro #5

Closed gavanderhoorn closed 9 years ago

gavanderhoorn commented 9 years ago

As mentioned in #4, compilation currently fails because of include/fps_motion_tool.h still including fps_motion_widget.h.

After commenting that particular include, I can compile under Indigo fine, but on Hydro, I get the following error(s) (I've shortened the paths):

[ 16%] Generating include/moc_fps_motion_tool.cxx
[ 33%] Generating include/moc_fps_motion_view_controller.cxx
Scanning dependencies of target rviz_fps_plugin
[ 50%] Building CXX object rviz_fps_plugin/CMakeFiles/rviz_fps_plugin.dir/src/fps_motion_view_controller.cpp.o
[ 66%] Building CXX object rviz_fps_plugin/CMakeFiles/rviz_fps_plugin.dir/src/fps_motion_tool.cpp.o
In file included from catkin_ws/src/rviz_fps_plugin/src/fps_motion_tool.cpp:27:0:
catkin_ws/src/rviz_fps_plugin/include/fps_motion_tool.h:119:82: error: cannot call member function ‘virtual rviz::Property* rviz::Tool::getPropertyContainer() const’ without object
catkin_ws/src/rviz_fps_plugin/include/fps_motion_tool.h:119:103: error: invalid use of ‘this’ at top level
catkin_ws/src/rviz_fps_plugin/include/fps_motion_tool.h:119:108: sorry, unimplemented: non-static data member initializers
catkin_ws/src/rviz_fps_plugin/include/fps_motion_tool.h:119:108: error: ‘constexpr’ needed for in-class initialization of static data member ‘step_length_property_’ of non-integral type
catkin_ws/src/rviz_fps_plugin/include/fps_motion_tool.h:123:82: error: cannot call member function ‘virtual rviz::Property* rviz::Tool::getPropertyContainer() const’ without object
catkin_ws/src/rviz_fps_plugin/include/fps_motion_tool.h:123:104: error: invalid use of ‘this’ at top level
catkin_ws/src/rviz_fps_plugin/include/fps_motion_tool.h:123:109: sorry, unimplemented: non-static data member initializers
catkin_ws/src/rviz_fps_plugin/include/fps_motion_tool.h:123:109: error: ‘constexpr’ needed for in-class initialization of static data member ‘fly_property_’ of non-integral type
catkin_ws/src/rviz_fps_plugin/include/fps_motion_tool.h:127:82: error: cannot call member function ‘virtual rviz::Property* rviz::Tool::getPropertyContainer() const’ without object
catkin_ws/src/rviz_fps_plugin/include/fps_motion_tool.h:127:109: error: invalid use of ‘this’ at top level
catkin_ws/src/rviz_fps_plugin/include/fps_motion_tool.h:127:114: sorry, unimplemented: non-static data member initializers
catkin_ws/src/rviz_fps_plugin/include/fps_motion_tool.h:127:114: error: ‘constexpr’ needed for in-class initialization of static data member ‘left_hand_property_’ of non-integral type
catkin_ws/src/rviz_fps_plugin/include/fps_motion_tool.h:131:82: error: cannot call member function ‘virtual rviz::Property* rviz::Tool::getPropertyContainer() const’ without object
catkin_ws/src/rviz_fps_plugin/include/fps_motion_tool.h:131:109: error: invalid use of ‘this’ at top level
catkin_ws/src/rviz_fps_plugin/include/fps_motion_tool.h:131:114: sorry, unimplemented: non-static data member initializers
catkin_ws/src/rviz_fps_plugin/include/fps_motion_tool.h:131:114: error: ‘constexpr’ needed for in-class initialization of static data member ‘fallback_tool_property_’ of non-integral type
catkin_ws/src/rviz_fps_plugin/include/fps_motion_tool.h:137:82: error: cannot call member function ‘virtual rviz::Property* rviz::Tool::getPropertyContainer() const’ without object
catkin_ws/src/rviz_fps_plugin/include/fps_motion_tool.h:137:119: error: invalid use of ‘this’ at top level
catkin_ws/src/rviz_fps_plugin/include/fps_motion_tool.h:137:124: sorry, unimplemented: non-static data member initializers
catkin_ws/src/rviz_fps_plugin/include/fps_motion_tool.h:137:124: error: ‘constexpr’ needed for in-class initialization of static data member ‘fallback_view_controller_property_’ of non-integral type

and:

In file included from catkin_ws/src/rviz_fps_plugin/src/fps_motion_tool.cpp:27:0:
catkin_ws/src/rviz_fps_plugin/include/fps_motion_tool.h: In member function ‘void rviz::FPSMotionTool::setOffset()’:
catkin_ws/src/rviz_fps_plugin/include/fps_motion_tool.h:94:45: error: ‘step_length_property_’ was not declared in this scope
catkin_ws/src/rviz_fps_plugin/include/fps_motion_tool.h: In member function ‘void rviz::FPSMotionTool::setFlyMode()’:
catkin_ws/src/rviz_fps_plugin/include/fps_motion_tool.h:95:35: error: ‘fly_property_’ was not declared in this scope
catkin_ws/src/rviz_fps_plugin/include/fps_motion_tool.h: In member function ‘void rviz::FPSMotionTool::setLeftHandMode()’:
catkin_ws/src/rviz_fps_plugin/include/fps_motion_tool.h:96:46: error: ‘left_hand_property_’ was not declared in this scope
catkin_ws/src/rviz_fps_plugin/include/fps_motion_tool.h: In member function ‘void rviz::FPSMotionTool::setFallbackTool()’:
catkin_ws/src/rviz_fps_plugin/include/fps_motion_tool.h:97:56: error: ‘fallback_tool_property_’ was not declared in this scope
catkin_ws/src/rviz_fps_plugin/include/fps_motion_tool.h: In member function ‘void rviz::FPSMotionTool::setFallbackViewController()’:
catkin_ws/src/rviz_fps_plugin/include/fps_motion_tool.h:98:95: error: ‘fallback_view_controller_property_’ was not declared in this scope
catkin_ws/src/rviz_fps_plugin/src/fps_motion_tool.cpp: In member function ‘void rviz::FPSMotionTool::setFallbackViewControllerProperty()’:
catkin_ws/src/rviz_fps_plugin/src/fps_motion_tool.cpp:53:3: error: ‘fallback_view_controller_property_’ was not declared in this scope
catkin_ws/src/rviz_fps_plugin/src/fps_motion_tool.cpp: In member function ‘void rviz::FPSMotionTool::setFallbackToolProperty()’:
catkin_ws/src/rviz_fps_plugin/src/fps_motion_tool.cpp:74:3: error: ‘fallback_tool_property_’ was not declared in this scope
catkin_ws/src/rviz_fps_plugin/src/fps_motion_tool.cpp: In member function ‘virtual int rviz::FPSMotionTool::processKeyEvent(QKeyEvent*, rviz::RenderPanel*)’:
catkin_ws/src/rviz_fps_plugin/src/fps_motion_tool.cpp:156:7: error: ‘fly_property_’ was not declared in this scope
catkin_ws/src/rviz_fps_plugin/src/fps_motion_tool.cpp:164:7: error: ‘fly_property_’ was not declared in this scope

Afaict, the hydro and indigo branches are identical, right?

Some more info (apart from the (Indigo, Trusty) vs (Hydro, Precise) differences):

Hydro system: gcc 4.6.4, Qt 4.8.1 Indigo system: gcc 4.8.2, Qt 4.8.6

mintar commented 9 years ago

Oops, sorry. I had tested it on Hydro on a0a7a15c, and it worked. The problems you describe are one commit later, on 3ee8460d. Apparently, that commit uses some new features from Indigo.

I've fixed the Indigo problems in the indigo branch and then did a very evil thing and force-pushed hydro to be at a0a7a15c, where it compiles.

Since I force-pushed, you need to do a git checkout hydro && git fetch && git reset --hard origin/hydro instead of a git pull, assuming you have no local changes. Sorry for the mess, but I think this is better than a git revert, especially now before people actually start using the package.

I guess we will just abandon hydro and leave it at a0a7a15c? If we do that, I guess we also don't publish it to debs for hydro? Any thoughts, @hdeeken @jspricke ?

hdeeken commented 9 years ago

Actually we can keep hydro. Just another stupidity on my side, I instantiated the property pointers in the declarations, not in the constructor. seems to work nowadays but not on the old setup. anyways e1b5464c7398be1e2f00869fdb1f8b990d6a6007 fixes that ;) both distros now support the latest version.