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

eigenConfig.cmake not found (ROS Indigo)

asked 2015-07-16 07:27:52 -0600

Valerio gravatar image

I am trying to compile a ros node that uses the eigen library. I am working on Indigo, but I assume that the node was programmed in another version of ROS, since the original programmer does not have this problem.

I get this error:

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.

  Could not find a package configuration file provided by "eigen" with any of
  the following names:

    eigenConfig.cmake
    eigen-config.cmake

  Add the installation prefix of "eigen" to CMAKE_PREFIX_PATH or set
  "eigen_DIR" to a directory containing one of the above files.  If "eigen"
  provides a separate development package or SDK, be sure it has been
  installed.

The eigen library works on my C++ projects, so I know that it is correctly installed. I just can't get it to work with ROS. I looked around to find a solution and I added:

find_package(cmake_modules REQUIRED)
find_package(eigen REQUIRED)
include_directories(${Eigen_INCLUDE_DIRS})

to the CMakeLists.txt, and

<build_depend>cmake_modules</build_depend>
<run_depend>cmake_modules</run_depend>

to the package.xml. However, it didn't solve the problem. Does anybody have the same problem with eigen? What should I do?

edit retag flag offensive close merge delete

2 Answers

Sort by » oldest newest most voted
3

answered 2015-07-16 08:57:11 -0600

mgruhler gravatar image

I guess you have almost everything correct. But in find_package(Eigen REQUIRED), Eigen should start with a capital letter. See the Usage document on cmake_modules

edit flag offensive delete link more

Comments

oh, and the run_depend for cmake_modules is not required.

mgruhler gravatar image mgruhler  ( 2015-07-16 08:57:57 -0600 )edit

I have the same problem. I did all the steps that you have mentioned. but when I compile my code I get this: /usr/include/eigen3/Eigen/src/Cholesky/LDLT.h:52:40: error: ‘RowMajorBit’ was not declared in this scope Options = MatrixType::Options & ~RowMajorBit,

this is not the whole error

soheilred gravatar image soheilred  ( 2015-08-11 22:49:25 -0600 )edit
1

Well, please make a new question with the full error output. Also, include the CMakeLists.txt, the package.xml and, if possible, a minimal example with the error. Or the full source code, if possible (preferably in a link to a repo or a GIST).

mgruhler gravatar image mgruhler  ( 2015-08-12 01:31:12 -0600 )edit
0

answered 2020-03-10 09:15:09 -0600

arminkazim gravatar image

Maybe you could use the file provided by pcl library to deal with this issue https://github.com/PointCloudLibrary/... this contains those settings.

edit flag offensive delete link more

Question Tools

Stats

Asked: 2015-07-16 07:27:52 -0600

Seen: 5,742 times

Last updated: Mar 10 '20