Trying to build rospack - boost_program_options found with cmake but not with catkin

asked 2018-01-08 03:41:47 -0600

Hendrik Wiese gravatar image

Hi everyone,

first some details:

  • ROS Kinetic Kame
  • Python Catkin tools installed
  • Ubuntu 16.04 LTS

Now to my problem: I'm battling some very strange error here. I have a custom version of rospack in my catkin workspace because I'm annoyed of the warning that rospack cannot access part of my home directory path. That's correct, I know that, it's company policy. The only thing I changed is commenting out that annoying warning. Everything else is unchanged from the GitHub repo.

I'm trying to build my workspace by means of

$ catkin build

which unfortunately results in the following error message given by the rospack build process.

Errors     << rospack:cmake /home/<folder_without_read_permission>/<accessible_user_folder>/catkin_ws/logs/rospack/build.cmake.005.log
CMake Warning at /usr/local/share/cmake-3.9/Modules/FindBoost.cmake:801 (message):
  New Boost version may have incorrect or missing dependencies and imported
  targets
Call Stack (most recent call first):
  /usr/local/share/cmake-3.9/Modules/FindBoost.cmake:907 (_Boost_COMPONENT_DEPENDENCIES)
  /usr/local/share/cmake-3.9/Modules/FindBoost.cmake:1542 (_Boost_MISSING_DEPENDENCIES)
  CMakeLists.txt:7 (find_package)


CMake Warning at /usr/local/share/cmake-3.9/Modules/FindBoost.cmake:801 (message):
  New Boost version may have incorrect or missing dependencies and imported
  targets
Call Stack (most recent call first):
  /usr/local/share/cmake-3.9/Modules/FindBoost.cmake:907 (_Boost_COMPONENT_DEPENDENCIES)
  /usr/local/share/cmake-3.9/Modules/FindBoost.cmake:1542 (_Boost_MISSING_DEPENDENCIES)
  CMakeLists.txt:7 (find_package)


CMake Warning at /usr/local/share/cmake-3.9/Modules/FindBoost.cmake:801 (message):
  New Boost version may have incorrect or missing dependencies and imported
  targets
Call Stack (most recent call first):
  /usr/local/share/cmake-3.9/Modules/FindBoost.cmake:907 (_Boost_COMPONENT_DEPENDENCIES)
  /usr/local/share/cmake-3.9/Modules/FindBoost.cmake:1542 (_Boost_MISSING_DEPENDENCIES)
  CMakeLists.txt:7 (find_package)


CMake Error at /usr/local/share/cmake-3.9/Modules/FindBoost.cmake:1928 (message):
  Unable to find the requested Boost libraries.

  Boost version: 1.66.0

  Boost include path: /usr/local/include

  Could not find the following Boost libraries:

          boost_program_options

  Some (but not all) of the required Boost libraries were found.  You may
  need to install these additional Boost libraries.  Alternatively, set
  BOOST_LIBRARYDIR to the directory containing Boost libraries or BOOST_ROOT
  to the location of Boost.
Call Stack (most recent call first):
  CMakeLists.txt:7 (find_package)


cd /home/<folder_without_read_permission>/<accessible_user_folder>/catkin_ws/build/rospack; catkin build --get-env rospack | catkin env -si  /usr/local/bin/cmake /home/<folder_without_read_permission>/<accessible_user_folder>/catkin_ws/src/rospack --no-warn-unused-cli -DCATKIN_DEVEL_PREFIX=/home/<folder_without_read_permission>/<accessible_user_folder>/catkin_ws/devel/.private/rospack -DCMAKE_INSTALL_PREFIX=/home/<folder_without_read_permission>/<accessible_user_folder>/catkin_ws/install; cd -
........................................................................................................................
Failed     << rospack:cmake                       [ Exited with code 1 ]                                                
Failed    <<< rospack                             [ 0.9 seconds ]                                                       
Abandoned <<< kinect2_calibration                 [ Unrelated job failed ]                                              
Abandoned <<< kinect2_viewer                      [ Unrelated job failed ]                                              
Finished  <<< my_stack_ros                          [ 1.3 seconds ]                                                       
Finished  <<< rqt_bag_plugins                     [ 0.2 seconds ]                                                       
Finished  <<< kinect2_bridge                      [ 0.3 seconds ]                                                       
[build] Summary: 6 of 9 packages succeeded.                                                                             
[build]   Ignored:   1 packages were skipped or are blacklisted.                                                        
[build]   Warnings:  None.                                                                                              
[build]   Abandoned: 2 packages were abandoned.                                                                         
[build]   Failed:    1 packages failed.                                                                                 
[build] Runtime: 2.1 seconds total.                                                                                     
✘-1 ~/catkin_ws

The strange thing about this is, when I use cmake and ... (more)

edit retag flag offensive close merge delete

Comments

Just a note (but you're probably already aware of this): your system has newer versions of two important build dependencies of Kinetic: Boost (1.66 vs 1.55 (REP-3)) and CMake (3.9 vs 3.0.2 (REP-3)).

Not saying that is the cause of your problems, but CMake has changed a bit between 3.0 and 3.9.

gvdhoorn gravatar imagegvdhoorn ( 2018-01-08 06:03:38 -0600 )edit

This might be the problem although I'm still wondering why it works when I use cmake directly. It's the same cmakecatkin uses on my machine. And some other weird thing is that some parts of my workspace insist on Boost 1.66. Maybe because there are some non-ROS libraries linked to 1.66.

Hendrik Wiese gravatar imageHendrik Wiese ( 2018-01-08 06:23:40 -0600 )edit

As I wrote: those two might not be the cause at all, I just noticed them.

Library handling (exported targets, etc) has seen quite some changes between 3.0 and 3.9, so perhaps there is something that catkin_tools doesn't like.

Could be the CMake version is not a problem at all. Don't know.

gvdhoorn gravatar imagegvdhoorn ( 2018-01-08 06:25:42 -0600 )edit

Does plain catkin_make also not work?

And some other weird thing is that some parts of my workspace insist on Boost 1.66. Maybe because there are some non-ROS libraries linked to 1.66.

that is something only you can figure out :)

gvdhoorn gravatar imagegvdhoorn ( 2018-01-08 06:27:22 -0600 )edit