Closed craffael closed 2 months ago
This is either a bug in Predef or (more likely) in Boost superproject. You can try to work around it by adding --without-predef
flag to your b2
invocation.
Adding --without-predef
works :) Should I file an issue with Boost Predef?
It's not a problem with Predef. It's either B2 or boost_install or the boost-root/Jamroot. I've been investigating what the problem is exactly for a couple days. Still working on it.
The problem appears to be a combination of the changes to boost-root/Jamroot to support modular building that went into the release and the lack of the corresponding changes in boost_install (https://github.com/boostorg/boost_install/pull/69). Those boost_install changes has logic to avoid using install and stage extra targets if the library doesn't have appropriate install/stage targets.
Not sure how we can proceed here. The next Boost release will almost certainly have the boost_install change and work correctly. And there's a work-around with the --without-predef
option. But a hot patch is also possible by disabling the auto install line in the jamroot (https://github.com/boostorg/boost/blob/boost-1.86.0/Jamroot#L427).
Make sure you completed the following tasks
Environment and version details
B2 5.2.1 (OS=NT, jobs=24)
Brief problem description
running
b2 install --prefix=xxx
fails with the errors of the formerror: No best alternative for /C:/Users/raffael/Downloads/boost_1_86_0.tar/boost_1_86_0/libs/predef/install with
Steps to reproduce the issue
bootstrap.bat
b2 install --prefix=C:\temp\boost
Actual behavior summary
Note that this blocks the newest releas of boost (1.86.0) from installing to a location
Output of
b2 -d2 --debug-configuration install --prefix=C:\temp\boost