conan-io / conan-center-index

Recipes for the ConanCenter repository
https://conan.io/center
MIT License
946 stars 1.72k forks source link

[package] boost/1.84.0: Boost component `cobalt` is missing libraries. #22548

Open DominikDeak opened 7 months ago

DominikDeak commented 7 months ago

Description

Building boost/1.84.0 fails, because the boost component cobalt appears to be missing libraries.

boost/1.84.0: WARN: Boost component 'cobalt' is missing libraries. Try building boost with '-o boost:without_cobalt'. (Option is not guaranteed to exist)
ERROR: boost/1.84.0: Error in package_info() method, line 1750
    raise ConanException(f"These libraries were expected to be built, but were not built: {non_built}")
    ConanException: These libraries were expected to be built, but were not built: {'boost_cobalt'}

Current work-around is building without the cobalt component:

conan install boost/1.84.0@ -o boost:without_cobalt --build

Package and Environment Details

Conan profile

[settings] os=Macos os.version=11.0 os_build=Macos arch=armv8 arch_build=armv8 compiler=apple-clang compiler.version=14.0 compiler.libcxx=libc++ build_type=Release [options] [conf] [build_requires] [env]

Steps to reproduce

conan install boost/1.84.0@ --build

Logs

Click to expand log ``` boost/1.84.0: Applying build-requirement: b2/4.10.1 Downloading conan_sources.tgz completed [0.41k] Decompressing conan_sources.tgz completed [0.00k] boost/1.84.0: Configuring sources in /Users/dom/.conan/data/boost/1.84.0/_/_/source/src Downloading boost_1_84_0.tar.bz2 completed [120225.14k] boost/1.84.0: /1.84.0: boost/1.84.0: boost/1.84.0: Apply patch (conan): Optional flag to specify iconv from either libc of libiconv boost/1.84.0: Building your package in /Users/dom/.conan/data/boost/1.84.0/_/_/build/e1da00df8136ddc5ecdfd921443e327ff2fd8c2d boost/1.84.0: Generator txt created conanbuildinfo.txt boost/1.84.0: Calling generate() boost/1.84.0: Aggregating env generators boost/1.84.0: Calling build() boost/1.84.0: WARN: replace_in_file didn't find pattern '/* thread_local */' in '/Users/dom/.conan/data/boost/1.84.0/_/_/source/src/boost/stacktrace/detail/libbacktrace_impls.hpp' file. boost/1.84.0: WARN: replace_in_file didn't find pattern '/* static __thread */' in '/Users/dom/.conan/data/boost/1.84.0/_/_/source/src/boost/stacktrace/detail/libbacktrace_impls.hpp' file. boost/1.84.0: WARN: replace_in_file didn't find pattern 'local generic-os = [ set.difference $(all-os) : aix darwin vxworks solaris osf hpux ] ;' in '/Users/dom/.conan/data/boost/1.84.0/_/_/source/src/tools/build/src/tools/gcc.jam' file. boost/1.84.0: WARN: replace_in_file didn't find pattern 'local no-threading = android beos haiku sgi darwin vxworks ;' in '/Users/dom/.conan/data/boost/1.84.0/_/_/source/src/tools/build/src/tools/gcc.jam' file. boost/1.84.0: WARN: Patching user-config.jam boost/1.84.0: WARN: Using the new toolchains and generators without specifying a build profile (e.g: -pr:b=default) is discouraged and might cause failures and unexpected behavior boost/1.84.0: WARN: using zlib : 1.3.1 : "/Users/dom/.conan/data/zlib/1.3.1/_/_/package/bcd3acb45732a7b421d1472bb9724eb6854281a0/include" "/Users/dom/.conan/data/zlib/1.3.1/_/_/package/bcd3acb45732a7b421d1472bb9724eb6854281a0/lib" z ; using bzip2 : 1.0.8 : "/Users/dom/.conan/data/bzip2/1.0.8/_/_/package/b2e7ff6c61d92df3cf2d3aa21f1615d9393a881d/include" "/Users/dom/.conan/data/bzip2/1.0.8/_/_/package/b2e7ff6c61d92df3cf2d3aa21f1615d9393a881d/lib" bz2 ; using "clang-darwin" : : "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++" -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk -arch arm64 : "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar" "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib" "-I/Users/dom/.conan/data/libbacktrace/cci.20210118/_/_/package/bcd3acb45732a7b421d1472bb9724eb6854281a0/include" "-L/Users/dom/.conan/data/libbacktrace/cci.20210118/_/_/package/bcd3acb45732a7b421d1472bb9724eb6854281a0/lib" ; boost/1.84.0: WARN: Using the new toolchains and generators without specifying a build profile (e.g: -pr:b=default) is discouraged and might cause failures and unexpected behavior boost/1.84.0: WARN: b2 -q numa=on target-os=darwin architecture=arm address-model=64 binary-format=mach-o abi=aapcs --layout=system --user-config=/Users/dom/.conan/data/boost/1.84.0/_/_/source/src/tools/build/user-config.jam -sNO_ZLIB=0 -sNO_BZIP2=0 -sNO_LZMA=1 -sNO_ZSTD=1 boost.locale.icu=off --disable-icu boost.locale.iconv=on boost.locale.iconv.lib=libiconv threading=multi visibility=hidden link=static variant=release --with-atomic --with-chrono --with-cobalt --with-container --with-context --with-contract --with-coroutine --with-date_time --with-exception --with-fiber --with-filesystem --with-graph --with-iostreams --with-json --with-locale --with-log --with-math --with-nowide --with-program_options --with-random --with-regex --with-serialization --with-stacktrace --with-system --with-test --with-thread --with-timer --with-type_erasure --with-url --with-wave toolset=clang-darwin pch=on -sLIBBACKTRACE_PATH=/Users/dom/.conan/data/libbacktrace/cci.20210118/_/_/package/bcd3acb45732a7b421d1472bb9724eb6854281a0 -sICONV_PATH=/Users/dom/.conan/data/libiconv/1.17/_/_/package/bcd3acb45732a7b421d1472bb9724eb6854281a0 linkflags="-stdlib=libc++ -mmacosx-version-min=11.0" cxxflags="-fPIC -stdlib=libc++ -mmacosx-version-min=11.0 -DBOOST_STACKTRACE_ADDR2LINE_LOCATION=/usr/bin/addr2line" install --prefix=/Users/dom/.conan/data/boost/1.84.0/_/_/package/e1da00df8136ddc5ecdfd921443e327ff2fd8c2d -j8 --abbreviate-paths -d0 --debug-configuration --build-dir="/Users/dom/.conan/data/boost/1.84.0/_/_/build/e1da00df8136ddc5ecdfd921443e327ff2fd8c2d/build-release" notice: found boost-build.jam at /Users/dom/.conan/data/boost/1.84.0/_/_/source/src/boost-build.jam notice: loading B2 from /Users/dom/.conan/data/b2/4.10.1/_/_/package/3c0de34097bec1e89a9e5a67a58905079570f916/bin/.b2/kernel/bootstrap.jam notice: Searching '/etc' '/Users/dom' '/Users/dom/.conan/data/b2/4.10.1/_/_/package/3c0de34097bec1e89a9e5a67a58905079570f916/bin/.b2/kernel' '/Users/dom/.conan/data/b2/4.10.1/_/_/package/3c0de34097bec1e89a9e5a67a58905079570f916/bin/.b2/util' '/Users/dom/.conan/data/b2/4.10.1/_/_/package/3c0de34097bec1e89a9e5a67a58905079570f916/bin/.b2/build' '/Users/dom/.conan/data/b2/4.10.1/_/_/package/3c0de34097bec1e89a9e5a67a58905079570f916/bin/.b2/tools' '/Users/dom/.conan/data/b2/4.10.1/_/_/package/3c0de34097bec1e89a9e5a67a58905079570f916/bin/.b2/contrib' '/Users/dom/.conan/data/b2/4.10.1/_/_/package/3c0de34097bec1e89a9e5a67a58905079570f916/bin/.b2/.' for site-config configuration file 'site-config.jam'. notice: Configuration file 'site-config.jam' not found in '/etc' '/Users/dom' '/Users/dom/.conan/data/b2/4.10.1/_/_/package/3c0de34097bec1e89a9e5a67a58905079570f916/bin/.b2/kernel' '/Users/dom/.conan/data/b2/4.10.1/_/_/package/3c0de34097bec1e89a9e5a67a58905079570f916/bin/.b2/util' '/Users/dom/.conan/data/b2/4.10.1/_/_/package/3c0de34097bec1e89a9e5a67a58905079570f916/bin/.b2/build' '/Users/dom/.conan/data/b2/4.10.1/_/_/package/3c0de34097bec1e89a9e5a67a58905079570f916/bin/.b2/tools' '/Users/dom/.conan/data/b2/4.10.1/_/_/package/3c0de34097bec1e89a9e5a67a58905079570f916/bin/.b2/contrib' '/Users/dom/.conan/data/b2/4.10.1/_/_/package/3c0de34097bec1e89a9e5a67a58905079570f916/bin/.b2/.'. notice: Loading explicitly specified user configuration file: /Users/dom/.conan/data/boost/1.84.0/_/_/source/src/tools/build/user-config.jam notice: Searching '/Users/dom/.conan/data/boost/1.84.0/_/_/source/src/tools/build' for user-config configuration file 'user-config.jam'. notice: Loading user-config configuration file 'user-config.jam' from '/Users/dom/.conan/data/boost/1.84.0/_/_/source/src/tools/build'. notice: [zlib] Using pre-installed library notice: [zlib] Condition notice: [bzip2] Using pre-installed library notice: [bzip2] Condition notice: will use '/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++' '-isysroot' '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk' '-arch' 'arm64' for clang-darwin, condition clang-14 notice: [zlib] zlib is already configured notice: [bzip2] bzip is already configured notice: iostreams: not using lzma compression notice: iostreams: not using zstd compression notice: [python-cfg] Configuring python... notice: [python-cfg] Checking interpreter command "python"... notice: [python-cfg] running command 'python -c "from sys import *; print('version=%d.%d\nplatform=%s\nprefix=%s\nexec_prefix=%s\nexecutable=%s' % (version_info[0],version_info[1],platform,prefix,exec_prefix,executable))" 2>&1' notice: [python-cfg] ...does not invoke a working interpreter notice: [python-cfg] Python headers and libraries not found. Performing configuration checks - default address-model : 64-bit [1] - default architecture : arm [1] - cxx11_static_assert : yes [2] - cxx20_hdr_concepts : no [2] - cxx20_hdr_concepts : no [3] - has std::atomic_ref : no [2] - has statx : no [2] - has statx syscall : no [2] - has init_priority attribute : yes [2] - has stat::st_blksize : no [2] - has stat::st_mtim : no [2] - has stat::st_mtimensec : no [2] - has stat::st_mtimespec : yes [2] - has stat::st_birthtim : no [2] - has stat::st_birthtimensec : no [2] - has stat::st_birthtimespec : yes [2] - has fdopendir(O_NOFOLLOW) : yes [2] - has dirent::d_type : yes [2] - has POSIX *at APIs : no [2] - cxx11_auto_declarations : yes [2] - cxx11_constexpr : yes [2] - cxx11_defaulted_functions : yes [2] - cxx11_final : yes [2] - cxx11_hdr_mutex : yes [2] - cxx11_hdr_tuple : yes [2] - cxx11_lambdas : yes [2] - cxx11_noexcept : yes [2] - cxx11_nullptr : yes [2] - cxx11_rvalue_references : yes [2] - cxx11_template_aliases : yes [2] - cxx11_thread_local : yes [2] - cxx11_variadic_templates : yes [2] - has_icu builds : no [2] - zlib : yes [4] - bzip2 : yes [4] - cxx11_decltype : yes [2] - cxx11_basic_alignas : yes [2] - iconv (libc) : no [2] - iconv (separate) : yes [2] - cxx11_defaulted_moves : yes [2] - cxx11_hdr_functional : yes [2] - cxx11_hdr_type_traits : yes [2] - cxx11_override : yes [2] - cxx11_range_based_for : yes [2] - cxx11_scoped_enums : yes [2] - cxx11_smart_ptr : yes [2] - native atomic int32 supported : yes [2] - native syslog supported : yes [2] - pthread supports robust mutexes : no [2] - Boost.Regex is header-only : yes [2] - lockfree boost::atomic_flag : yes [2] - gcc visibility : yes [2] - sfinae_expr : yes [2] - cxx11_unified_initialization_syntax : yes [2] - cxx11_hdr_initializer_list : yes [2] - cxx11_hdr_chrono : yes [2] - cxx11_numeric_limits : yes [2] - cxx11_hdr_array : yes [2] - cxx11_hdr_atomic : yes [2] - cxx11_allocator : yes [2] - cxx11_explicit_conversion_operators : yes [2] - long double support : yes [2] - cxx11_char16_t : yes [2] - cxx11_char32_t : yes [2] - Has Large File Support : yes [2] - Has attribute init_priority : yes [2] - std_wstreambuf builds : yes [2] - std_wstreambuf : yes [2] - libbacktrace builds : yes [2] - addr2line builds : yes [2] - WinDbg builds : no [2] - cxx11_rvalue_references : yes [3] - WinDbg builds : no [3] - WinDbgCached builds : no [2] - WinDbgCached builds : no [3] - BOOST_COMP_GNUC >= 4.3.0 : no [2] - cxx11_hdr_thread : yes [2] - cxx11_hdr_regex : yes [2] [1] clng-14 [2] clng-drwn-14/rls/bst.l-lbcnv/bst.l-on/bst.l-off/cxstd-11-iso/lnk-sttc/nm-on/thrd-mlt/vsblt-hdn [3] clng-drwn-14/rls/bst.l-lbcnv/bst.l-on/bst.l-off/bld-no/cxstd-11-iso/lnk-sttc/nm-on/thrd-mlt/vsblt-hdn [4] lnk-sttc Component configuration: - atomic : building - chrono : building - cobalt : building - container : building - context : building - contract : building - coroutine : building - date_time : building - exception : building - fiber : building - filesystem : building - graph : building - graph_parallel : not building - headers : not building - iostreams : building - json : building - locale : building - log : building - math : building - mpi : not building - nowide : building - program_options : building - python : not building - random : building - regex : building - serialization : building - stacktrace : building - system : building - test : building - thread : building - timer : building - type_erasure : building - url : building - wave : building boost/1.84.0: Package 'e1da00df8136ddc5ecdfd921443e327ff2fd8c2d' built boost/1.84.0: Build folder /Users/dom/.conan/data/boost/1.84.0/_/_/build/e1da00df8136ddc5ecdfd921443e327ff2fd8c2d/build-release boost/1.84.0: Generated conaninfo.txt boost/1.84.0: Generated conanbuildinfo.txt boost/1.84.0: Generating the package boost/1.84.0: Package folder /Users/dom/.conan/data/boost/1.84.0/_/_/package/e1da00df8136ddc5ecdfd921443e327ff2fd8c2d boost/1.84.0: Calling package() boost/1.84.0: Copied 1 '.txt' file: LICENSE_1_0.txt boost/1.84.0 package(): Packaged 1 '.txt' file: LICENSE_1_0.txt boost/1.84.0 package(): Packaged 15185 '.hpp' files boost/1.84.0 package(): Packaged 149 '.h' files boost/1.84.0 package(): Packaged 17 files boost/1.84.0 package(): Packaged 317 '.ipp' files boost/1.84.0 package(): Packaged 2 '.inc' files: strict_cpp_re.inc, cpp_re.inc boost/1.84.0 package(): Packaged 42 '.a' files boost/1.84.0: Package 'e1da00df8136ddc5ecdfd921443e327ff2fd8c2d' created boost/1.84.0: Created package revision a47e4d095dbd4813170a48de4021482e boost/1.84.0: WARN: Boost component 'cobalt' is missing libraries. Try building boost with '-o boost:without_cobalt'. (Option is not guaranteed to exist) ERROR: boost/1.84.0: Error in package_info() method, line 1750 raise ConanException(f"These libraries were expected to be built, but were not built: {non_built}") ConanException: These libraries were expected to be built, but were not built: {'boost_cobalt'} ```
uilianries commented 7 months ago

