Skip to content

./bootstrap.sh --show-libraries output broken in 1.89.0 #1078

@heinemml

Description

@heinemml

The output of ./bootstrap.sh --show-libraries changed with boost 1.89.0.
I didn't find any info in the release notes that header only libraries are now also listed. Is this a feature? can they now be selected separately?

But also all the detected compiler features are listed. I assume this is an error?

❯ ./bootstrap.sh --show-libraries                                                                                                                                                        ─╯
Building B2 engine..                                                                                                                                                                        
###
###
### Using 'gcc' toolset.
###
###

g++ (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


###
###

> g++ -x c++ -std=c++11 -pthread -O2 -s -DNDEBUG bindjam.cpp builtins.cpp class.cpp command.cpp compile.cpp constants.cpp cwd.cpp debug.cpp debugger.cpp events.cpp execcmd.cpp execnt.cpp execunix.cpp filent.cpp filesys.cpp fileunix.cpp frames.cpp function.cpp glob.cpp hash.cpp hcache.cpp hdrmacro.cpp headers.cpp jam_strings.cpp jam.cpp jamgram.cpp lists.cpp make.cpp make1.cpp md5.cpp mem.cpp modules.cpp native.cpp output.cpp parse.cpp pathnt.cpp pathsys.cpp pathunix.cpp regexp.cpp rules.cpp scan.cpp search.cpp startup.cpp tasks.cpp timestamp.cpp value.cpp variable.cpp w32_getreg.cpp mod_args.cpp mod_command_db.cpp mod_db.cpp mod_jam_builtin.cpp mod_jam_class.cpp mod_jam_errors.cpp mod_jam_modules.cpp mod_order.cpp mod_path.cpp mod_property_set.cpp mod_regex.cpp mod_sequence.cpp mod_set.cpp mod_string.cpp mod_summary.cpp mod_sysinfo.cpp mod_version.cpp -o b2

The following Boost libraries have portions that require a separate build
and installation step. Any library not listed here can be used by including
the headers only.

The Boost libraries requiring separate building and installation are:
    - default address-model    : 64-bit [1]
    - default architecture     : x86 [1]
    - std_wstreambuf builds    : yes [2]
    - std_wstreambuf           : yes [2]
    - BOOST_COMP_GNUC >= 4.3.0 : yes [2]
    - BOOST_COMP_GNUC >= 4.3.0 : yes [3]
    - cxx11_constexpr          : yes [2]
    - cxx11_variadic_templates : yes [2]
    - cxx11_rvalue_references  : yes [2]
    - cxx11_hdr_thread         : yes [2]
    - cxx11_hdr_mutex          : yes [2]
    - cxx11_hdr_regex          : yes [2]
    - has std::atomic_ref      : no [2]
    - has -Wl,--no-undefined   : yes [2]
    - has statx                : yes [2]
    - cxx11_scoped_enums       : yes [2]
    - cxx11_noexcept           : yes [2]
    - cxx11_nullptr            : yes [2]
    - cxx11_defaulted_functions : yes [2]
    - cxx11_defaulted_moves    : yes [2]
    - cxx11_deleted_functions  : yes [2]
    - cxx11_function_template_default_args : yes [2]
    - cxx11_unified_initialization_syntax : yes [2]
    - cxx11_final              : yes [2]
    - cxx11_override           : yes [2]
    - has init_priority attribute : yes [2]
    - has stat::st_blksize     : yes [2]
    - has stat::st_mtim        : yes [2]
    - has stat::st_mtimensec   : no [2]
    - has stat::st_mtimespec   : no [2]
    - has stat::st_birthtim    : no [2]
    - has stat::st_birthtimensec : no [2]
    - has stat::st_birthtimespec : no [2]
    - has fdopendir(O_NOFOLLOW) : yes [2]
    - has dirent::d_type       : yes [2]
    - has POSIX *at APIs       : yes [2]
    - has fallocate            : yes [2]
    - has pthread_cond_clockwait : yes [2]
    - compiler supports SSE2   : yes [2]
    - compiler supports SSE4.1 : yes [2]
    - cxx11_decltype           : yes [2]
    - cxx11_decltype_n3276     : yes [2]
    - cxx11_template_aliases   : yes [2]
    - cxx11_static_assert      : yes [2]
    - cxx11_hdr_ratio          : yes [2]
    - cxx11_hdr_chrono         : yes [2]
    - has unions with non-trivial members : yes [2]
    - has <type_traits> sufficient for Boost.Atomic : yes [2]
    - exceptions               : yes [2]
    - sfinae_expr              : yes [2]
    - has <type_traits> sufficient for Boost.Scope : yes [2]
    - has_icu builds           : yes [2]
    - lockfree boost::atomic_flag : yes [2]
    - cxx11_char16_t           : yes [2]
    - cxx11_char32_t           : yes [2]
    - cxx11_hdr_tuple          : yes [2]
    - boost.stacktrace.addr2line : yes [2]
    - cxx11_rvalue_references  : yes [3]
    - boost.stacktrace.backtrace : yes [2]
    - boost.stacktrace.basic   : no [2]
    - boost.stacktrace.from_exception : yes
    - boost.stacktrace.from_exception : yes
    - boost.stacktrace.windbg  : no [2]
    - boost.stacktrace.windbg  : no [4]
    - boost.stacktrace.windbg_cached : no [2]
    - boost.stacktrace.windbg_cached : no [4]
    - cxx11_auto_declarations  : yes [2]
    - cxx11_lambdas            : yes [2]
    - cxx11_hdr_initializer_list : yes [2]
    - cxx11_numeric_limits     : yes [2]
    - cxx11_hdr_array          : yes [2]
    - cxx11_hdr_type_traits    : yes [2]
    - cxx11_explicit_conversion_operators : yes [2]
    - 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 : yes [5]
    - BOOST_ARCH_X86           : yes [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]
    - has std::atomic_ref      : no [5]
    - has -Wl,--no-undefined   : yes [5]
    - has statx                : yes [5]
    - cxx11_rvalue_references  : yes [5]
    - cxx11_scoped_enums       : yes [5]
    - cxx11_noexcept           : yes [5]
    - cxx11_nullptr            : yes [5]
    - cxx11_defaulted_functions : yes [5]
    - cxx11_defaulted_moves    : yes [5]
    - cxx11_deleted_functions  : yes [5]
    - cxx11_function_template_default_args : yes [5]
    - cxx11_unified_initialization_syntax : yes [5]
    - cxx11_final              : yes [5]
    - cxx11_override           : yes [5]
    - has init_priority attribute : yes [5]
    - has stat::st_blksize     : yes [5]
    - has stat::st_mtim        : yes [5]
    - has stat::st_mtimensec   : no [5]
    - has stat::st_mtimespec   : no [5]
    - has stat::st_birthtim    : no [5]
    - has stat::st_birthtimensec : no [5]
    - has stat::st_birthtimespec : no [5]
    - has fdopendir(O_NOFOLLOW) : yes [5]
    - has dirent::d_type       : yes [5]
    - has POSIX *at APIs       : yes [5]
    - has fallocate            : yes [5]
    - has pthread_cond_clockwait : yes [5]
    - compiler supports SSE2   : yes [5]
    - compiler supports SSE4.1 : yes [5]
    - cxx11_constexpr          : yes [5]
    - cxx11_decltype           : yes [5]
    - cxx11_decltype_n3276     : yes [5]
    - cxx11_template_aliases   : yes [5]
    - cxx11_static_assert      : yes [5]
    - cxx11_hdr_ratio          : yes [5]
    - cxx11_hdr_chrono         : yes [5]
    - has unions with non-trivial members : yes [5]
    - has <type_traits> sufficient for Boost.Atomic : yes [5]
    - exceptions               : yes [5]
    - sfinae_expr              : yes [5]
    - cxx11_variadic_templates : yes [5]
    - has <type_traits> sufficient for Boost.Scope : yes [5]
    - cxx11_auto_declarations  : yes [6]
    - cxx11_char16_t           : yes [6]
    - cxx11_char32_t           : yes [6]
    - cxx11_constexpr          : yes [6]
    - cxx11_decltype           : yes [6]
    - cxx11_defaulted_functions : yes [6]
    - cxx11_noexcept           : yes [6]
    - cxx11_nullptr            : yes [6]
    - cxx11_override           : yes [6]
    - cxx11_rvalue_references  : yes [6]
    - cxx11_static_assert      : yes [6]
    - cxx11_template_aliases   : yes [6]
    - cxx11_variadic_templates : yes [6]
    - Has Large File Support   : yes [6]
    - Has attribute init_priority : yes [6]
    - sfinae_expr              : yes [6]
    - cxx11_lambdas            : yes [6]
    - cxx11_unified_initialization_syntax : yes [6]
    - cxx11_hdr_tuple          : yes [6]
    - cxx11_hdr_initializer_list : yes [6]
    - cxx11_numeric_limits     : yes [6]
    - cxx11_hdr_array          : yes [6]
    - cxx11_hdr_type_traits    : yes [6]
    - cxx11_explicit_conversion_operators : yes [6]
    - gcc visibility           : yes [6]
    - cxx11_hdr_chrono         : yes [6]
    - cxx11_thread_local       : yes [6]
    - cxx11_hdr_atomic         : yes [6]
    - cxx11_allocator          : yes [6]
    - cxx14_constexpr          : yes [6]
    - cxx14_decltype_auto      : yes [6]
    - cxx14_generic_lambdas    : yes [6]
    - cxx14_return_type_deduction : yes [6]
    - cxx14_variable_templates : yes [6]
    - cxx14_type_traits        : yes [6]
    - long double support      : yes [6]
    - BOOST_ARCH_WORD_BITS == 0.0.16 : no [7]
    - BOOST_ARCH_WORD_BITS == 0.0.32 : no [7]
    - BOOST_ARCH_WORD_BITS == 0.0.64 : yes [7]
    - BOOST_ARCH_X86           : yes [7]
    - BOOST_ARCH_IA64          : no [7]
    - BOOST_ARCH_SPARC         : no [7]        
    - BOOST_ARCH_LOONGARCH     : no [7]
    - BOOST_ARCH_MIPS          : no [7]
    - BOOST_ARCH_PARISC        : no [7]
    - BOOST_ARCH_ARM           : no [7]
    - BOOST_ARCH_RISCV         : no [7]
    - BOOST_ARCH_PPC           : no [7]
    - BOOST_ARCH_SYS390        : no [7]
    - compiler supports SSSE3  : yes [6]
    - compiler supports AVX2   : yes [6]
    - has pthread_cond_clockwait : yes [7]
    - compiler supports SSE2   : yes [7]
    - compiler supports SSE4.1 : yes [7]
    - cxx11_constexpr          : yes [7]
    - cxx11_noexcept           : yes [7]
    - cxx11_nullptr            : yes [7]
    - cxx11_decltype           : yes [7]
    - cxx11_decltype_n3276     : yes [7]
    - cxx11_template_aliases   : yes [7]
    - cxx11_static_assert      : yes [7]
    - cxx11_rvalue_references  : yes [7]
    - cxx11_scoped_enums       : yes [7]
    - cxx11_defaulted_functions : yes [7]
    - cxx11_deleted_functions  : yes [7]
    - cxx11_hdr_ratio          : yes [7]
    - cxx11_hdr_chrono         : yes [7]
    - has unions with non-trivial members : yes [7]
    - has <type_traits> sufficient for Boost.Atomic : yes [7]
    - native atomic int32 supported : yes [6]
    - native syslog supported  : yes [6]
    - pthread supports robust mutexes : yes [6]
    - 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 : yes [6]
    - BOOST_ARCH_X86           : yes [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]
    - has_icu builds           : yes [7]
    - Boost.Regex is header-only : yes [6]
    - has pthread_cond_clockwait : yes [6]
    - compiler supports SSE2   : yes [6]
    - compiler supports SSE4.1 : yes [6]
    - cxx11_decltype_n3276     : yes [6]
    - cxx11_scoped_enums       : yes [6]
    - cxx11_deleted_functions  : yes [6]
    - cxx11_hdr_ratio          : yes [6]
    - has unions with non-trivial members : yes [6]
    - has <type_traits> sufficient for Boost.Atomic : yes [6]
    - has std::atomic_ref      : no [6]
    - has -Wl,--no-undefined   : yes [6]
    - has statx                : yes [6]
    - cxx11_defaulted_moves    : yes [6]
    - cxx11_function_template_default_args : yes [6]
    - cxx11_final              : yes [6]
    - has init_priority attribute : yes [6]
    - has stat::st_blksize     : yes [6]
    - has stat::st_mtim        : yes [6]
    - has stat::st_mtimensec   : no [6]
    - has stat::st_mtimespec   : no [6]
    - has stat::st_birthtim    : no [6]
    - has stat::st_birthtimensec : no [6]
    - has stat::st_birthtimespec : no [6]
    - has fdopendir(O_NOFOLLOW) : yes [6]
    - has dirent::d_type       : yes [6]
    - has POSIX *at APIs       : yes [6]
    - has fallocate            : yes [6]
    - exceptions               : yes [6]
    - has <type_traits> sufficient for Boost.Scope : yes [6]
    - has_icu builds           : yes [6]
    - lockfree boost::atomic_flag : yes [6]
    - std_wstreambuf builds    : yes [6]
    - GCC libquadmath and __float128 support : yes [6]
    - icu                      : yes [6]
    - iconv (libc)             : yes [6]
    - cxx11_alignas            : yes [6]
    - zlib                     : yes [6]
    - bzip2                    : no [6]
    - lzma                     : no [6]
    - zstd                     : no [6]
    - has_lzma_cputhreads builds : no [9]
    - cxx20_hdr_concepts       : no [9]
    - cxx20_hdr_concepts       : no [10]
    - date_time                : building
    - exception                : building
    - graph                    : building
    - graph_parallel           : building
    - program_options          : building
    - serialization            : building
    - test                     : building
    - yap                      : building
    - winapi                   : building
    - wave                     : building
    - variant2                 : building
    - variant                  : building
    - uuid                     : building
    - utility                  : building
    - url                      : building
    - unordered                : building
    - typeof                   : building
    - type_traits              : building
    - type_index               : building
    - type_erasure             : building
    - tuple                    : building
    - tokenizer                : building
    - timer                    : building
    - throw_exception          : building
    - thread                   : building
    - system                   : building
    - stl_interfaces           : building
    - static_assert            : building
    - stacktrace               : building
    - spirit                   : building
    - sort                     : building
    - smart_ptr                : building
    - signals2                 : building
    - scope                    : building
    - regex                    : building
    - redis                    : building
    - rational                 : building
    - ratio                    : building
    - random                   : building
    - python                   : building
    - ptr_container            : building
    - property_tree            : building
    - property_map             : building
    - process                  : building
    - preprocessor             : building
    - predef                   : building
    - pool                     : building
    - poly_collection          : building
    - pfr                      : building
    - parser                   : building
    - parameter                : building
    - outcome                  : building
    - optional                 : building
    - nowide                   : building
    - mysql                    : building
    - multiprecision           : building
    - multi_index              : building
    - msm                      : building
    - mqtt5                    : building
    - mpl                      : building
    - mpi                      : building
    - mp11                     : building
    - move                     : building
    - metaparse                : building
    - math                     : building
    - logic                    : building
    - log                      : building
    - lockfree                 : building
    - locale                   : building
    - lexical_cast             : building
    - lambda2                  : building
    - lambda                   : building
    - json                     : building
    - iterator                 : building
    - iostreams                : building
    - intrusive                : building
    - interprocess             : building
    - integer                  : building
    - histogram                : building
    - heap                     : building
    - headers                  : building
    - hash2                    : building
    - hana                     : building
    - geometry                 : building
    - function_types           : building
    - function                 : building
    - format                   : building
    - flyweight                : building
    - filesystem               : building
    - fiber                    : building
    - endian                   : building
    - dynamic_bitset           : building
    - dll                      : building
    - detail                   : building
    - describe                 : building
    - crc                      : building
    - coroutine2               : building
    - coroutine                : building
    - core                     : building
    - conversion               : building
    - contract                 : building
    - context                  : building
    - container_hash           : building
    - container                : building
    - config                   : building
    - concept_check            : building
    - compat                   : building
    - cobalt                   : building
    - chrono                   : building
    - charconv                 : building
    - bloom                    : building
    - bind                     : building
    - bimap                    : building
    - beast                    : building
    - atomic                   : building
    - assign                   : building
    - assert                   : building
    - asio                     : building
    - array                    : building
    - any                      : building
    - accumulators             : building

For comparison the output with boost 1.88.0:

❯ ./bootstrap.sh --show-libraries                                                                                                                                                       
Building B2 engine..

###
###
### Using 'gcc' toolset.
###
###

g++ (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


###
###

> g++ -x c++ -std=c++11 -pthread -O2 -s -DNDEBUG bindjam.cpp builtins.cpp class.cpp command.cpp compile.cpp constants.cpp cwd.cpp debug.cpp debugger.cpp events.cpp execcmd.cpp execnt.cpp e
xecunix.cpp filent.cpp filesys.cpp fileunix.cpp frames.cpp function.cpp glob.cpp hash.cpp hcache.cpp hdrmacro.cpp headers.cpp jam_strings.cpp jam.cpp jamgram.cpp lists.cpp make.cpp make1.c
pp md5.cpp mem.cpp modules.cpp native.cpp option.cpp output.cpp parse.cpp pathnt.cpp pathsys.cpp pathunix.cpp regexp.cpp rules.cpp scan.cpp search.cpp startup.cpp tasks.cpp timestamp.cpp v
alue.cpp variable.cpp w32_getreg.cpp mod_command_db.cpp mod_db.cpp mod_jam_builtin.cpp mod_jam_class.cpp mod_jam_errors.cpp mod_jam_modules.cpp mod_order.cpp mod_path.cpp mod_property_set.
cpp mod_regex.cpp mod_sequence.cpp mod_set.cpp mod_string.cpp mod_summary.cpp mod_sysinfo.cpp mod_version.cpp -o b2
tools/build/src/engine/b2

The following Boost libraries have portions that require a separate build
and installation step. Any library not listed here can be used by including
the headers only.

The Boost libraries requiring separate building and installation are:
    - contract
    - date_time
    - exception
    - graph
    - graph_parallel
    - headers
    - log
    - nowide
    - program_options
    - regex
    - serialization
    - test
    - thread
    - type_erasure
    - yap
    - winapi
    - wave
    - variant2
    - variant
    - uuid
    - url
    - unordered
    - type_index
    - tuple
    - tokenizer
    - timer
    - throw_exception
    - system
    - stl_interfaces
    - stacktrace
    - spirit
    - sort
    - smart_ptr
    - signals2
    - scope
    - redis
    - rational
    - ratio
    - random
    - python
    - ptr_container
    - property_map
    - process
    - predef
    - pool
    - poly_collection
    - pfr
    - parameter
    - outcome
    - optional
    - mysql
    - multi_index
    - msm
    - mqtt5
    - mpl
    - mpi
    - mp11
    - move
    - math
    - logic
    - lockfree
    - locale
    - lexical_cast
    - lambda2
    - json
    - iterator
    - iostreams
    - intrusive
    - interprocess
    - integer
    - heap
    - hana
    - geometry
    - function_types
    - function
    - format
    - flyweight
    - filesystem
    - fiber
    - endian
    - dynamic_bitset
    - dll
    - detail
    - describe
    - crc
    - coroutine2
    - coroutine
    - core
    - conversion
    - context
    - container_hash
    - container
    - concept_check
    - compat
    - cobalt
    - chrono
    - charconv
    - bind
    - bimap
    - beast
    - atomic
    - assign
    - assert
    - asio
    - array
    - any

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