BoostDetectToolset-1.90.0.cmake file not found in an include() call in boost_python-config.cmake

Open
#525 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
48/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
cmake, cpp, macos, python
Domain
build-system

Research direction

Run the attached CMakeLists.txt example with the stated Boost and Python versions, then inspect boost_python-config.cmake and BoostConfig.cmake around the failing include() call. Compare the generated configuration paths with the BoostDetectToolset-1.90.0.cmake locations reported in the issue; done means find_package(Boost REQUIRED COMPONENTS python) completes successfully.

Written by the indexing model from the issue text.

Description

I first installed Python 3.14, Boost 1.90.0 and Boost.Python with Brew on my macOS Sonoma 14.4 and built a minimum working example with CMake, but it didn't work.

When I used

find_package(Boost REQUIRED COMPONENTS python)

to find Boost and ran with command

cmake .. -DCMAKE_PREFIX_PATH='/usr/local/opt/boost' -DBoost_DEBUG=1

the following error occured:

CMake Error at /usr/local/lib/cmake/boost_python-1.90.0/boost_python-config.cmake:29 (include):
  include could not find requested file:

    /usr/local/lib/cmake/boost_python-1.90.0/../BoostDetectToolset-1.90.0.cmake
Call Stack (most recent call first):
  /usr/local/opt/boost/lib/cmake/Boost-1.90.0/BoostConfig.cmake:141 (find_package)
  /usr/local/opt/boost/lib/cmake/Boost-1.90.0/BoostConfig.cmake:262 (boost_find_component)
  CMakeLists.txt:10 (find_package)

After checking the file system, no file named BoostDetectToolset-1.90.0.cmake was found in either /usr/local/lib/cmake/boost_python-1.90.0/.., /usr/local/opt/boost-python3/lib/cmake, or /usr/local/Cellar/boost-python3/1.90.0/lib/cmake. The only BoostDetectToolset-1.90.0.cmake file was in /usr/local/Cellar/boost/1.90.0_1/lib/cmake.

Because there is a

include(${CMAKE_CURRENT_LIST_DIR}/../BoostDetectToolset-1.90.0.cmake)

in the file /usr/local/lib/cmake/boost_python-1.90.0/boost_python-config.cmake which was auto-generated by Boost, and CMAKE_CURRENT_LIST_DIR here refers to /usr/local/lib/cmake/boost_python-config.cmake, I suppose there must be something wrong with the generator of the file.

The following are my minimum working example:
CMakeLists.txt
module.cpp

Do you have any suggestions? Thanks in advance.

Dominant language
C++
Stars
537
Forks
223
Avg merge
11h 22m
Merged PRs (30d)
2

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from boostorg/python

All issues in boostorg/python

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.