Skip to content

cobalt not built using b2 when specifying cxxstd=23 #261

@jcmonnin

Description

@jcmonnin

On Windows with MSVC, it took me a while to figure out that I need to revert from C++23 to C++20 mode if I want the cobalt libs to be built.

This doesn't build cobalt
b2 cxxstd=23 --with-cobalt (see [1])

But this works
b2 cxxstd=20 --with-cobalt (see [2])

To me it looks more like a b2 issue, but post it here as I know nothing about the b2 build system and encountered this issue when wanting to use cobalt.

Also note the warning: non-free usage requirements <boost.cobalt.pmr>std ignored which I'm not sure if it's fine to ignore or not (as described in #245)

I use b2 out of habit, but is it recommended to use CMake to build boost these days?


[1] in C++23 mode

b2 cxxstd=23 --with-cobalt
Performing configuration checks

    - default address-model    : 64-bit [1]
    - default architecture     : x86 [1]

Building the Boost C++ Libraries.


    - cxx20_hdr_concepts       : no [2]
    - cxx20_hdr_concepts       : no [3]
    - BOOST_ARCH_WORD_BITS == 0.0.16 : no [2]
    - BOOST_ARCH_WORD_BITS == 0.0.32 : no [2]
    - BOOST_ARCH_WORD_BITS == 0.0.64 : no [2]
    - BOOST_ARCH_X86           : no [2]
    - BOOST_ARCH_IA64          : no [2]
    - BOOST_ARCH_SPARC         : no [2]
    - BOOST_ARCH_LOONGARCH     : no [2]
    - BOOST_ARCH_MIPS          : no [2]
    - BOOST_ARCH_PARISC        : no [2]
    - BOOST_ARCH_ARM           : no [2]
    - BOOST_ARCH_RISCV         : no [2]
    - BOOST_ARCH_PPC           : no [2]
    - BOOST_ARCH_SYS390        : no [2]
    - ssl                      : no [2]
    - cxx20_hdr_concepts       : no [4]
    - cxx20_hdr_concepts       : no [5]
    - BOOST_ARCH_WORD_BITS == 0.0.16 : no [4]
    - BOOST_ARCH_WORD_BITS == 0.0.32 : no [4]
    - BOOST_ARCH_WORD_BITS == 0.0.64 : no [4]
    - BOOST_ARCH_X86           : no [4]
    - BOOST_ARCH_IA64          : no [4]
    - BOOST_ARCH_SPARC         : no [4]
    - BOOST_ARCH_LOONGARCH     : no [4]
    - BOOST_ARCH_MIPS          : no [4]
    - BOOST_ARCH_PARISC        : no [4]
    - BOOST_ARCH_ARM           : no [4]
    - BOOST_ARCH_RISCV         : no [4]
    - BOOST_ARCH_PPC           : no [4]
    - BOOST_ARCH_SYS390        : no [4]
    - ssl                      : no [4]
    - cxx20_hdr_concepts       : no [6]
    - cxx20_hdr_concepts       : no [7]
    - BOOST_ARCH_WORD_BITS == 0.0.16 : no [6]
    - BOOST_ARCH_WORD_BITS == 0.0.32 : no [6]
    - BOOST_ARCH_WORD_BITS == 0.0.64 : no [6]
    - BOOST_ARCH_X86           : no [6]
    - BOOST_ARCH_IA64          : no [6]
    - BOOST_ARCH_SPARC         : no [6]
    - BOOST_ARCH_LOONGARCH     : no [6]
    - BOOST_ARCH_MIPS          : no [6]
    - BOOST_ARCH_PARISC        : no [6]
    - BOOST_ARCH_ARM           : no [6]
    - BOOST_ARCH_RISCV         : no [6]
    - BOOST_ARCH_PPC           : no [6]
    - BOOST_ARCH_SYS390        : no [6]
    - ssl                      : no [6]
    - cxx20_hdr_concepts       : no [8]
    - cxx20_hdr_concepts       : no [9]
    - BOOST_ARCH_WORD_BITS == 0.0.16 : no [8]
    - BOOST_ARCH_WORD_BITS == 0.0.32 : no [8]
    - BOOST_ARCH_WORD_BITS == 0.0.64 : no [8]
    - BOOST_ARCH_X86           : no [8]
    - BOOST_ARCH_IA64          : no [8]
    - BOOST_ARCH_SPARC         : no [8]
    - BOOST_ARCH_LOONGARCH     : no [8]
    - BOOST_ARCH_MIPS          : no [8]
    - BOOST_ARCH_PARISC        : no [8]
    - BOOST_ARCH_ARM           : no [8]
    - BOOST_ARCH_RISCV         : no [8]
    - BOOST_ARCH_PPC           : no [8]
    - BOOST_ARCH_SYS390        : no [8]
    - ssl                      : no [8]

[2] in C++20 mode

b2 cxxstd=20 --with-cobalt
Performing configuration checks

    - default address-model    : 64-bit (cached) [1]
    - default architecture     : x86 (cached) [1]

Building the Boost C++ Libraries.


    - cxx20_hdr_concepts       : yes [2]
    - cpp_lib_memory_resource  : yes [2]
    - BOOST_ARCH_WORD_BITS == 0.0.16 : no [2]
    - BOOST_ARCH_WORD_BITS == 0.0.32 : no [2]
    - BOOST_ARCH_WORD_BITS == 0.0.64 : no [2]
    - BOOST_ARCH_X86           : no [2]
    - BOOST_ARCH_IA64          : no [2]
    - BOOST_ARCH_SPARC         : no [2]
    - BOOST_ARCH_LOONGARCH     : no [2]
    - BOOST_ARCH_MIPS          : no [2]
    - BOOST_ARCH_PARISC        : no [2]
    - BOOST_ARCH_ARM           : no [2]
    - BOOST_ARCH_RISCV         : no [2]
    - BOOST_ARCH_PPC           : no [2]
    - BOOST_ARCH_SYS390        : no [2]
warning: non-free usage requirements <boost.cobalt.pmr>std ignored
warning: in main-target boost_cobalt at C:\Users\jean-claude\Documents\src\boost_1_90_0\libs\cobalt\build\Jamfile:80
    - ssl                      : no [2]
    - cxx20_hdr_concepts       : yes [3]
    - cpp_lib_memory_resource  : yes [3]
    - BOOST_ARCH_WORD_BITS == 0.0.16 : no [3]
    - BOOST_ARCH_WORD_BITS == 0.0.32 : no [3]
    - BOOST_ARCH_WORD_BITS == 0.0.64 : no [3]
    - BOOST_ARCH_X86           : no [3]
    - BOOST_ARCH_IA64          : no [3]
    - BOOST_ARCH_SPARC         : no [3]
    - BOOST_ARCH_LOONGARCH     : no [3]
    - BOOST_ARCH_MIPS          : no [3]
    - BOOST_ARCH_PARISC        : no [3]
    - BOOST_ARCH_ARM           : no [3]
    - BOOST_ARCH_RISCV         : no [3]
    - BOOST_ARCH_PPC           : no [3]
    - BOOST_ARCH_SYS390        : no [3]
    - ssl                      : no [3]
    - cxx20_hdr_concepts       : yes [4]
    - cpp_lib_memory_resource  : yes [4]
    - BOOST_ARCH_WORD_BITS == 0.0.16 : no [4]
    - BOOST_ARCH_WORD_BITS == 0.0.32 : no [4]
    - BOOST_ARCH_WORD_BITS == 0.0.64 : no [4]
    - BOOST_ARCH_X86           : no [4]
    - BOOST_ARCH_IA64          : no [4]
    - BOOST_ARCH_SPARC         : no [4]
    - BOOST_ARCH_LOONGARCH     : no [4]
    - BOOST_ARCH_MIPS          : no [4]
    - BOOST_ARCH_PARISC        : no [4]
    - BOOST_ARCH_ARM           : no [4]
    - BOOST_ARCH_RISCV         : no [4]
    - BOOST_ARCH_PPC           : no [4]
    - BOOST_ARCH_SYS390        : no [4]
    - ssl                      : no [4]
    - cxx20_hdr_concepts       : yes [5]
    - cpp_lib_memory_resource  : yes [5]
    - BOOST_ARCH_WORD_BITS == 0.0.16 : no [5]
    - BOOST_ARCH_WORD_BITS == 0.0.32 : no [5]
    - BOOST_ARCH_WORD_BITS == 0.0.64 : no [5]
    - BOOST_ARCH_X86           : no [5]
    - BOOST_ARCH_IA64          : no [5]
    - BOOST_ARCH_SPARC         : no [5]
    - BOOST_ARCH_LOONGARCH     : no [5]
    - BOOST_ARCH_MIPS          : no [5]
    - BOOST_ARCH_PARISC        : no [5]
    - BOOST_ARCH_ARM           : no [5]
    - BOOST_ARCH_RISCV         : no [5]
    - BOOST_ARCH_PPC           : no [5]
    - BOOST_ARCH_SYS390        : no [5]
    - ssl                      : no [5]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions