Skip to content

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

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions