PilzDE / pilz_teach

Jogging a manipulator and defining poses as you are used to in robotics controllers, but using native ROS functionality
GNU General Public License v3.0
3 stars 2 forks source link

Compilation failed #56

Open cdoehn opened 4 years ago

cdoehn commented 4 years ago

Commit

pilz_teach: d0dfb pilz_robots: b5d88 moveit: efa7f

Steps to reproduce

mkdir catkin_ws cd catkin_ws mkdir src cd src catkin_init_workspace git clone https://github.com/PilzDE/pilz_teach.git git clone https://github.com/PilzDE/pilz_robots.git git clone https://github.com/ros-planning/moveit.git OR: git clone https://github.com/PilzDE/moveit.git cd .. rosdep install --from-paths src --ignore-src -r -y catkin_make

Expected behavior

Should compile without error

Observed behavior 1:

catkin_ws/src/moveit/moveit_core/robot_state/src/conversions.cpp: In function ‘void moveit::core::{anonymous}::_attachedBodyToMsg(const moveit::core::AttachedBody&, moveit_msgs::AttachedCollisionObject&)’: /home/christian/catkin_ws/src/moveit/moveit_core/robot_state/src/conversions.cpp:219:14: error: ‘moveitmsgs::AttachedCollisionObject<std::allocator >::_object_type {aka struct moveitmsgs::CollisionObject<std::allocator >}’ has no member named ‘subframe_names’ aco.object.subframe_names.clear();

Observed behavior 2:

catkin_ws2/src/pilz_robots/prbt_hardware_support/src/libmodbus_client.cpp: In member function ‘virtual void prbt_hardware_support::LibModbusClient::setResponseTimeoutInMs(long unsigned int)’: /home/sascha/catkin_ws2/src/pilz_robots/prbt_hardware_support/src/libmodbus_client.cpp:56:51: error: invalid conversion from ‘timeval*’ to ‘uint32_t {aka unsigned int}’ [-fpermissive] modbus_set_response_timeout(modbusconnection, &response_timeout); ^~~~~

Operating system:

No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 18.04.4 LTS Release: 18.04 Codename: bionic

martiniil commented 4 years ago

Can you check which version of libmodbus-dev is installed on your system? Make sure you have the newest one. Should be 3.0.6-2.

martiniil commented 4 years ago

The other error is related to current un-released changes in moveit_msgs. So a solution would be to also clone https://github.com/ros-planning/moveit_msgs into your workspace.

saheinisch commented 4 years ago

I updated everything, checked out moveit_msgs. libmodbus-dev is also correct.

On my machine, it stills throws the error:


Errors << prbt_hardware_support:make /catkin_ws/logs/prbt_hardware_support/build.make.000.log
/catkin_ws/src/pilz_robots/prbt_hardware_support/src/libmodbus_client.cpp: In member function ‘virtual void prbt_hardware_support::LibModbusClient::setResponseTimeoutInMs(long unsigned int)’: /catkin_ws/src/pilz_robots/prbt_hardware_support/src/libmodbus_client.cpp:56:51: error: invalid conversion from ‘timeval*’ to ‘uint32_t {aka unsigned int}’ [-fpermissive] modbus_set_response_timeout(modbusconnection, &response_timeout); ^~~~~

martiniil commented 4 years ago

Ah, sorry. I thought it is an old Modbus API. But it is the other way around.

Do you have a newer version than 3.0.6?

saheinisch commented 4 years ago

I am using the 3.0.6-2 .

jschleicher commented 4 years ago

@cdoehn Was this compilation problem solved in the meantime?