Hello @DominikDeak ! Boost Cobalt requires C++20 (https://www.boost.org/doc/libs/1_84_0/libs/cobalt/doc/html/index.html) due coroutines. It's explicit in its project too: https://github.com/boostorg/cobalt/blob/develop/CMakeLists.txt#L68C49-L68C59

I see your profile is using compiler.cppstd=14 which does not fit the expected standard. Please, try with compiler.cppstd=20.

SpaceIm commented 7 months ago

It's clearly a bug if it doesn't build out of the box. cobalt shouldn't be enabled by default when compiler.cppstd is not C++20 or higher, or if compiler.cppstd is not set but default C++ standard of compiler is not C++20 or higher (but here C++20 should be injected under the hood if supported by compiler, which is not done in boost recipe on the contrary of most CCI recipes with better C++ standard management through target_compile_features() in CMake based recipes for example. It's an old known big flaw of this recipe).

Moreover this recipe has incorrect assumption about default C++ standard of apple-clang, it's C++98 irrespective of apple-clang version.

I don't know where these informations about apple-clang introduced by https://github.com/conan-io/conan-center-index/pull/21747 come from but it's wrong: https://github.com/conan-io/conan-center-index/blob/65499b379d6e0f0053985b0070878dc14868c7ee/recipes/boost/all/conanfile.py#L164-L173 https://github.com/conan-io/conan-center-index/blob/65499b379d6e0f0053985b0070878dc14868c7ee/recipes/boost/all/conanfile.py#L175-L184

