On 2/9/22 17:04, Alain O' Miniussi via Boost wrote:
Hi,
I finally got some time time to work on a Boost library and I am, as usual, fighting with bjam. === 14:58:08 [alainm@pollux boost]# ./bootstrap.sh --with-toolset=intel-linux Building B2 engine.. ... icpx (ICX) 2021.1 Beta 20200304 # why not icpc ? ...
icpx -x c++ -std=c++11 -O3 -s -static -DNDEBUG .... -o b2 ld: cannot find -lstdc++ ld: cannot find -lstdc++ ===
The problem here is the -static option, as libstdc++ is not available as an archive on linux (not on the ones I use).
I submitted a fix, with no effect: https://github.com/bfgroup/b2/pull/133/files
Also apparently some good soul (thank you!) started working on a CMake alternative that just work (checked twice). Its only issue is that the tests don't seems to have moved to CMake. So my question is: 1) Am I better off trying to port the testing of Boost.MPI to CMake and just forget about bjam or, 2) Try to invoke some demonic entity to get bjam working with intel-linux.
What is the recommended build method recommended for libraries developers at this point ?
Boost.Build is still the official way to build and test Boost libraries. In particular, the official Boost packages (and probably most, if not all, downstream packages) are built using Boost.Build. CMake support is experimental. I suppose, you can use whatever suits you best in your workflow, but you should still ensure Boost.Build works correctly in all configurations you intend to support.