Я настраиваю проект CMake, который имеет следующую строку в `CMakeLists.txt`:
find_package(Boost ${BOOST_VERSION} REQUIRED CONFIG
COMPONENTS ${BOOST_REQ_COMPONENTS}
OPTIONAL_COMPONENTS charconv process)
и у меня установлен пакет libboost1.88-all-dev в моем дистрибутиве Devuan Excalibur GNU/Linux (это похоже на Debian Trixie, но без systemd). Кажется, у меня есть заголовки процесса Boost, например. /usr/include/boost/process/process.hpp на месте. И все же CMake (4.2.1) не может найти компонент процесса Boost. Ниже я прикрепляю журнал find-pkg.
Почему CMake не может найти пакет и что я могу сделать, чтобы CMake нашел его?
Файлы конфигурации CMake пакета Boost:
# dpkg -L libboost1.88-dev | grep -i config.cmake
/usr/lib/x86_64-linux-gnu/cmake/Boost-1.88.0/BoostConfig.cmake
/usr/lib/x86_64-linux-gnu/cmake/boost_headers-1.88.0/boost_headers-config.cmake
Вывод отладки для попытки CMake найти boost_process:
Running with debug output on for the 'find' commands for package(s) boost_process.
-- Could NOT find boost_process (missing: boost_process_DIR)
CMake Debug Log at /usr/lib/x86_64-linux-gnu/cmake/Boost-1.88.0/BoostConfig.cmake:141 (find_package):
The internally managed CMAKE_FIND_PACKAGE_REDIRECTS_DIR.
/usr/local/src/my_pkg/build/CMakeFiles/pkgRedirects
_ROOT CMake variable [CMAKE_FIND_USE_PACKAGE_ROOT_PATH].
none
CMAKE_PREFIX_PATH variable [CMAKE_FIND_USE_CMAKE_PATH].
none
CMAKE_FRAMEWORK_PATH and CMAKE_APPBUNDLE_PATH variables
[CMAKE_FIND_USE_CMAKE_PATH].
none
Env variable boost_process_DIR [CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH].
none
CMAKE_PREFIX_PATH env variable [CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH].
none
CMAKE_FRAMEWORK_PATH and CMAKE_APPBUNDLE_PATH env variables
[CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH].
none
Paths specified by the find_package HINTS option.
/usr/lib/x86_64-linux-gnu/cmake
Standard system environment variables
[CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH].
/home/joeuser
/opt/chromium
/opt/cmake
/opt/clion
/usr/local
/usr
/
/home/joeuser/.local
/home/joeuser/.cargo
CMake User Package Registry [CMAKE_FIND_USE_PACKAGE_REGISTRY].
none
CMake variables defined in the Platform file
[CMAKE_FIND_USE_CMAKE_SYSTEM_PATH].
/usr/X11R6
/usr/pkg
/opt
CMake System Package Registry
[CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY].
none
Paths specified by the find_package PATHS option.
none
find_package considered the following locations for boost_process's Config
module:
... all sorts of locations here, I've removed them for brevity...
The file was not found.
Call Stack (most recent call first):
/usr/lib/x86_64-linux-gnu/cmake/Boost-1.88.0/BoostConfig.cmake:262 (boost_find_component)
CMakeLists.txt:62 (find_package)
Подробнее здесь: https://stackoverflow.com/questions/799 ... ostprocess