apple-clang 14 & 15 support C++20 standard (and C++11 obviously), but their default C++ standard is C++98.

uilianries commented 7 months ago

@SpaceIm Right, I added a revert to the PR https://github.com/conan-io/conan-center-index/pull/22554

Indeed Apple Clang still uses 98 by default. What changed was XCode using C++20, but it does not reflect apple clang directly.

DominikDeak commented 7 months ago

I see your profile is using compiler.cppstd=14 which does not fit the expected standard. Please, try with compiler.cppstd=20.

@uilianries Thanks for the tip, but unfortunately, building with compiler.cppstd=20 emits a different kind of error, see log snippet below.

In file included from libs/cobalt/src/detail/exception.cpp:8:
In file included from ./boost/cobalt/detail/exception.hpp:12:
./boost/cobalt/config.hpp:55:10: fatal error: 'memory_resource' file not found
#include <memory_resource>
         ^~~~~~~~~~~~~~~~~
1 error generated.
In file included from libs/cobalt/src/error.cpp:6:
In file included from ./boost/cobalt/error.hpp:8:
./boost/cobalt/config.hpp:55:10: fatal error: 'memory_resource' file not found
#include <memory_resource>
         ^~~~~~~~~~~~~~~~~
1 error generated.
In file included from libs/cobalt/src/detail/util.cpp:6:
In file included from ./boost/cobalt/detail/util.hpp:8:
./boost/cobalt/config.hpp:55:10: fatal error: 'memory_resource' file not found
#include <memory_resource>
         ^~~~~~~~~~~~~~~~~
1 error generated.
In file included from libs/cobalt/src/channel.cpp:8:
In file included from ./boost/cobalt/channel.hpp:11:
In file included from ./boost/cobalt/this_thread.hpp:11:
./boost/cobalt/config.hpp:55:10: fatal error: 'memory_resource' file not found
#include <memory_resource>
         ^~~~~~~~~~~~~~~~~
1 error generated.
In file included from libs/cobalt/src/this_thread.cpp:8:
In file included from ./boost/cobalt/this_thread.hpp:11:
./boost/cobalt/config.hpp:55:10: fatal error: 'memory_resource' file not found
#include <memory_resource>
         ^~~~~~~~~~~~~~~~~
1 error generated.
In file included from libs/cobalt/src/main.cpp:8:
In file included from ./boost/cobalt/main.hpp:9:
In file included from ./boost/cobalt/this_coro.hpp:8:
In file included from ./boost/cobalt/this_thread.hpp:11:
./boost/cobalt/config.hpp:55:10: fatal error: 'memory_resource' file not found
#include <memory_resource>
         ^~~~~~~~~~~~~~~~~
1 error generated.
In file included from libs/cobalt/src/thread.cpp:8:
In file included from ./boost/cobalt/thread.hpp:11:
In file included from ./boost/cobalt/detail/thread.hpp:11:
./boost/cobalt/config.hpp:55:10: fatal error: 'memory_resource' file not found
#include <memory_resource>
         ^~~~~~~~~~~~~~~~~
