Cmake no detecta boost-python al instalar ROS

He intentado instalar ROS en mi Mac y he solucionado los errores con diferentes bibliotecas en función de las diferentes versiones de boost.

Sin embargo, parece que una biblioteca ni siquiera está detectando boost-python.

Aquí está el error que recibo:

CMake Error at /usr/local/share/cmake-3.12/Modules/FindBoost.cmake:2048 (message): Unable to find the requested Boost libraries. Boost version: 1.67.0 Boost include path: /usr/local/include Could not find the following static Boost libraries: boost_python 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:8 (find_package) -- skipping nosetests(parser.py) in project 'camera_calibration_parsers' -- Configuring incomplete, errors occurred! See also "/Users/redacted/ros_catkin_ws/build_isolated/camera_calibration_parsers/CMakeFiles/CMakeOutput.log".  cd /Users/redacted/ros_catkin_ws/build_isolated/camera_calibration_parsers && /Users/redacted/ros_catkin_ws/install_isolated/env.sh cmake /Users/redacted/ros_catkin_ws/src/image_common/camera_calibration_parsers -DCATKIN_DEVEL_PREFIX=/Users/redacted/ros_catkin_ws/devel_isolated/camera_calibration_parsers -DCMAKE_INSTALL_PREFIX=/Users/redacted/ros_catkin_ws/install_isolated -DCMAKE_BUILD_TYPE=Release -DCMAKE_FIND_FRAMEWORK=LAST -DBoost_USE_STATIC_LIBS=ON -G 'Unix Makefiles' 

