ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
11

catkin_make eigen indigo

asked 2014-08-01 22:03:32 -0500

silgon gravatar image

Hi guys! I have a project in which I've been working on groovy and hydro. I want to compile the same thing on indigo because I had to install ubuntu 14.04 on my computer and I need to use that project. I'm having a problem right now when I'm trying to compile. The error comes from the FIND_PACKAGE(Eigen REQUIRED) command.

  CMake Error at project/CMakeLists.txt:24 (FIND_PACKAGE):
  By not providing "FindEigen.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "Eigen", but
  CMake did not find one.

I got the idea from http://wiki.ros.org/cmake_modules that it should be the same thing in hydro than in indigo for the eigen module (so I shouldn't have any problems). So I don't know what to do. I'm getting that problem and I know that I have the cmake file needed on /opt/ros/indigo/share/cmake_modules/cmake/Modules/FindEigen.cmake.

Just last thing, I have libeigen3-dev installed from the ubuntu repositories, so I'm sure that I shouldn't have any problem because of that.

According to https://github.com/ros/cmake_modules/... I should not have any problem with `FIND_PACKAGE(Eigen REQUIRED)``

edit retag flag offensive close merge delete

2 Answers

Sort by » oldest newest most voted
24

answered 2014-08-01 22:08:08 -0500

silgon gravatar image

updated 2014-08-02 11:07:34 -0500

I found the answer just before finishing my question. So... I forgot to write the dependencies on my package.xml and CMakeLists.txt

   # package.xml
   <build_depend>cmake_modules</build_depend>
   <run_depend>cmake_modules</run_depend> # this line was not described on the website
   # CMakeFiles.txt
   find_package(cmake_modules REQUIRED)

This is because I didn't need that before in past versions. If you have any input about that it would be appreciated, even when the question is already answered ;)

edit flag offensive delete link more

Comments

ooooohhh.... But then that's new only for indigo right? I haven't compiled with hydro with that version yet. But, then if that package is new it shouldn't not work with hydro and groovy if I'm correct. (I'll be checking later also) =)

silgon gravatar image silgon  ( 2014-08-02 11:07:10 -0500 )edit
1

cmake_modules 0.2.0 was released to Hydro and Groovy, so you can depend on it. FindEigen.cmake moved there from catkin to cmake_modules 0.3.0 in Indigo. So, I think the identical code will work with Hydro. Let us know if it does not.

joq gravatar image joq  ( 2014-08-02 16:19:49 -0500 )edit

In hydro I didn't need to `find_package(cmake_modules REQUIRED)` for `Eigen` to work. But well.... I'm happy that it works anyway =)

silgon gravatar image silgon  ( 2014-08-02 20:32:24 -0500 )edit

In fact, the run depend tag is not required. Check my answer at stackoverflow for a more complete answer

Javier V. Gómez gravatar image Javier V. Gómez  ( 2015-07-01 08:41:40 -0500 )edit
1

That answer assumes eigen was already installed. I think that dependency is needed for ROS package dependencies to work correctly.

joq gravatar image joq  ( 2015-07-01 09:00:23 -0500 )edit
2

answered 2014-08-02 10:20:54 -0500

joq gravatar image

For this and similar changes see the Indigo migration page: http://wiki.ros.org/indigo/Migration#cmake_modules .

edit flag offensive delete link more

Question Tools

3 followers

Stats

Asked: 2014-08-01 22:03:32 -0500

Seen: 14,508 times

Last updated: Aug 02 '14