Click to expand full log ``` boost/1.84.0: Applying build-requirement: b2/4.10.1 boost/1.84.0: Building your package in /Users/dom/.conan/data/boost/1.84.0/_/_/build/6bb499797e4072d42a1270cfd011db2a06dec593 boost/1.84.0: Generator txt created conanbuildinfo.txt boost/1.84.0: Calling generate() boost/1.84.0: Aggregating env generators boost/1.84.0: Calling build() boost/1.84.0: WARN: replace_in_file didn't find pattern '$(>) > $(<)' in '/Users/dom/.conan/data/boost/1.84.0/_/_/source/src/libs/stacktrace/build/Jamfile.v2' file. boost/1.84.0: WARN: replace_in_file didn't find pattern 'local generic-os = [ set.difference $(all-os) : aix darwin vxworks solaris osf hpux ] ;' in '/Users/dom/.conan/data/boost/1.84.0/_/_/source/src/tools/build/src/tools/gcc.jam' file. boost/1.84.0: WARN: replace_in_file didn't find pattern 'local no-threading = android beos haiku sgi darwin vxworks ;' in '/Users/dom/.conan/data/boost/1.84.0/_/_/source/src/tools/build/src/tools/gcc.jam' file. boost/1.84.0: WARN: replace_in_file didn't find pattern ' @numa' in '/Users/dom/.conan/data/boost/1.84.0/_/_/source/src/libs/fiber/build/Jamfile.v2' file. boost/1.84.0: WARN: Patching user-config.jam boost/1.84.0: WARN: using zlib : 1.3.1 : "/Users/dom/.conan/data/zlib/1.3.1/_/_/package/34566f4a52fa83e8b0f6618497e558392c35f05d/include" "/Users/dom/.conan/data/zlib/1.3.1/_/_/package/34566f4a52fa83e8b0f6618497e558392c35f05d/lib" z ; using bzip2 : 1.0.8 : "/Users/dom/.conan/data/bzip2/1.0.8/_/_/package/d3319f928e375213828137ca584463d4343c2086/include" "/Users/dom/.conan/data/bzip2/1.0.8/_/_/package/d3319f928e375213828137ca584463d4343c2086/lib" bz2 ; using lzma : 5.4.5 : "/Users/dom/.conan/data/xz_utils/5.4.5/_/_/package/34566f4a52fa83e8b0f6618497e558392c35f05d/include" "/Users/dom/.conan/data/xz_utils/5.4.5/_/_/package/34566f4a52fa83e8b0f6618497e558392c35f05d/lib" lzma ; using zstd : 1.5.5 : "/Users/dom/.conan/data/zstd/1.5.5/_/_/package/bbe0a1c219cc1313afbf0ff0e8151cd2a77c52c3/include" "/Users/dom/.conan/data/zstd/1.5.5/_/_/package/bbe0a1c219cc1313afbf0ff0e8151cd2a77c52c3/lib" zstd ; using "clang-darwin" : : "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++" -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk -arch arm64 : "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar" "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib" "-I/Users/dom/.conan/data/libbacktrace/cci.20210118/_/_/package/bcd3acb45732a7b421d1472bb9724eb6854281a0/include" "-L/Users/dom/.conan/data/libbacktrace/cci.20210118/_/_/package/bcd3acb45732a7b421d1472bb9724eb6854281a0/lib" ; boost/1.84.0: WARN: b2 -q numa=on target-os=darwin architecture=arm address-model=64 binary-format=mach-o abi=aapcs --layout=system --user-config=/Users/dom/.conan/data/boost/1.84.0/_/_/source/src/tools/build/user-config.jam -sNO_ZLIB=0 -sNO_BZIP2=0 -sNO_LZMA=0 -sNO_ZSTD=0 boost.locale.icu=off --disable-icu boost.locale.iconv=on boost.locale.iconv.lib=libiconv threading=multi visibility=hidden link=shared variant=release --with-atomic --with-chrono --with-cobalt --with-container --with-context --with-contract --with-coroutine --with-date_time --with-exception --with-fiber --with-filesystem --with-graph --with-iostreams --with-json --with-locale --with-log --with-math --with-nowide --with-program_options --with-random --with-regex --with-serialization --with-stacktrace --with-system --with-test --with-thread --with-timer --with-type_erasure --with-url --with-wave toolset=clang-darwin cxxflags=-std=c++20 pch=on -sLIBBACKTRACE_PATH=/Users/dom/.conan/data/libbacktrace/cci.20210118/_/_/package/bcd3acb45732a7b421d1472bb9724eb6854281a0 -sICONV_PATH=/Users/dom/.conan/data/libiconv/1.17/_/_/package/bcd3acb45732a7b421d1472bb9724eb6854281a0 linkflags="-stdlib=libc++ -mmacosx-version-min=11.0" cxxflags="-fPIC -stdlib=libc++ -mmacosx-version-min=11.0 -DBOOST_STACKTRACE_ADDR2LINE_LOCATION=/usr/bin/addr2line" install --prefix=/Users/dom/.conan/data/boost/1.84.0/_/_/package/6bb499797e4072d42a1270cfd011db2a06dec593 -j8 --abbreviate-paths -d0 --debug-configuration --build-dir="/Users/dom/.conan/data/boost/1.84.0/_/_/build/6bb499797e4072d42a1270cfd011db2a06dec593/build-release" notice: found boost-build.jam at /Users/dom/.conan/data/boost/1.84.0/_/_/source/src/boost-build.jam notice: loading B2 from /Users/dom/.conan/data/b2/4.10.1/_/_/package/3c0de34097bec1e89a9e5a67a58905079570f916/bin/.b2/kernel/bootstrap.jam notice: Searching '/etc' '/Users/dom' '/Users/dom/.conan/data/b2/4.10.1/_/_/package/3c0de34097bec1e89a9e5a67a58905079570f916/bin/.b2/kernel' '/Users/dom/.conan/data/b2/4.10.1/_/_/package/3c0de34097bec1e89a9e5a67a58905079570f916/bin/.b2/util' '/Users/dom/.conan/data/b2/4.10.1/_/_/package/3c0de34097bec1e89a9e5a67a58905079570f916/bin/.b2/build' '/Users/dom/.conan/data/b2/4.10.1/_/_/package/3c0de34097bec1e89a9e5a67a58905079570f916/bin/.b2/tools' '/Users/dom/.conan/data/b2/4.10.1/_/_/package/3c0de34097bec1e89a9e5a67a58905079570f916/bin/.b2/contrib' '/Users/dom/.conan/data/b2/4.10.1/_/_/package/3c0de34097bec1e89a9e5a67a58905079570f916/bin/.b2/.' for site-config configuration file 'site-config.jam'. notice: Configuration file 'site-config.jam' not found in '/etc' '/Users/dom' '/Users/dom/.conan/data/b2/4.10.1/_/_/package/3c0de34097bec1e89a9e5a67a58905079570f916/bin/.b2/kernel' '/Users/dom/.conan/data/b2/4.10.1/_/_/package/3c0de34097bec1e89a9e5a67a58905079570f916/bin/.b2/util' '/Users/dom/.conan/data/b2/4.10.1/_/_/package/3c0de34097bec1e89a9e5a67a58905079570f916/bin/.b2/build' '/Users/dom/.conan/data/b2/4.10.1/_/_/package/3c0de34097bec1e89a9e5a67a58905079570f916/bin/.b2/tools' '/Users/dom/.conan/data/b2/4.10.1/_/_/package/3c0de34097bec1e89a9e5a67a58905079570f916/bin/.b2/contrib' '/Users/dom/.conan/data/b2/4.10.1/_/_/package/3c0de34097bec1e89a9e5a67a58905079570f916/bin/.b2/.'. notice: Loading explicitly specified user configuration file: /Users/dom/.conan/data/boost/1.84.0/_/_/source/src/tools/build/user-config.jam notice: Searching '/Users/dom/.conan/data/boost/1.84.0/_/_/source/src/tools/build' for user-config configuration file 'user-config.jam'. notice: Loading user-config configuration file 'user-config.jam' from '/Users/dom/.conan/data/boost/1.84.0/_/_/source/src/tools/build'. notice: [zlib] Using pre-installed library notice: [zlib] Condition notice: [bzip2] Using pre-installed library notice: [bzip2] Condition notice: [lzma] Using pre-installed library notice: [lzma] Condition notice: [zstd] Using pre-installed library notice: [zstd] Condition notice: will use '/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++' '-isysroot' '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk' '-arch' 'arm64' for clang-darwin, condition clang-14 notice: [zlib] zlib is already configured notice: [bzip2] bzip is already configured notice: [lzma] lzma is already configured notice: [zstd] zstd is already configured notice: [python-cfg] Configuring python... notice: [python-cfg] Checking interpreter command "python"... notice: [python-cfg] running command 'python -c "from sys import *; print('version=%d.%d\nplatform=%s\nprefix=%s\nexec_prefix=%s\nexecutable=%s' % (version_info[0],version_info[1],platform,prefix,exec_prefix,executable))" 2>&1' notice: [python-cfg] ...does not invoke a working interpreter notice: [python-cfg] Python headers and libraries not found. Performing configuration checks - default address-model : 64-bit [1] - default architecture : arm [1] - cxx11_static_assert : yes [2] - cxx20_hdr_concepts : yes [2] - cpp_lib_memory_resource : no [2] - has std::atomic_ref : no [2] - has -Wl,--no-undefined : no [2] - has -Wl,-undefined,error : yes [2] - has statx : no [2] - has statx syscall : no [2] - has init_priority attribute : yes [2] - has stat::st_blksize : no [2] - has stat::st_mtim : no [2] - has stat::st_mtimensec : no [2] - has stat::st_mtimespec : yes [2] - has stat::st_birthtim : no [2] - has stat::st_birthtimensec : no [2] - has stat::st_birthtimespec : yes [2] - has fdopendir(O_NOFOLLOW) : yes [2] - has dirent::d_type : yes [2] - has POSIX *at APIs : no [2] - cxx11_auto_declarations : yes [2] - cxx11_constexpr : yes [2] - cxx11_defaulted_functions : yes [2] - cxx11_final : yes [2] - cxx11_hdr_mutex : yes [2] - cxx11_hdr_tuple : yes [2] - cxx11_lambdas : yes [2] - cxx11_noexcept : yes [2] - cxx11_nullptr : yes [2] - cxx11_rvalue_references : yes [2] - cxx11_template_aliases : yes [2] - cxx11_thread_local : yes [2] - cxx11_variadic_templates : yes [2] - has_icu builds : no [2] - zlib : yes - bzip2 : yes - lzma : yes - zstd : yes - has_lzma_cputhreads builds : yes [2] - cxx11_decltype : yes [2] - cxx11_basic_alignas : yes [2] - iconv (libc) : no [2] - iconv (separate) : yes [2] - cxx11_defaulted_moves : yes [2] - cxx11_hdr_functional : yes [2] - cxx11_hdr_type_traits : yes [2] - cxx11_override : yes [2] - cxx11_range_based_for : yes [2] - cxx11_scoped_enums : yes [2] - cxx11_smart_ptr : yes [2] - native atomic int32 supported : yes [2] - native syslog supported : yes [2] - pthread supports robust mutexes : no [2] - Boost.Regex is header-only : yes [2] - lockfree boost::atomic_flag : yes [2] - gcc visibility : yes [2] - sfinae_expr : yes [2] - cxx11_unified_initialization_syntax : yes [2] - cxx11_hdr_initializer_list : yes [2] - cxx11_hdr_chrono : yes [2] - cxx11_numeric_limits : yes [2] - cxx11_hdr_array : yes [2] - cxx11_hdr_atomic : yes [2] - cxx11_allocator : yes [2] - cxx11_explicit_conversion_operators : yes [2] - long double support : yes [2] - cxx11_char16_t : yes [2] - cxx11_char32_t : yes [2] - Has Large File Support : yes [2] - Has attribute init_priority : yes [2] - std_wstreambuf builds : yes [2] - std_wstreambuf : yes [2] - cxx11_rvalue_references : yes [3] - libbacktrace builds : yes [2] - addr2line builds : yes [2] - WinDbg builds : no [2] - cxx11_rvalue_references : yes [4] - WinDbg builds : no [4] - WinDbgCached builds : no [2] - WinDbgCached builds : no [4] - BOOST_COMP_GNUC >= 4.3.0 : no [2] - BOOST_COMP_GNUC >= 4.3.0 : no [3] - cxx11_hdr_thread : yes [2] - cxx11_hdr_regex : yes [2] [1] clng-14 [2] clng-drwn-14/rls/bst.l-lbcnv/bst.l-on/bst.l-off/cxstd-11-iso/nm-on/thrd-mlt/vsblt-hdn [3] clng-drwn-14/rls/bst.l-lbcnv/bst.l-on/bst.l-off/cxstd-11-iso/lnk-sttc/nm-on/thrd-mlt/vsblt-hdn [4] clng-drwn-14/rls/bst.l-lbcnv/bst.l-on/bst.l-off/bld-no/cxstd-11-iso/nm-on/thrd-mlt/vsblt-hdn Component configuration: - atomic : building - chrono : building - cobalt : building - container : building - context : building - contract : building - coroutine : building - date_time : building - exception : building - fiber : building - filesystem : building - graph : building - graph_parallel : not building - headers : not building - iostreams : building - json : building - locale : building - log : building - math : building - mpi : not building - nowide : building - program_options : building - python : not building - random : building - regex : building - serialization : building - stacktrace : building - system : building - test : building - thread : building - timer : building - type_erasure : building - url : building - wave : building In file included from libs/cobalt/src/detail/exception.cpp:8: In file included from ./boost/cobalt/detail/exception.hpp:12: ./boost/cobalt/config.hpp:55:10: fatal error: 'memory_resource' file not found #include ^~~~~~~~~~~~~~~~~ 1 error generated. In file included from libs/cobalt/src/detail/util.cpp:6: In file included from ./boost/cobalt/detail/util.hpp:8: ./boost/cobalt/config.hpp:55:10: fatal error: 'memory_resource' file not found #include ^~~~~~~~~~~~~~~~~ 1 error generated. In file included from libs/cobalt/src/error.cpp:6: In file included from ./boost/cobalt/error.hpp:8: ./boost/cobalt/config.hpp:55:10: fatal error: 'memory_resource' file not found #include ^~~~~~~~~~~~~~~~~ 1 error generated. In file included from libs/cobalt/src/channel.cpp:8: In file included from ./boost/cobalt/channel.hpp:11: In file included from ./boost/cobalt/this_thread.hpp:11: ./boost/cobalt/config.hpp:55:10: fatal error: 'memory_resource' file not found #include ^~~~~~~~~~~~~~~~~ 1 error generated. In file included from libs/cobalt/src/main.cpp:8: In file included from ./boost/cobalt/main.hpp:9: In file included from ./boost/cobalt/this_coro.hpp:8: In file included from ./boost/cobalt/this_thread.hpp:11: ./boost/cobalt/config.hpp:55:10: fatal error: 'memory_resource' file not found #include ^~~~~~~~~~~~~~~~~ 1 error generated. In file included from libs/cobalt/src/this_thread.cpp:8: In file included from ./boost/cobalt/this_thread.hpp:11: ./boost/cobalt/config.hpp:55:10: fatal error: 'memory_resource' file not found #include ^~~~~~~~~~~~~~~~~ 1 error generated. In file included from libs/cobalt/src/thread.cpp:8: In file included from ./boost/cobalt/thread.hpp:11: In file included from ./boost/cobalt/detail/thread.hpp:11: ./boost/cobalt/config.hpp:55:10: fatal error: 'memory_resource' file not found #include ^~~~~~~~~~~~~~~~~ 1 error generated. ...skipped

libboost_cobalt.dylib for lack of

detail/exception.o... ...skipped

libboost_cobalt.dylib for lack of

libboost_cobalt.dylib... ...failed updating 7 targets... boost/1.84.0: boost/1.84.0: ERROR: Package '6bb499797e4072d42a1270cfd011db2a06dec593' build failed boost/1.84.0: WARN: Build folder /Users/dom/.conan/data/boost/1.84.0/_/_/build/6bb499797e4072d42a1270cfd011db2a06dec593/build-release ERROR: boost/1.84.0: Error in build() method, line 935 self.run(full_command) ConanException: Error 1 while executing b2 -q numa=on target-os=darwin architecture=arm address-model=64 binary-format=mach-o abi=aapcs --layout=system --user-config=/Users/dom/.conan/data/boost/1.84.0/_/_/source/src/tools/build/user-config.jam -sNO_ZLIB=0 -sNO_BZIP2=0 -sNO_LZMA=0 -sNO_ZSTD=0 boost.locale.icu=off --disable-icu boost.locale.iconv=on boost.locale.iconv.lib=libiconv threading=multi visibility=hidden link=shared variant=release --with-atomic --with-chrono --with-cobalt --with-container --with-context --with-contract --with-coroutine --with-date_time --with-exception --with-fiber --with-filesystem --with-graph --with-iostreams --with-json --with-locale --with-log --with-math --with-nowide --with-program_options --with-random --with-regex --with-serialization --with-stacktrace --with-system --with-test --with-thread --with-timer --with-type_erasure --with-url --with-wave toolset=clang-darwin cxxflags=-std=c++20 pch=on -sLIBBACKTRACE_PATH=/Users/dom/.conan/data/libbacktrace/cci.20210118/_/_/package/bcd3acb45732a7b421d1472bb9724eb6854281a0 -sICONV_PATH=/Users/dom/.conan/data/libiconv/1.17/_/_/package/bcd3acb45732a7b421d1472bb9724eb6854281a0 linkflags="-stdlib=libc++ -mmacosx-version-min=11.0" cxxflags="-fPIC -stdlib=libc++ -mmacosx-version-min=11.0 -DBOOST_STACKTRACE_ADDR2LINE_LOCATION=/usr/bin/addr2line" install --prefix=/Users/dom/.conan/data/boost/1.84.0/_/_/package/6bb499797e4072d42a1270cfd011db2a06dec593 -j8 --abbreviate-paths -d0 --debug-configuration --build-dir="/Users/dom/.conan/data/boost/1.84.0/_/_/build/6bb499797e4072d42a1270cfd011db2a06dec593/build-release" error: Command exited with error. ```

