Ask Your Question
0

Eigen3 CMake error on Jenkins builds

asked 2016-01-14 04:49:56 -0500

Hello,

I have built a package, freefloating_gazebo, that is now being compiled regularly on Jenkins. I have a constant error in CMake :

CMake Warning at CMakeLists.txt:13 (find_package):
  By not providing "FindEigen3.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "Eigen3", but
  CMake did not find one.

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

    Eigen3Config.cmake
    eigen3-config.cmake

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

So I understand that Eigen3 is not installed in the Jenkins machine. Maybe the compilation is not correctly configured, but I cannot find where I should do any changes.

Can I write in my package that I have a dependency on Eigen3, so that it can be installed automatically, or should I do it manually?

Thanks.

edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted
0

answered 2016-01-14 05:44:12 -0500

gvdhoorn gravatar image

updated 2016-01-14 09:16:12 -0500

So I understand that Eigen3 is not installed in the Jenkins machine. Maybe the compilation is not correctly configured, but I cannot find where I should do any changes.

Looking at your package.xml you don't express a (build) dependency on Eigen anywhere. The buildfarm only installs the minimum set of packages needed to build things. So you need to tell it to make sure Eigen(3) is also in that set.

See catkin 0.6.16 documentation » How to do common tasks » Package format 1 (legacy) » C++ system library dependencies for information on how to do that (seeing as you're still using package format 1, the link takes you to that version of the documentation. For package format version 2, see catkin 0.6.16 documentation » How to do common tasks » Package format 2 (recommended) » C++ system library dependencies).

See also Eigen CMake Module in cmake_modules about Eigen(3) in Jade and newer in the Jade migration guide.

edit flag offensive delete link more

Comments

Great, thanks. That's exactly what I missed, how to express a build dependency on an external lib.

I'll give it a try.

Olivier Kermorgant gravatar image Olivier Kermorgant  ( 2016-01-14 09:01:44 -0500 )edit

Working fine with <depend>eigen</depend>, it was as simple as that.

Olivier Kermorgant gravatar image Olivier Kermorgant  ( 2016-01-18 04:28:10 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2016-01-14 04:49:56 -0500

Seen: 371 times

Last updated: Jan 14 '16