pal-robotics / pal_hardware_gazebo

2 stars 5 forks source link

pal_hardware_gazebo.cpp:352:32: error: ‘rw_resources_’ was not declared in this scope #4

Open galou opened 3 years ago

galou commented 3 years ago

Maybe a forgotten file when committing?

Thanks!

v-lopez commented 3 years ago

No, unfortunately in order to use this repository, you'll have to remove your ros control installation and use our fork: https://github.com/pal-robotics-forks/gazebo_ros_pkgs

Will add a readme to reflect this.

galou commented 3 years ago

Thanks for the quick answer! I'll have a look.

galou commented 3 years ago

Unfortunately, I cannot remove the system package ros-melodic-gazebo-ros-control because many packages depend on it. I now have an issue when compiling your fork of gazebo_ros_pkgs, which has no issue list:

default_robot_hw_sim.cpp:235:88: error: cannot convert ‘hardware_interface::JointCommandModes’ to ‘__gnu_cxx::__alloc_traits<std::allocator<int> >::value_type {aka int}’ in assignment
     joint_mode_state_[joint_mode_index] = convert((*it)->getHardwareInterfaceTypes()[0]);

I have Gazebo 9.0 installed.

Would you by change happen to have a clue what happens?

Thanks a lot!

v-lopez commented 3 years ago

It's for the same reason. https://github.com/ros-controls/ros_control/blob/noetic-devel/hardware_interface/include/hardware_interface/joint_mode_interface.h is an enum class and we use an enum.

You'll have other issues related to this, and even if it compiles, depending on how the libraries are loaded you'll have undefined behavior if you have both installed, due to the different API and ABI.