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

Error Eigean file while installing ROS [closed]

asked 2018-01-12 10:16:30 -0600

Mohammedism gravatar image

updated 2018-01-12 11:28:14 -0600

jayess gravatar image

Hi, i am building my robot and when i try to installed ROS on Raspbian i had this error


CMake Error at CMakeLists.txt:7 (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.

-- Configuring incomplete, errors occurred!
See also "/Users/robert/ros_catkin_ws/build_isolated/pcl_ros/CMakeFiles/CMakeOutput.log".
<== Failed to process package 'pcl_ros':
Command '['/Users/robert/ros_catkin_ws/install_isolated/env.sh', 'cmake', '/Users/robert/ros_catkin_ws/src/perception_pcl/pcl_ros', '-DCATKIN_DEVEL_PREFIX=/Users/robert/ros_catkin_ws/devel_isolated/pcl_ros', '-DCMAKE_INSTALL_PREFIX=/Users/robert/ros_catkin_ws/install_isolated', '-DCMAKE_BUILD_TYPE=Release', '-G', 'Unix Makefiles']' returned non-zero exit status 1

Reproduce this error by running:
 cd /Users/robert/ros_catkin_ws/build_isolated/pcl_ros && /Users/robert/ros_catkin_ws/install_isolated/env.sh cmake /Users/robert/ros_catkin_ws/src/perception_pcl/pcl_ros -DCATKIN_DEVEL_PREFIX=/Users/robert/ros_catkin_ws/devel_isolated/pcl_ros -DCMAKE_INSTALL_PREFIX=/Users/robert/ros_catkin_ws/install_isolated -DCMAKE_BUILD_TYPE=Release -G 'Unix Makefiles'

So can anyone help me and tells me how to fix it? i looked for answers but non of them seems to solve this for me

edit retag flag offensive reopen merge delete

Closed for the following reason the question is answered, right answer was accepted by Mohammedism
close date 2018-01-13 20:48:27.845806

Comments

What version of ROS, what version of Raspbian, how are you trying to install it, what answers did you try but didn't work?

jayess gravatar image jayess  ( 2018-01-12 11:30:04 -0600 )edit

I am using ROS Kinetic on the Raspberry Pi, http://wiki.ros.org/ROSberryPi/Instal... and when i follow the steps provided here i will have this error when i try to build the workspace

Mohammedism gravatar image Mohammedism  ( 2018-01-13 13:53:36 -0600 )edit

i solved the problem by copying the FindEigen3.cmake from cmake.2.8 to cmake.3.6 i think the new version of cmake dont have the FindEigen3.cmake and that what was causing the problem

Mohammedism gravatar image Mohammedism  ( 2018-01-13 13:56:03 -0600 )edit

2 Answers

Sort by ยป oldest newest most voted
1

answered 2018-01-13 13:55:52 -0600

Mohammedism gravatar image

i solved the problem by copying the FindEigen3.cmake from cmake.2.8 to cmake.3.6 i think the new version of cmake dont have the FindEigen3.cmake and that what was causing the problem.

now i am having error with gazeboConfig.cmake can not be found, which i will try to solve.

thank you

edit flag offensive delete link more
-1

answered 2018-01-13 09:04:29 -0600

Eigen is a header only package, ie there are no libraries as part of it. I have found that this error comes up if you try to include it as a package instead of just pointing to it as a header directory.

Try removing the references in cmakelists.txt for the package and point the include_directories() routine to the folder that has Eigen in it.

In my system this is /usr/include/eigen-3/

Not sure why you are building pcl_ros. but I think there are already libraries built as part of rasparian repos for install from apt.

edit flag offensive delete link more

Comments

2

I would not do that.

FindEigen3.cmake is provided by cmake_modules, which should be added to the find_package(catkin COMPONENTS ..) call.

Assuming Eigen is installed in a certain location will make your build script brittle.

gvdhoorn gravatar image gvdhoorn  ( 2018-01-13 09:48:11 -0600 )edit

Agreed. Hardcoding the path to Eigen will make your build brittle and will make it more difficult for other people to use your package.

ahendrix gravatar image ahendrix  ( 2018-01-13 10:47:16 -0600 )edit

Question Tools

2 followers

Stats

Asked: 2018-01-12 10:16:30 -0600

Seen: 238 times

Last updated: Jan 13 '18