Modified conan profile with C++20 standard:

[settings]
os=Macos
os.version=11.0
os_build=Macos
arch=armv8
arch_build=armv8
compiler=apple-clang
compiler.version=14.0
compiler.libcxx=libc++
compiler.cppstd=20
build_type=Release
[options]
[build_requires]
[env]
[conf]
DominikDeak commented 7 months ago

Upon further investigation, seems like <memory_resource> STL header is not implemented in Xcode 14 build environments, but it was eventually introduced in Xcode 15. (See Polymorphic memory resources table entry.) Currently I'm stuck with Xcode 14 for technical reasons and can't upgrade right now.

At any rate, I think the solution for this is to implicitly force -o boost:without_cobalt on Apple build environments older than Xcode 15.

uilianries commented 7 months ago

Hello @DominikDeak we merged an official patch to Boost recently, that is related to C++20 and Macos. I did not test locally, but it could be related to it. Could please try it?

The PR in question is https://github.com/conan-io/conan-center-index/pull/22641

To update your local copy of boost:

conan install -r conancenter --update --requires=boost/1.84.0
DominikDeak commented 7 months ago

@uilianries Thanks for taking the time looking into this, unfortunately the command you gave me generated the error below. Maybe because I'm still on Conan 1?

conan install -r conancenter --update --requires=boost/1.84.0
Conan 1 is on a deprecation path, please consider migrating to Conan 2
usage: conan install [-h] [-g GENERATOR] [-if INSTALL_FOLDER] [-of OUTPUT_FOLDER] [-m [MANIFESTS]] [-mi [MANIFESTS_INTERACTIVE]] [-v [VERIFY]]
                     [--no-imports] [--build-require] [-j JSON] [-b [BUILD]] [-r REMOTE] [-u] [-l LOCKFILE] [--lockfile-out LOCKFILE_OUT]
                     [-e ENV_HOST] [-e:b ENV_BUILD] [-e:h ENV_HOST] [-o OPTIONS_HOST] [-o:b OPTIONS_BUILD] [-o:h OPTIONS_HOST]
                     [-pr PROFILE_HOST] [-pr:b PROFILE_BUILD] [-pr:h PROFILE_HOST] [-s SETTINGS_HOST] [-s:b SETTINGS_BUILD]
                     [-s:h SETTINGS_HOST] [-c CONF_HOST] [-c:b CONF_BUILD] [-c:h CONF_HOST] [--lockfile-node-id LOCKFILE_NODE_ID]
                     [--require-override REQUIRE_OVERRIDE]
                     path_or_reference [reference]
