yujinrobot / kobuki_desktop

Visualisation and simulation tools for Kobuki
http://www.ros.org/wiki/kobuki_desktop
37 stars 58 forks source link

fails to build with newer boost versions #27

Closed wjwwood closed 10 years ago

wjwwood commented 10 years ago

Same thing happened in Gazebo:

https://bitbucket.org/osrf/gazebo/issue/581/boost-shared_-_cast-are-deprecated-removed

This is the error I get (on my mac) with Boost 1.55.0:

/Users/william/hydro_tb_sim/src/kobuki_desktop/kobuki_gazebo_plugins/src/gazebo_ros_kobuki.cpp:251:31: error: no member named 'shared_dynamic_cast' in namespace 'boost'
  cliff_sensor_left_ = boost::shared_dynamic_cast<sensors::RaySensor>(
                       ~~~~~~~^
/Users/william/hydro_tb_sim/src/kobuki_desktop/kobuki_gazebo_plugins/src/gazebo_ros_kobuki.cpp:251:69: error: expected '(' for function-style cast or type construction
  cliff_sensor_left_ = boost::shared_dynamic_cast<sensors::RaySensor>(
                                                  ~~~~~~~~~~~~~~~~~~^
/Users/william/hydro_tb_sim/src/kobuki_desktop/kobuki_gazebo_plugins/src/gazebo_ros_kobuki.cpp:253:33: error: no member named 'shared_dynamic_cast' in namespace 'boost'
  cliff_sensor_center_ = boost::shared_dynamic_cast<sensors::RaySensor>(
                         ~~~~~~~^
/Users/william/hydro_tb_sim/src/kobuki_desktop/kobuki_gazebo_plugins/src/gazebo_ros_kobuki.cpp:253:71: error: expected '(' for function-style cast or type construction
  cliff_sensor_center_ = boost::shared_dynamic_cast<sensors::RaySensor>(
                                                    ~~~~~~~~~~~~~~~~~~^
/Users/william/hydro_tb_sim/src/kobuki_desktop/kobuki_gazebo_plugins/src/gazebo_ros_kobuki.cpp:255:32: error: no member named 'shared_dynamic_cast' in namespace 'boost'
  cliff_sensor_right_ = boost::shared_dynamic_cast<sensors::RaySensor>(
                        ~~~~~~~^
/Users/william/hydro_tb_sim/src/kobuki_desktop/kobuki_gazebo_plugins/src/gazebo_ros_kobuki.cpp:255:70: error: expected '(' for function-style cast or type construction
  cliff_sensor_right_ = boost::shared_dynamic_cast<sensors::RaySensor>(
                                                   ~~~~~~~~~~~~~~~~~~^
/Users/william/hydro_tb_sim/src/kobuki_desktop/kobuki_gazebo_plugins/src/gazebo_ros_kobuki.cpp:301:20: error: no member named 'shared_dynamic_cast' in namespace 'boost'
  bumper_ = boost::shared_dynamic_cast<sensors::ContactSensor>(
            ~~~~~~~^
/Users/william/hydro_tb_sim/src/kobuki_desktop/kobuki_gazebo_plugins/src/gazebo_ros_kobuki.cpp:301:62: error: expected '(' for function-style cast or type construction
  bumper_ = boost::shared_dynamic_cast<sensors::ContactSensor>(
                                       ~~~~~~~~~~~~~~~~~~~~~~^
/Users/william/hydro_tb_sim/src/kobuki_desktop/kobuki_gazebo_plugins/src/gazebo_ros_kobuki.cpp:325:17: error: no member named 'shared_dynamic_cast' in namespace 'boost'
  imu_ = boost::shared_dynamic_cast<sensors::ImuSensor>(
         ~~~~~~~^
/Users/william/hydro_tb_sim/src/kobuki_desktop/kobuki_gazebo_plugins/src/gazebo_ros_kobuki.cpp:325:55: error: expected '(' for function-style cast or type construction
  imu_ = boost::shared_dynamic_cast<sensors::ImuSensor>(
                                    ~~~~~~~~~~~~~~~~~~^
8 warnings and 10 errors generated.
wjwwood commented 10 years ago

Running the sed script in the above linked issue solved the problem for me.

bit-pirate commented 10 years ago

This might be the same issue as filed and fixed here: https://github.com/turtlebot/turtlebot_create_desktop/pull/13

However, I wonder what has happened to the policy of not breaking the API within in the same major version. :unamused:

bit-pirate commented 10 years ago

Wait, I got confused. This issues has already been fixed by PR #26. However, those changes haven't been released into hydro. I assume you have been using the hydro branch.

jihoonl commented 10 years ago

Is this necessary patch for hydro? Then I can merge changes in hydro-devel into hydro and release it.

bit-pirate commented 10 years ago

I believe it is not necessary, since Hydro officially uses Boost 1.48 (http://www.ros.org/reps/rep-0003.html#hydro-medusa-aug-2013). On the other hand I don't see any issue with releasing this into hydro either. On top of that, we haven't done a release of this stack for quite a while.

So, +1 for merging with hydro and releasing it.

PS: Please merge PR #28 before the release.

wjwwood commented 10 years ago

I don't thing #28 is the right pull request?

wjwwood commented 10 years ago

It would be nice to get into Hydro, and it will be required for Indigo.

bit-pirate commented 10 years ago

@wjwwood PR #28 is an additional PR not related to this issue, but the release. I mentioned the PR solving this issue further up, it's #26.

jihoonl commented 10 years ago

hydro has sync with hydro-devel and now it is waiting for release. Closing this.