orocos / rtt_ros_integration

Orocos-ROS integration libraries and tools
BSD 3-Clause "New" or "Revised" License
83 stars 56 forks source link

Eigen/Dense inclusion error when using rtt_rosparam #164

Open dustingooding opened 3 years ago

dustingooding commented 3 years ago

ROS1 Melodic, Ubuntu 18.04, Orocos toolchain-2.9 from source. I do have Eigen3 installed.

I have a component that makes use of rtt_rosparam. I use #include <rtt_rosparam/rosparam.h> and then use it as normal.

Lately (maybe starting last week?), I've been getting a transient compile error. It doesn't happen every time, but occasionally it does. I haven't been able to pinpoint when/why. Here's the error:

Starting  >>> my_pkg
__________________________________________________________________________________________________________________
Errors     << my_pkg:make /root/my_ws/logs/my_pkg/build.make.026.log
In file included from /root/my_ws/src/my_pkg/include/my_pkg/my_component.hpp:16:0,
                 from /root/my_ws/src/my_pkg/src/my_component.cpp:8:
/opt/orocos/melodic/include/orocos/rtt_rosparam/rosparam.h:9:12: fatal error: Eigen/Dense: No such file or director
y
   #include <Eigen/Dense>
            ^~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/my_component.dir/src/my_component.cpp.o] Error 1
make[1]: *** [CMakeFiles/my_component.dir/all] Error 2
make: *** [all] Error 2

I have Eigen3 installed, and Dense is definitely there:

# ls -al /usr/include/eigen3/Eigen/Dense
-rw-r--r-- 1 root root 122 Jun 15  2017 /usr/include/eigen3/Eigen/Dense

I looked into recent changes for rtt_ros_integration and specifically rtt_rosparam, but I'm not seeing any obvious smoking guns. Do you have any idea why this might be happening?

dustingooding commented 3 years ago

Perhaps rtt_rosparam is missing its catkin_package() macro call? The rtt_dynamic_reconfigure package calls it. https://github.com/orocos/rtt_ros_integration/blob/toolchain-2.9/rtt_dynamic_reconfigure/CMakeLists.txt#L6