conan install: error: the following arguments are required: path_or_reference
ERROR: Exiting with code: 2

Anyway, I tried running the command below instead, still getting the same build errors as mentioned here

conan install boost/1.84.0@ --update --build -r conancenter
uilianries commented 7 months ago

Thanks for taking the time looking into this, unfortunately the command you gave me generated the error below. Maybe because I'm still on Conan 1?

@DominikDeak Yes, you are correct, it's because you are running Conan 1.x

Anyway, I tried running the command below instead, still getting the same build errors as mentioned https://github.com/conan-io/conan-center-index/issues/22548#issuecomment-1913777164

That's unfortunate, let me try to build Boost with Cobalt locally (Mac M1). Plus, it could be a bug in boost, because Cobalt is new, but at same time I know they really test hard everything there.

uilianries commented 7 months ago

@DominikDeak You can build with Conan 1.x, I'm able to do that here. But you have to pass -s compiler.cppstd=20. In Conan 1.x the cppstd was introduced after 1.0, that's why is not present by default, but is highly recommends having it in your profile. In Conan 2.x it's configured by default. Plus, I would recommend moving to Conan 2.x when possible. Anyway, here is my build result:

% conan create all boost/1.84.0@ -o boost:without_cobalt=False -s:h compiler.cppstd=20 
Conan 1 is on a deprecation path, please consider migrating to Conan 2
Exporting package recipe
boost/1.84.0 exports: File 'conandata.yml' found. Exporting it...
boost/1.84.0 exports: Copied 1 '.yml' file: conandata.yml
boost/1.84.0: Calling export()
boost/1.84.0: Copied 1 '.yml' file: dependencies-1.84.0.yml
boost/1.84.0: Calling export_sources()
  1.84.0:
  - patch_description: Optional flag to specify iconv from either libc of libiconv
    patch_file: patches/1.82.0-locale-iconv-library-option.patch
    patch_type: conan
  - patch_description: Fix compilation with cppstd=20 on libcxx platforms (e.g. MacOS)
    patch_file: patches/1.84.0-reimplement-string_set-as-any-string.patch
    patch_source: https://github.com/boostorg/locale/commit/c5e8f02c903696a213fc4b710f6740ccd1f07f4e
    patch_type: official
sources:
  1.84.0:
    sha256: cc4b893acf645c9d4b698e9a0f08ca8846aa5d6c68275c14c3e7949c24109454
    url:
    - https://boostorg.jfrog.io/artifactory/main/release/1.84.0/source/boost_1_84_0.tar.bz2
    - https://sourceforge.net/projects/boost/files/boost/1.84.0/boost_1_84_0.tar.bz2

boost/1.84.0: A new conanfile.py version was exported
boost/1.84.0: Folder: /Users/uilian/.conan/data/boost/1.84.0/_/_/export
boost/1.84.0: Using the exported files summary hash as the recipe revision: 7604ce1e7485780469dffb6430f232ea 
boost/1.84.0: Exported revision: 7604ce1e7485780469dffb6430f232ea
Configuration:
[settings]
arch=armv8
arch_build=armv8
build_type=Release
compiler=apple-clang
compiler.cppstd=20
compiler.libcxx=libc++
compiler.version=14
os=Macos
os_build=Macos
[options]
boost:without_cobalt=False
[build_requires]
[env]
[conf]
tools.system.package_manager:mode=install

boost/1.84.0: Forced build from source
Version ranges solved
    Version range '>=1.2.11 <2' required by 'boost/1.84.0' resolved to 'zlib/1.2.13' in local cache

boost/1.84.0 (test package): Installing package
Requirements
    boost/1.84.0 from local cache - Cache
    bzip2/1.0.8 from 'conancenter' - Cache
    libbacktrace/cci.20210118 from 'conancenter' - Cache
    libiconv/1.17 from 'conancenter' - Cache
    zlib/1.2.13 from 'conancenter' - Cache
Packages
    boost/1.84.0:573e1d6c15335a318a1bcebf566fa1d4526dd781 - Build
    bzip2/1.0.8:238a93dc813ca1550968399f1f8925565feeff8e - Cache
    libbacktrace/cci.20210118:240c2182163325b213ca6886a7614c8ed2bf1738 - Cache
    libiconv/1.17:240c2182163325b213ca6886a7614c8ed2bf1738 - Cache
    zlib/1.2.13:240c2182163325b213ca6886a7614c8ed2bf1738 - Cache
Build requirements
    b2/4.10.1 from 'conancenter' - Cache
Build requirements packages
    b2/4.10.1:4e1751b0fa83186dec61c3f59d918b6b17b28aad - Cache