Esto es lo que sucede cuando lo ejecuto con -DBoost_DEBUG = ON

 ==> Processing catkin package: 'camera_calibration_parsers' ==> Building with env: '/Users/nik312123/ros_catkin_ws/install_isolated/env.sh' ==> cmake /Users/nik312123/ros_catkin_ws/src/image_common/camera_calibration_parsers -DCATKIN_DEVEL_PREFIX=/Users/nik312123/ros_catkin_ws/devel_isolated/camera_calibration_parsers -DCMAKE_INSTALL_PREFIX=/Users/nik312123/ros_catkin_ws/install_isolated -DCMAKE_BUILD_TYPE=Release -DCMAKE_FIND_FRAMEWORK=LAST -DBoost_USE_STATIC_LIBS=ON -DBoost_DEBUG=ON -G Unix Makefiles in '/Users/nik312123/ros_catkin_ws/build_isolated/camera_calibration_parsers' -- Using CATKIN_DEVEL_PREFIX: /Users/redacted/ros_catkin_ws/devel_isolated/camera_calibration_parsers -- Using CMAKE_PREFIX_PATH: /Users/redacted/ros_catkin_ws/install_isolated;/usr/local/Cellar/qt/5.11.2/ -- This workspace overlays: /Users/redacted/ros_catkin_ws/install_isolated -- Using PYTHON_EXECUTABLE: /usr/local/bin/python -- Using default Python package layout -- Using empy: /usr/local/lib/python2.7/site-packages/em.pyc -- Using CATKIN_ENABLE_TESTING: ON -- Call enable_testing() -- Using CATKIN_TEST_RESULTS_DIR: /Users/redacted/ros_catkin_ws/build_isolated/camera_calibration_parsers/test_results -- Found gtest: gtests will be built -- nosetests not found, Python tests can not be run (try installing package 'python-nose') -- catkin 0.7.14 -- [ /usr/local/share/cmake-3.12/Modules/FindBoost.cmake:1125 ] _boost_TEST_VERSIONS = 1.68.0;1.68;1.67.0;1.67;1.66.0;1.66;1.65.1;1.65.0;1.65;1.64.0;1.64;1.63.0;1.63;1.62.0;1.62;1.61.0;1.61;1.60.0;1.60;1.59.0;1.59;1.58.0;1.58;1.57.0;1.57;1.56.0;1.56;1.55.0;1.55;1.54.0;1.54;1.53.0;1.53;1.52.0;1.52;1.51.0;1.51;1.50.0;1.50;1.49.0;1.49;1.48.0;1.48;1.47.0;1.47;1.46.1;1.46.0;1.46;1.45.0;1.45;1.44.0;1.44;1.43.0;1.43;1.42.0;1.42;1.41.0;1.41;1.40.0;1.40;1.39.0;1.39;1.38.0;1.38;1.37.0;1.37;1.36.1;1.36.0;1.36;1.35.1;1.35.0;1.35;1.34.1;1.34.0;1.34;1.33.1;1.33.0;1.33 -- [ /usr/local/share/cmake-3.12/Modules/FindBoost.cmake:1127 ] Boost_USE_MULTITHREADED = TRUE -- [ /usr/local/share/cmake-3.12/Modules/FindBoost.cmake:1129 ] Boost_USE_STATIC_LIBS = ON -- [ /usr/local/share/cmake-3.12/Modules/FindBoost.cmake:1131 ] Boost_USE_STATIC_RUNTIME = -- [ /usr/local/share/cmake-3.12/Modules/FindBoost.cmake:1133 ] Boost_ADDITIONAL_VERSIONS = -- [ /usr/local/share/cmake-3.12/Modules/FindBoost.cmake:1135 ] Boost_NO_SYSTEM_PATHS = -- [ /usr/local/share/cmake-3.12/Modules/FindBoost.cmake:1203 ] Declared as CMake or Environmental Variables: -- [ /usr/local/share/cmake-3.12/Modules/FindBoost.cmake:1205 ] BOOST_ROOT = -- [ /usr/local/share/cmake-3.12/Modules/FindBoost.cmake:1207 ] BOOST_INCLUDEDIR = -- [ /usr/local/share/cmake-3.12/Modules/FindBoost.cmake:1209 ] BOOST_LIBRARYDIR = -- [ /usr/local/share/cmake-3.12/Modules/FindBoost.cmake:1211 ] _boost_TEST_VERSIONS = 1.68.0;1.68;1.67.0;1.67;1.66.0;1.66;1.65.1;1.65.0;1.65;1.64.0;1.64;1.63.0;1.63;1.62.0;1.62;1.61.0;1.61;1.60.0;1.60;1.59.0;1.59;1.58.0;1.58;1.57.0;1.57;1.56.0;1.56;1.55.0;1.55;1.54.0;1.54;1.53.0;1.53;1.52.0;1.52;1.51.0;1.51;1.50.0;1.50;1.49.0;1.49;1.48.0;1.48;1.47.0;1.47;1.46.1;1.46.0;1.46;1.45.0;1.45;1.44.0;1.44;1.43.0;1.43;1.42.0;1.42;1.41.0;1.41;1.40.0;1.40;1.39.0;1.39;1.38.0;1.38;1.37.0;1.37;1.36.1;1.36.0;1.36;1.35.1;1.35.0;1.35;1.34.1;1.34.0;1.34;1.33.1;1.33.0;1.33 -- [ /usr/local/share/cmake-3.12/Modules/FindBoost.cmake:1310 ] location of version.hpp: /usr/local/include/boost/version.hpp -- [ /usr/local/share/cmake-3.12/Modules/FindBoost.cmake:1334 ] version.hpp reveals boost 1.67.0 -- [ /usr/local/share/cmake-3.12/Modules/FindBoost.cmake:1420 ] guessed _boost_COMPILER = -- [ /usr/local/share/cmake-3.12/Modules/FindBoost.cmake:1430 ] _boost_MULTITHREADED = -mt -- [ /usr/local/share/cmake-3.12/Modules/FindBoost.cmake:1506 ] _boost_RELEASE_ABI_TAG = - -- [ /usr/local/share/cmake-3.12/Modules/FindBoost.cmake:1508 ] _boost_DEBUG_ABI_TAG = -d -- [ /usr/local/share/cmake-3.12/Modules/FindBoost.cmake:1571 ] _boost_LIBRARY_SEARCH_DIRS_RELEASE = /usr/local/lib;NO_DEFAULT_PATH;NO_CMAKE_FIND_ROOT_PATH_boost_LIBRARY_SEARCH_DIRS_DEBUG = /usr/local/lib;NO_DEFAULT_PATH;NO_CMAKE_FIND_ROOT_PATH -- [ /usr/local/share/cmake-3.12/Modules/FindBoost.cmake:1760 ] Searching for FILESYSTEM_LIBRARY_RELEASE: boost_filesystem-mt-1_67;boost_filesystem-mt;boost_filesystem -- [ /usr/local/share/cmake-3.12/Modules/FindBoost.cmake:400 ] Boost_LIBRARY_DIR_RELEASE = /usr/local/lib _boost_LIBRARY_SEARCH_DIRS_RELEASE = /usr/local/lib;NO_DEFAULT_PATH;NO_CMAKE_FIND_ROOT_PATH -- [ /usr/local/share/cmake-3.12/Modules/FindBoost.cmake:1813 ] Searching for FILESYSTEM_LIBRARY_DEBUG: boost_filesystem-mt-d-1_67;boost_filesystem-mt-d;boost_filesystem-mt;boost_filesystem -- [ /usr/local/share/cmake-3.12/Modules/FindBoost.cmake:400 ] Boost_LIBRARY_DIR_DEBUG = /usr/local/lib _boost_LIBRARY_SEARCH_DIRS_DEBUG = /usr/local/lib;NO_DEFAULT_PATH;NO_CMAKE_FIND_ROOT_PATH -- [ /usr/local/share/cmake-3.12/Modules/FindBoost.cmake:1760 ] Searching for PYTHON_LIBRARY_RELEASE: boost_python-mt-1_67;boost_python-mt;boost_python -- [ /usr/local/share/cmake-3.12/Modules/FindBoost.cmake:400 ] Boost_LIBRARY_DIR_RELEASE = /usr/local/lib _boost_LIBRARY_SEARCH_DIRS_RELEASE = /usr/local/lib;NO_DEFAULT_PATH;NO_CMAKE_FIND_ROOT_PATH -- [ /usr/local/share/cmake-3.12/Modules/FindBoost.cmake:1813 ] Searching for PYTHON_LIBRARY_DEBUG: boost_python-mt-d-1_67;boost_python-mt-d;boost_python-mt;boost_python -- [ /usr/local/share/cmake-3.12/Modules/FindBoost.cmake:400 ] Boost_LIBRARY_DIR_DEBUG = /usr/local/lib _boost_LIBRARY_SEARCH_DIRS_DEBUG = /usr/local/lib;NO_DEFAULT_PATH;NO_CMAKE_FIND_ROOT_PATH -- [ /usr/local/share/cmake-3.12/Modules/FindBoost.cmake:1760 ] Searching for SYSTEM_LIBRARY_RELEASE: boost_system-mt-1_67;boost_system-mt;boost_system -- [ /usr/local/share/cmake-3.12/Modules/FindBoost.cmake:400 ] Boost_LIBRARY_DIR_RELEASE = /usr/local/lib _boost_LIBRARY_SEARCH_DIRS_RELEASE = /usr/local/lib;NO_DEFAULT_PATH;NO_CMAKE_FIND_ROOT_PATH -- [ /usr/local/share/cmake-3.12/Modules/FindBoost.cmake:1813 ] Searching for SYSTEM_LIBRARY_DEBUG: boost_system-mt-d-1_67;boost_system-mt-d;boost_system-mt;boost_system -- [ /usr/local/share/cmake-3.12/Modules/FindBoost.cmake:400 ] Boost_LIBRARY_DIR_DEBUG = /usr/local/lib _boost_LIBRARY_SEARCH_DIRS_DEBUG = /usr/local/lib;NO_DEFAULT_PATH;NO_CMAKE_FIND_ROOT_PATH -- [ /usr/local/share/cmake-3.12/Modules/FindBoost.cmake:1887 ] Boost_FOUND = 1 CMake Error at /usr/local/share/cmake-3.12/Modules/FindBoost.cmake:2048 (message): Unable to find the requested Boost libraries. Boost version: 1.67.0 Boost include path: /usr/local/include Could not find the following static Boost libraries: boost_python 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:8 (find_package) -- skipping nosetests(parser.py) in project 'camera_calibration_parsers' -- Configuring incomplete, errors occurred! See also "/Users/redacted/ros_catkin_ws/build_isolated/camera_calibration_parsers/CMakeFiles/CMakeOutput.log". 

Probé opciones como usar -DBoost_USE_STATIC_LIBS = ON y exportar varias rutas como las siguientes:

     export INCLUDE="/usr/local/include/boost:$INCLUDE" export LIBRARY_PATH="/usr/local/lib:$LIBRARY_PATH" export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH" 

    También tengo el CMakeOutput.log como se menciona al final del bloque de código -DBoost_DEBUG = ON. Es muy largo, así que hice un pastebin aquí.

    Recibí una respuesta basada en el enlace de Tsyvarev. Puede crear un enlace simbólico a las bibliotecas en el mismo directorio sin el anexo 27, de este modo:

     ln -s libboost_python27-mt.a libboost_python-mt.a ln -s libboost_python27-mt.dylib libboost_python-mt.dylib ln -s libboost_python27.a libboost_python.a ln -s libboost_python27.dylib libboost_python.dylib 

    Tienes instalado Boost, pero ¿has construido los binarios de Boost? Ver

    unix-prepare-to-use-a-boost-library-binary

    Muchas bibliotecas Boost son solo para encabezados y no requieren la creación de un binario, pero boost-python sí lo hace. Vea esta respuesta para obtener una lista de las bibliotecas que sí requieren construcción:

    ¿Qué bibliotecas Boost son solo para encabezado?