0
$\begingroup$

Rosanswers logo

hi all

first: marry christmas

second : I'm not skilled about install a so large enviroment|software ... so I followed the wiki : install Kinect on raspberry http://wiki.ros.org/ROSberryPi/Installing ROS Kinetic on the Raspberry Pi and at point 3.3 Building the catkin Workspace I have got this error

    ==> Processing catkin package: 'geometric_shapes' 
==> Creating build directory: 'build_isolated/geometric_shapes' 
==> Building with env: '/opt/ros/kinetic/env.sh' 
==> cmake /home/pi/ros_catkin_ws/src/geometric_shapes -DCATKIN_DEVEL_PREFIX=/home/pi/ros_catkin_ws/devel_isolated/geometric_shapes -DCMAKE_INSTALL_PREFIX=/op
t/ros/kinetic -DCMAKE_BUILD_TYPE=Release -G Unix Makefiles in '/home/pi/ros_catkin_ws/build_isolated/geometric_shapes' 
-- The C compiler identification is GNU 4.9.2 
bla 
bla
bla
-- Boost version: 1.55.0 
-- Found the following Boost libraries: 
--   system 
--   filesystem 
CMake Error at CMakeLists.txt:24 (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

I've read many posts, but it is unclear for me which cmakelist.txt edit and how to fix it.


Originally posted by AleAle99 on ROS Answers with karma: 11 on 2016-12-25

Post score: 1


Original comments

Comment by burf2000 on 2017-01-06:
Did you fix this as I have the same issue

Comment by AleAle99 on 2017-01-07:
burf2000 Sorry, still no solution .... and unfortunately no idea about what to do!

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

So my workaround for this was to find anywhere where find_package(Eigen3 REQUIRED) is included in CMakeList.txt in the src directory (In each package)

and replace with

set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR})
find_package(Eigen3 REQUIRED)
include_directories(${EIGEN3_INCLUDE_DIR})

Second, Find a copy of the FindEigen3.cmake file and copy it to the same place as the CMakeList.txt. I found it in another package.


Originally posted by burf2000 with karma: 202 on 2017-01-07

This answer was ACCEPTED on the original site

Post score: 2


Original comments

Comment by AleAle99 on 2017-01-07:
GREAT! and to find the string in each CMakeList.txt can I use a linux command or you did it manually? are many files to be changed?

thanks! Ale

Comment by AleAle99 on 2017-01-07:
something like this is right ???

grep -r -i "find_package(Eigen3 REQUIRED)" /home/pi/ros_catkin_ws/

Comment by AleAle99 on 2017-01-07:
i modified 2 files:

~/ros_catkin_ws $ grep -r -i "find_package(Eigen3 REQUIRED)" ~/ros_catkin_ws/

~/ros_catkin_ws/src/robot_state_publisher/CMakeLists.txt:find_package(Eigen3 REQUIRED) ~/ros_catkin_ws/src/geometric_shapes/CMakeLists.txt:find_package(Eigen3 REQUIRED)

but same error!!!

Comment by burf2000 on 2017-01-09:
updated dude :)

Comment by AleAle99 on 2017-01-13:
hI BURF2000

I copied the file FindEigen3.cmake near the two CMakeLists.txt previously modified in the packages ~/ros_catkin_ws/src/robot_state_publisher/ ~/ros_catkin_ws/src/geometric_shapes/

but the error is the same.

Comment by HappyPaul on 2017-04-02:
Followed the instructions verbatim (for desktop install not ROS-comm) and have the same issue. This answer fixed my issue. Thanks fo that. Here is a slightly quicker grep command. ~/ros_catkin_ws $ grep -ri "find_package(Eigen3 REQUIRED)" . --include '*CMakeLists.txt'

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.