Installing (downloading, building) binaries...
b2/4.10.1: Already installed!
bzip2/1.0.8: Already installed!
libbacktrace/cci.20210118: Already installed!
libiconv/1.17: Already installed!
libiconv/1.17: Appending PATH environment var: /Users/uilian/.conan/data/libiconv/1.17/_/_/package/240c2182163325b213ca6886a7614c8ed2bf1738/bin
zlib/1.2.13: Already installed!
boost/1.84.0: Applying build-requirement: b2/4.10.1
boost/1.84.0: Configuring sources in /Users/uilian/.conan/data/boost/1.84.0/_/_/source/src
Downloading boost_1_84_0.tar.bz2 completed [120225.14k]                                  boost/1.84.0: /1.84.0: 
boost/1.84.0: 
boost/1.84.0: Apply patch (conan): Optional flag to specify iconv from either libc of libiconv
boost/1.84.0: Apply patch (official): Fix compilation with cppstd=20 on libcxx platforms (e.g. MacOS)
boost/1.84.0: Building your package in /Users/uilian/.conan/data/boost/1.84.0/_/_/build/573e1d6c15335a318a1bcebf566fa1d4526dd781
boost/1.84.0: Generator txt created conanbuildinfo.txt
boost/1.84.0: Calling generate()
boost/1.84.0: Aggregating env generators
boost/1.84.0: Calling build()
boost/1.84.0: WARN: replace_in_file didn't find pattern '/* thread_local */' in '/Users/uilian/.conan/data/boost/1.84.0/_/_/source/src/boost/stacktrace/detail/libbacktrace_impls.hpp' file.
boost/1.84.0: WARN: replace_in_file didn't find pattern '/* static __thread */' in '/Users/uilian/.conan/data/boost/1.84.0/_/_/source/src/boost/stacktrace/detail/libbacktrace_impls.hpp' file.
boost/1.84.0: WARN: replace_in_file didn't find pattern 'local generic-os = [ set.difference $(all-os) : aix darwin vxworks solaris osf hpux ] ;' in '/Users/uilian/.conan/data/boost/1.84.0/_/_/source/src/tools/build/src/tools/gcc.jam' file.
boost/1.84.0: WARN: replace_in_file didn't find pattern 'local no-threading = android beos haiku sgi darwin vxworks ;' in '/Users/uilian/.conan/data/boost/1.84.0/_/_/source/src/tools/build/src/tools/gcc.jam' file.
boost/1.84.0: WARN: Patching user-config.jam
boost/1.84.0: WARN: Using the new toolchains and generators without specifying a build profile (e.g: -pr:b=default) is discouraged and might cause failures and unexpected behavior
boost/1.84.0: WARN: 
using zlib : 1.2.13 : <include>"/Users/uilian/.conan/data/zlib/1.2.13/_/_/package/240c2182163325b213ca6886a7614c8ed2bf1738/include" <search>"/Users/uilian/.conan/data/zlib/1.2.13/_/_/package/240c2182163325b213ca6886a7614c8ed2bf1738/lib" <name>z ;
using bzip2 : 1.0.8 : <include>"/Users/uilian/.conan/data/bzip2/1.0.8/_/_/package/238a93dc813ca1550968399f1f8925565feeff8e/include" <search>"/Users/uilian/.conan/data/bzip2/1.0.8/_/_/package/238a93dc813ca1550968399f1f8925565feeff8e/lib" <name>bz2 ;
using "clang-darwin" :  :  "/Library/Developer/CommandLineTools/usr/bin/clang++" -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -arch arm64 : 
<archiver>"/Library/Developer/CommandLineTools/usr/bin/ar" <ranlib>"/Library/Developer/CommandLineTools/usr/bin/ranlib" <compileflags>"-I/Users/uilian/.conan/data/libbacktrace/cci.20210118/_/_/package/240c2182163325b213ca6886a7614c8ed2bf1738/include" <linkflags>"-L/Users/uilian/.conan/data/libbacktrace/cci.20210118/_/_/package/240c2182163325b213ca6886a7614c8ed2bf1738/lib"  ;
boost/1.84.0: WARN: Using the new toolchains and generators without specifying a build profile (e.g: -pr:b=default) is discouraged and might cause failures and unexpected behavior
boost/1.84.0: WARN: b2 -q numa=on target-os=darwin architecture=arm address-model=64 binary-format=mach-o abi=aapcs --layout=system --user-config=/Users/uilian/.conan/data/boost/1.84.0/_/_/source/src/tools/build/user-config.jam -sNO_ZLIB=0 -sNO_BZIP2=0 -sNO_LZMA=1 -sNO_ZSTD=1 boost.locale.icu=off --disable-icu boost.locale.iconv=on boost.locale.iconv.lib=libiconv threading=multi visibility=hidden link=static variant=release --with-atomic --with-chrono --with-cobalt --with-container --with-context --with-contract --with-coroutine --with-date_time --with-exception --with-fiber --with-filesystem --with-graph --with-iostreams --with-json --with-locale --with-log --with-math --with-nowide --with-program_options --with-random --with-regex --with-serialization --with-stacktrace --with-system --with-test --with-thread --with-timer --with-type_erasure --with-url --with-wave toolset=clang-darwin cxxstd=20 pch=on -sLIBBACKTRACE_PATH=/Users/uilian/.conan/data/libbacktrace/cci.20210118/_/_/package/240c2182163325b213ca6886a7614c8ed2bf1738 -sICONV_PATH=/Users/uilian/.conan/data/libiconv/1.17/_/_/package/240c2182163325b213ca6886a7614c8ed2bf1738 linkflags="-stdlib=libc++" cxxflags="-fPIC -stdlib=libc++ -DBOOST_STACKTRACE_ADDR2LINE_LOCATION=/usr/bin/addr2line" install --prefix=/Users/uilian/.conan/data/boost/1.84.0/_/_/package/573e1d6c15335a318a1bcebf566fa1d4526dd781 -j10 --abbreviate-paths -d0 --debug-configuration --build-dir="/Users/uilian/.conan/data/boost/1.84.0/_/_/build/573e1d6c15335a318a1bcebf566fa1d4526dd781/build-release"

----Running------
> . "/Users/uilian/.conan/data/boost/1.84.0/_/_/build/573e1d6c15335a318a1bcebf566fa1d4526dd781/build-release/conan/conanbuild.sh" && b2 -q numa=on target-os=darwin architecture=arm address-model=64 binary-format=mach-o abi=aapcs --layout=system --user-config=/Users/uilian/.conan/data/boost/1.84.0/_/_/source/src/tools/build/user-config.jam -sNO_ZLIB=0 -sNO_BZIP2=0 -sNO_LZMA=1 -sNO_ZSTD=1 boost.locale.icu=off --disable-icu boost.locale.iconv=on boost.locale.iconv.lib=libiconv threading=multi visibility=hidden link=static variant=release --with-atomic --with-chrono --with-cobalt --with-container --with-context --with-contract --with-coroutine --with-date_time --with-exception --with-fiber --with-filesystem --with-graph --with-iostreams --with-json --with-locale --with-log --with-math --with-nowide --with-program_options --with-random --with-regex --with-serialization --with-stacktrace --with-system --with-test --with-thread --with-timer --with-type_erasure --with-url --with-wave toolset=clang-darwin cxxstd=20 pch=on -sLIBBACKTRACE_PATH=/Users/uilian/.conan/data/libbacktrace/cci.20210118/_/_/package/240c2182163325b213ca6886a7614c8ed2bf1738 -sICONV_PATH=/Users/uilian/.conan/data/libiconv/1.17/_/_/package/240c2182163325b213ca6886a7614c8ed2bf1738 linkflags="-stdlib=libc++" cxxflags="-fPIC -stdlib=libc++ -DBOOST_STACKTRACE_ADDR2LINE_LOCATION=/usr/bin/addr2line" install --prefix=/Users/uilian/.conan/data/boost/1.84.0/_/_/package/573e1d6c15335a318a1bcebf566fa1d4526dd781 -j10 --abbreviate-paths -d0 --debug-configuration --build-dir="/Users/uilian/.conan/data/boost/1.84.0/_/_/build/573e1d6c15335a318a1bcebf566fa1d4526dd781/build-release"
-----------------
notice: found boost-build.jam at /Users/uilian/.conan/data/boost/1.84.0/_/_/source/src/boost-build.jam
notice: loading B2 from /Users/uilian/.conan/data/b2/4.10.1/_/_/package/4e1751b0fa83186dec61c3f59d918b6b17b28aad/bin/.b2/kernel/bootstrap.jam
notice: Loading explicitly specified user configuration file:
    /Users/uilian/.conan/data/boost/1.84.0/_/_/source/src/tools/build/user-config.jam
notice: Searching '/Users/uilian/.conan/data/boost/1.84.0/_/_/source/src/tools/build' for user-config configuration file 'user-config.jam'.
notice: Loading user-config configuration file 'user-config.jam' from '/Users/uilian/.conan/data/boost/1.84.0/_/_/source/src/tools/build'.
notice: [zlib] Using pre-installed library
notice: [zlib] Condition
notice: [bzip2] Using pre-installed library
notice: [bzip2] Condition
notice: will use '/Library/Developer/CommandLineTools/usr/bin/clang++' '-isysroot' '/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk' '-arch' 'arm64' for clang-darwin, condition <toolset>clang-15
notice: [zlib] zlib is already configured
notice: [bzip2] bzip is already configured
notice: iostreams: not using lzma compression 
notice: iostreams: not using zstd compression 
notice: [python-cfg] Configuring python...
notice: [python-cfg] Checking interpreter command "python"...
notice: [python-cfg] running command 'python -c "from sys import *; print('version=%d.%d\nplatform=%s\nprefix=%s\nexec_prefix=%s\nexecutable=%s' % 
notice: [python-cfg] no framework directory found; using library path
Performing configuration checks

    - default address-model    : 64-bit [1]
    - default architecture     : arm [1]
    - cxx11_static_assert      : yes [2]
    - cxx20_hdr_concepts       : yes [2]
    - cpp_lib_memory_resource  : yes [2]
