Sample Header Ad - 728x90

CMake against Conda environment

0 votes
1 answer
230 views
I am trying to build some project ([crocoddyl](https://github.com/loco-3d/crocoddyl)) against the conda environment using CMake. Build command is: cmake -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX ${CMAKE_ARGS} -S . -B build I have all the necessary dependencies, namely pinocchio, libboost-python-devel, eignepy. CMake successfully finds eignepy, it is fine, however, when eigenpy checks for boost-python dependency, everything crashes with error:
CMake Error at /home/m8/micromamba/envs/sber-croc/share/cmake-3.29/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find Boost (missing: python310) (found version "1.85.0")
Call Stack (most recent call first):
  /home/m8/micromamba/envs/sber-croc/share/cmake-3.29/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
  /home/m8/micromamba/envs/sber-croc/share/cmake-3.29/Modules/FindBoost.cmake:2393 (find_package_handle_standard_args)
  /home/m8/micromamba/envs/sber-croc/lib/cmake/eigenpy/boost.cmake:144 (find_package)
  /home/m8/micromamba/envs/sber-croc/lib/cmake/eigenpy/eigenpyConfig.cmake:149 (SEARCH_FOR_BOOST_PYTHON)
  cmake/package-config.cmake:110 (find_package)
  CMakeLists.txt:90 (add_project_dependency)
I know for sure, that $CONDA_PREFIX/lib contains libboost_python310.so and libboost_python310.so.1.84.0. However my host system does not have python bindings and only has 1.85.0 version of boost. So I think that during CMake, somehow find_package of eigenpy messes with prefixes and looks in the wrong lib dir. How do I either ignore the system lib or properly specify prefixes? I have tried export CMAKE_PREFIX_PATH=$CONDA_PREFIX as well as -DCMAKE_PREFIX_PATH=$CONDA_PREFIX with no luck. Exporting LD_LIBRARY_PATH did not have effect either. CMake, compilers, pkg-config, everything is installed in conda environment.
Asked by m8dotpie (1 rep)
May 28, 2024, 07:41 AM
Last activity: May 30, 2024, 10:34 AM