In 1.88.0, BCP creates project that doesn't build

Hi, I am attempting to use BCP to put boost into a different namespace as below: mkdir myboost_1_88_0 curl -L https://archives.boost.io/release/1.88.0/source/boost_1_88_0.tar.bz2 | tar -xvjf - cd boost_1_88_0 && ./bootstrap.sh && ./b2 tools/bcp && ./dist/bin/bcp --namespace=myboost . ../myboost_1_88_0 cd ../myboost_1_88_0 ./b2 This results in: … error: Unable to find file or target named error: '/boost/align//boost_align' error: referred to from project at error: '/home/mloyet/external/boost-test/myboost_1_88_0/libs/atomic/build' The snippet appears to work for 1.84.0. Has something changed? Am I invoking BCP incorrectly? ________________________________ Note: This email is for the confidential use of the named addressee(s) only and may contain proprietary, confidential, or privileged information and/or personal data. If you are not the intended recipient, you are hereby notified that any review, dissemination, or copying of this email is strictly prohibited, and requested to notify the sender immediately and destroy this email and any attachments. Email transmission cannot be guaranteed to be secure or error-free. The Company, therefore, does not make any guarantees as to the completeness or accuracy of this email or any attachments. This email is for informational purposes only and does not constitute a recommendation, offer, request, or solicitation of any kind to buy, sell, subscribe, redeem, or perform any type of transaction of a financial product. Personal data, as defined by applicable data protection and privacy laws, contained in this email may be processed by the Company, and any of its affiliated or related companies, for legal, compliance, and/or business-related purposes. You may have rights regarding your personal data; for information on exercising these rights or the Company’s treatment of personal data, please email datarequests@jumptrading.com.

On 24 Apr 2025 19:05, Mason Loyet via Boost wrote:
Hi,
I am attempting to use BCP to put boost into a different namespace as below:
mkdir myboost_1_88_0 curl -L https://archives.boost.io/release/1.88.0/source/boost_1_88_0.tar.bz2 | tar -xvjf - cd boost_1_88_0 && ./bootstrap.sh && ./b2 tools/bcp && ./dist/bin/bcp --namespace=myboost . ../myboost_1_88_0 cd ../myboost_1_88_0 ./b2
This results in:
… error: Unable to find file or target named error: '/boost/align//boost_align' error: referred to from project at error: '/home/mloyet/external/boost-test/myboost_1_88_0/libs/atomic/build'
The snippet appears to work for 1.84.0. Has something changed? Am I invoking BCP incorrectly?
I think, this may be because Boost.Align hasn't merged the support for modular b2 that is gradually being implemented in Boost libraries. Also, I'm not sure if bcp itself supports modular b2. Specifically, I don't see where it copies the <library>/build.jam files.

пн, 28 апр. 2025 г. в 15:17, Andrey Semashev via Boost <boost@lists.boost.org>:
I'm not sure if bcp itself supports modular b2. Specifically, I don't see where it copies the <library>/build.jam files.
No, it doesn't. I have a PR (https://github.com/boostorg/bcp/pull/23) that fixes that to a degree, but it seems to create other problems judging by the CI failure. I didn't have any prior BCP knowledge, and it fixed the specific problem that inspired me to write the PR (the problem was reported on Boost users' list, IIRC), so I never got to finish it.

On 28/04/2025 13:41, Дмитрий Архипов via Boost wrote:
I'm not sure if bcp itself supports modular b2. Specifically, I don't see where it copies the <library>/build.jam files. No, it doesn't. I have a PR (https://github.com/boostorg/bcp/pull/23)
пн, 28 апр. 2025 г. в 15:17, Andrey Semashev via Boost <boost@lists.boost.org>: that fixes that to a degree, but it seems to create other problems judging by the CI failure. I didn't have any prior BCP knowledge, and it fixed the specific problem that inspired me to write the PR (the problem was reported on Boost users' list, IIRC), so I never got to finish it.
I'll try and take a look when I get a chance. However, I get the impression that bcp is used by increasingly fewer people... now that we have modular CMake and Boost.Build, do we still need it? John.

On Mon, Apr 28, 2025 at 10:36 AM John Maddock via Boost < boost@lists.boost.org> wrote:
On 28/04/2025 13:41, Дмитрий Архипов via Boost wrote:
I'm not sure if bcp itself supports modular b2. Specifically, I don't see where it copies the <library>/build.jam files. No, it doesn't. I have a PR (https://github.com/boostorg/bcp/pull/23)
пн, 28 апр. 2025 г. в 15:17, Andrey Semashev via Boost < boost@lists.boost.org>: that fixes that to a degree, but it seems to create other problems judging by the CI failure. I didn't have any prior BCP knowledge, and it fixed the specific problem that inspired me to write the PR (the problem was reported on Boost users' list, IIRC), so I never got to finish it.
I'll try and take a look when I get a chance.
However, I get the impression that bcp is used by increasingly fewer people... now that we have modular CMake and Boost.Build, do we still need it?
The main use case these days appears to be to change the boost namespace. Which is something that is not resolved by the modular changes. Maybe there's some other way to support that use case? And by that I mean.. Maybe there's some not-Boost tool out there that does that. As it seems like a general C++ thing. -- -- René Ferdinand Rivera Morell -- Don't Assume Anything -- No Supongas Nada -- Robot Dreams - http://robot-dreams.net

The main use case these days appears to be to change the boost namespace. Which is something that is not resolved by the modular changes. Maybe there's some other way to support that use case? And by that I mean.. Maybe there's some not-Boost tool out there that does that. As it seems like a general C++ thing.
I’ve found some luck doing the following before building: find . -type f -exec sed -i s/boost/myboost/g {} + find . -depth -name "*boost*" -exec rename boost myboost {} + This does… a bit more than just change the namespace, but it has some nice behavior -- BoostConfig.cmake works, which wasn’t the case for BCP. Curious if there are any other thoughts/suggestions. ________________________________ Note: This email is for the confidential use of the named addressee(s) only and may contain proprietary, confidential, or privileged information and/or personal data. If you are not the intended recipient, you are hereby notified that any review, dissemination, or copying of this email is strictly prohibited, and requested to notify the sender immediately and destroy this email and any attachments. Email transmission cannot be guaranteed to be secure or error-free. The Company, therefore, does not make any guarantees as to the completeness or accuracy of this email or any attachments. This email is for informational purposes only and does not constitute a recommendation, offer, request, or solicitation of any kind to buy, sell, subscribe, redeem, or perform any type of transaction of a financial product. Personal data, as defined by applicable data protection and privacy laws, contained in this email may be processed by the Company, and any of its affiliated or related companies, for legal, compliance, and/or business-related purposes. You may have rights regarding your personal data; for information on exercising these rights or the Company’s treatment of personal data, please email datarequests@jumptrading.com.
participants (5)
-
Andrey Semashev
-
John Maddock
-
Mason Loyet
-
René Ferdinand Rivera Morell
-
Дмитрий Архипов