warning: non-free usage requirements <boost.cobalt.pmr>std ignored
warning: in main-target boost_cobalt at libs/cobalt/build/Jamfile:73
    - has std::atomic_ref      : no [2]
    - has statx                : no [2]
    - has statx syscall        : no [2]
    - has init_priority attribute : yes [2]
    - has stat::st_blksize     : no [2]
    - has stat::st_mtim        : no [2]
    - has stat::st_mtimensec   : no [2]
    - has stat::st_mtimespec   : yes [2]
    - has stat::st_birthtim    : no [2]
    - has stat::st_birthtimensec : no [2]
    - has stat::st_birthtimespec : yes [2]
    - has fdopendir(O_NOFOLLOW) : yes [2]
    - has dirent::d_type       : yes [2]
    - has POSIX *at APIs       : no [2]
    - cxx11_auto_declarations  : yes [2]
    - cxx11_constexpr          : yes [2]
    - cxx11_defaulted_functions : yes [2]
    - cxx11_final              : yes [2]
    - cxx11_hdr_mutex          : yes [2]
    - cxx11_hdr_tuple          : yes [2]
    - cxx11_lambdas            : yes [2]
    - cxx11_noexcept           : yes [2]
    - cxx11_nullptr            : yes [2]
    - cxx11_rvalue_references  : yes [2]
    - cxx11_template_aliases   : yes [2]
    - cxx11_thread_local       : yes [2]
    - cxx11_variadic_templates : yes [2]
    - has_icu builds           : no [2]
    - zlib                     : yes [3]
    - bzip2                    : yes [3]
    - cxx11_decltype           : yes [2]
    - cxx11_basic_alignas      : yes [2]
    - iconv (libc)             : no [2]
    - iconv (separate)         : yes [2]
    - cxx11_defaulted_moves    : yes [2]
    - cxx11_hdr_functional     : yes [2]
    - cxx11_hdr_type_traits    : yes [2]
    - cxx11_override           : yes [2]
    - cxx11_range_based_for    : yes [2]
    - cxx11_scoped_enums       : yes [2]
    - cxx11_smart_ptr          : yes [2]
    - native atomic int32 supported : yes [2]
    - native syslog supported  : yes [2]
    - pthread supports robust mutexes : no [2]
    - Boost.Regex is header-only : yes [2]
    - lockfree boost::atomic_flag : yes [2]
    - gcc visibility           : yes [2]
    - sfinae_expr              : yes [2]
    - cxx11_unified_initialization_syntax : yes [2]
    - cxx11_hdr_initializer_list : yes [2]
    - cxx11_hdr_chrono         : yes [2]
    - cxx11_numeric_limits     : yes [2]
    - cxx11_hdr_array          : yes [2]
    - cxx11_hdr_atomic         : yes [2]
    - cxx11_allocator          : yes [2]
    - cxx11_explicit_conversion_operators : yes [2]
    - long double support      : yes [2]
    - cxx11_char16_t           : yes [2]
    - cxx11_char32_t           : yes [2]
    - Has Large File Support   : yes [2]
    - Has attribute init_priority : yes [2]
    - std_wstreambuf builds    : yes [2]
    - std_wstreambuf           : yes [2]
    - libbacktrace builds      : yes [2]
    - addr2line builds         : yes [2]
    - WinDbg builds            : no [2]
    - cxx11_rvalue_references  : yes [4]
    - WinDbg builds            : no [4]
    - WinDbgCached builds      : no [2]
    - WinDbgCached builds      : no [4]
    - BOOST_COMP_GNUC >= 4.3.0 : no [2]
    - cxx11_hdr_thread         : yes [2]
    - cxx11_hdr_regex          : yes [2]

[1] clng-15
[2] clng-drwn-15/rls/bst.l-lbcnv/bst.l-on/bst.l-off/cxstd-20-iso/lnk-sttc/nm-on/pythn-3.10/thrd-mlt/vsblt-hdn
[3] lnk-sttc
[4] clng-drwn-15/rls/bst.l-lbcnv/bst.l-on/bst.l-off/bld-no/cxstd-20-iso/lnk-sttc/nm-on/pythn-3.10/thrd-mlt/vsblt-hdn

Component configuration:

    - atomic                   : building
    - chrono                   : building
    - cobalt                   : building
    - container                : building
    - context                  : building
    - contract                 : building
    - coroutine                : building
    - date_time                : building
    - exception                : building
    - fiber                    : building
    - filesystem               : building
    - graph                    : building
    - graph_parallel           : not building
    - headers                  : not building
    - iostreams                : building
    - json                     : building
    - locale                   : building
    - log                      : building
    - math                     : building
    - mpi                      : not building
    - nowide                   : building
    - program_options          : building
    - python                   : not building
    - random                   : building
    - regex                    : building
    - serialization            : building
    - stacktrace               : building
    - system                   : building
    - test                     : building
    - thread                   : building
    - timer                    : building
    - type_erasure             : building
    - url                      : building
    - wave                     : building

boost/1.84.0: Package '573e1d6c15335a318a1bcebf566fa1d4526dd781' built
boost/1.84.0: Build folder /Users/uilian/.conan/data/boost/1.84.0/_/_/build/573e1d6c15335a318a1bcebf566fa1d4526dd781/build-release
boost/1.84.0: Generated conaninfo.txt
boost/1.84.0: Generated conanbuildinfo.txt
boost/1.84.0: Generating the package
boost/1.84.0: Package folder /Users/uilian/.conan/data/boost/1.84.0/_/_/package/573e1d6c15335a318a1bcebf566fa1d4526dd781
boost/1.84.0: Calling package()
boost/1.84.0: Copied 1 '.txt' file: LICENSE_1_0.txt
boost/1.84.0 package(): Packaged 1 '.txt' file: LICENSE_1_0.txt
boost/1.84.0 package(): Packaged 15186 '.hpp' files
boost/1.84.0 package(): Packaged 149 '.h' files
boost/1.84.0 package(): Packaged 17 files
boost/1.84.0 package(): Packaged 317 '.ipp' files
boost/1.84.0 package(): Packaged 2 '.inc' files: strict_cpp_re.inc, cpp_re.inc
boost/1.84.0 package(): Packaged 43 '.a' files
boost/1.84.0: Package '573e1d6c15335a318a1bcebf566fa1d4526dd781' created
boost/1.84.0: Created package revision 2464492c569a58e249c258708589e5f0
dmn-star commented 7 months ago

Hello @DominikDeak we merged an official patch to Boost recently, that is related to C++20 and Macos. I did not test locally, but it could be related to it. Could please try it?

The PR in question is #22641

To update your local copy of boost:

conan install -r conancenter --update --requires=boost/1.84.0

Component configuration:

- atomic                   : building
- chrono                   : building
- cobalt                   : not building
- container                : building
- context                  : building
- contract                 : building
- coroutine                : building
- date_time                : building
- exception                : building
- fiber                    : building
- filesystem               : building
- graph                    : building
- graph_parallel           : not building
- headers                  : not building
- iostreams                : building
- json                     : building
- locale                   : building
- log                      : building
- math                     : building
- mpi                      : not building
- nowide                   : building
- program_options          : building
- python                   : not building
- random                   : building
- regex                    : building
- serialization            : building
- stacktrace               : building
- system                   : building
- test                     : building
- thread                   : building
- timer                    : building
- type_erasure             : building
- url                      : building
- wave                     : building

All green on Mac Silicon and Xcode 15.2
DominikDeak commented 7 months ago

@DominikDeak You can build with Conan 1.x, I'm able to do that here. But you have to pass -s compiler.cppstd=20.

Yep, ran again with the switch you have suggested. To be thorough, I also completely reinstalled Conan also deleted the old ~/.conan folder before reinstalling and trying boost again.

conan install boost/1.84.0@ --update --build -r conancenter -s compiler.cppstd=20

Unfortunately, even with the cppstd=20 switch, I'm getting the same build error. See full_build_log.txt for details.

In Conan 1.x the cppstd was introduced after 1.0, that's why is not present by default, but is highly recommends having it in your profile.

I have made those changes in the default profile, as per your suggestion earlier. See compiler.cppstd=20 entry. I assume that's what you meant?

[settings]
os=Macos
os.version=11.0
os_build=Macos
arch=armv8
arch_build=armv8
compiler=apple-clang
compiler.version=14.0
compiler.libcxx=libc++
compiler.cppstd=20
build_type=Release
[options]
[build_requires]
[env]
[conf]