Trying to build rospack - boost_program_options found with cmake but not with catkin
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 ...
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
and3.9
.This might be the problem although I'm still wondering why it works when I use
cmake
directly. It's the samecmake
catkin
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.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
and3.9
, so perhaps there is something thatcatkin_tools
doesn't like.Could be the CMake version is not a problem at all. Don't know.
Does plain
catkin_make
also not work?that is something only you can figure out :)