
On Thu, 11 Jul 2024 at 20:51, Marshall Clow via Boost <boost@lists.boost.org> wrote:
As always, the release managers would appreciate it if you download the candidate of your choice and give building it a try. Please report both success and failure, and anything else that is noteworthy.
; CallbackT = boost::log::v2_mt_posix::aux::date_format_parser_callback<char>]' at
I have failed to build the beta under Alpine Linux 3.20.1, using g++13, variant=release, cxxstd=23. It looks like the new Boost.Process doesn't support the musl C library: #22 292.7 libs/process/src/posix/close_handles.cpp:50:10: fatal error: gnu/libc-version.h: No such file or directory #22 292.7 50 | #include <gnu/libc-version.h> #22 292.7 | ^~~~~~~~~~~~~~~~~~~~ #22 292.7 compilation terminated. #22 294.7 #22 294.7 "g++" -std=c++23 -fvisibility-inlines-hidden -fPIC -m64 -pthread -O3 -finline-functions -Wno-inline -Wall -fvisibility=hidden -DBOOST_ALL_NO_LIB=1 -DBOOST_ASIO_NO_DEPRECATED -DBOOST_COBALT_USE_STD_PMR=1 -DBOOST_FILESYSTEM_DYN_LINK=1 -DBOOST_PROCESS_DYN_LINK=1 -DBOOST_PROCESS_SOURCE=1 -DNDEBUG -I"." -c -o "bin.v2/libs/process/build/gcc-13/release/x86_64/cxxstd-23-iso/threading-multi/visibility-hidden/posix/close_handles.o" "libs/process/src/posix/close_handles.cpp" #22 294.7 #22 294.7 ...failed gcc.compile.c++ bin.v2/libs/process/build/gcc-13/release/x86_64/cxxstd-23-iso/threading-multi/visibility-hidden/posix/close_handles.o... Full details here: https://github.com/boostorg/process/issues/386 Note that Alpine is thoroughly used alongside Docker because it's extremely lightweight in comparison to other distributions. I think we should fix this before the release. Other than that, there are numerous warnings, and I assume most (or all) of them are spurious. The rest of my email contains the warnings I got with the libraries that produced them, in case the authors want to fix them. 1. Boost.Log (warning repeats several times): #22 212.1 In file included from /usr/include/c++/13.2.1/string:42, #22 212.1 from libs/log/src/date_time_format_parser.cpp:18: #22 212.1 In static member function 'static constexpr std::char_traits<char>::char_type* std::char_traits<char>::copy(char_type*, const char_type*, std::size_t)', #22 212.1 inlined from 'static constexpr void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_S_copy(_CharT*, const _CharT*, size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]' at /usr/include/c++/13.2.1/bits/basic_string.h:430:21, #22 212.1 inlined from 'constexpr std::__cxx11::basic_string<_CharT, _Traits, _Allocator>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_replace(size_type, size_type, const _CharT*, size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]' at /usr/include/c++/13.2.1/bits/basic_string.tcc:542:16, #22 212.1 inlined from 'constexpr std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::replace(size_type, size_type, const _CharT*, size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]' at /usr/include/c++/13.2.1/bits/basic_string.h:2208:19, #22 212.1 inlined from 'constexpr std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::replace(__const_iterator, __const_iterator, const _CharT*, const _CharT*) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]' at /usr/include/c++/13.2.1/bits/basic_string.h:2417:22, #22 212.1 inlined from 'constexpr std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::append(_InputIterator, _InputIterator) [with _InputIterator = const char*; <template-parameter-2-2> = void; _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]' at /usr/include/c++/13.2.1/bits/basic_string.h:1519:31, #22 212.1 inlined from 'void boost::log::v2_mt_posix::aux::{anonymous}::common_flags<CallbackT>::add_literal(const char_type*, const char_type*) [with CallbackT = boost::log::v2_mt_posix::aux::date_format_parser_callback<char>]' at libs/log/src/date_time_format_parser.cpp:100:25, #22 212.1 inlined from 'void boost::log::v2_mt_posix::aux::{anonymous}::parse_format(const CharT*, const CharT*, ParserT&, CallbackT&) [with CharT = char; ParserT = date_flags<common_flags<boost::log::v2_mt_posix::aux::date_format_parser_callback<char> libs/log/src/date_time_format_parser.cpp:336:35, #22 212.1 inlined from 'void boost::log::v2_mt_posix::aux::parse_date_format(const CharT*, const CharT*, date_format_parser_callback<CharT>&) [with CharT = char]' at libs/log/src/date_time_format_parser.cpp:353:17: #22 212.1 /usr/include/c++/13.2.1/bits/char_traits.h:435:56: warning: 'void* __builtin_memcpy(void*, const void*, long unsigned int)' accessing 9223372036854775808 or more bytes at offsets [-4611686018427387904, 4611686018427387903] and 0 may overlap up to 9223372036854775809 bytes at offset -1 [-Wrestrict] #22 212.1 435 | return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n)); #22 212.1 | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ 2. Boost.Math: #22 264.0 In file included from ./boost/math/special_functions/bessel.hpp:24, #22 264.0 from ./boost/math/special_functions/airy.hpp:12, #22 264.0 from ./boost/math/special_functions.hpp:15, #22 264.0 from libs/math/build/../src/tr1/pch.hpp:9: #22 264.0 ./boost/math/special_functions/detail/bessel_ik.hpp: In function 'double boost_cyl_bessel_k(double, double)': #22 264.0 ./boost/math/special_functions/detail/bessel_ik.hpp:417:11: warning: 'u' may be used uninitialized [-Wmaybe-uninitialized] #22 264.0 417 | T z = (u + n % 2); #22 264.0 | ^ #22 264.0 ./boost/math/special_functions/detail/bessel_ik.hpp:304:7: note: 'u' was declared here #22 264.0 304 | T u, Iv, Kv, Kv1, Ku, Ku1, fv; #22 264.0 | ^ #22 264.0 ./boost/math/special_functions/detail/bessel_ik.hpp:417:22: warning: 'n' may be used uninitialized [-Wmaybe-uninitialized] #22 264.0 417 | T z = (u + n % 2); #22 264.0 | ~~^~~ #22 264.0 ./boost/math/special_functions/detail/bessel_ik.hpp:307:14: note: 'n' was declared here #22 264.0 307 | unsigned n, k; #22 264.0 | ^ 3. Boost.Serialization: #22 341.8 In file included from ./boost/archive/impl/xml_woarchive_impl.ipp:42, #22 341.8 from libs/serialization/src/xml_woarchive.cpp:28: #22 341.8 ./boost/archive/iterators/wchar_from_mb.hpp: In instantiation of 'boost::archive::iterators::wchar_from_mb<Base>::sliding_buffer<T>::sliding_buffer() [with T = char; Base = boost::archive::iterators::xml_escape<const char*>]': #22 341.8 ./boost/archive/iterators/wchar_from_mb.hpp:131:31: required from 'boost::archive::iterators::wchar_from_mb<Base>::wchar_from_mb(T) [with T = const char*; Base = boost::archive::iterators::xml_escape<const char*>]' #22 341.8 ./boost/archive/impl/xml_woarchive_impl.ipp:59:9: required from 'void boost::archive::save_iterator(std::wostream&, InputIterator, InputIterator) [with InputIterator = const char*; std::wostream = std::basic_ostream<wchar_t>]' #22 341.8 ./boost/archive/impl/xml_woarchive_impl.ipp:100:17: required from 'void boost::archive::xml_woarchive_impl<Archive>::save(const char*) [with Archive = boost::archive::xml_woarchive]' #22 341.8 libs/serialization/src/xml_woarchive.cpp:35:16: required from here #22 341.8 ./boost/archive/iterators/wchar_from_mb.hpp:103:30: warning: member 'boost::archive::iterators::wchar_from_mb<boost::archive::iterators::xml_escape<const char*> >::sliding_buffer<char>::m_buffer' is used uninitialized [-Wuninitialized] #22 341.8 103 | m_next_available(m_buffer.begin()), #22 341.8 | ^~~~~~~~ #22 341.8 ./boost/archive/iterators/wchar_from_mb.hpp: In instantiation of 'boost::archive::iterators::wchar_from_mb<Base>::sliding_buffer<T>::sliding_buffer() [with T = wchar_t; Base = boost::archive::iterators::xml_escape<const char*>]': #22 341.8 ./boost/archive/iterators/wchar_from_mb.hpp:131:31: required from 'boost::archive::iterators::wchar_from_mb<Base>::wchar_from_mb(T) [with T = const char*; Base = boost::archive::iterators::xml_escape<const char*>]' #22 341.8 ./boost/archive/impl/xml_woarchive_impl.ipp:59:9: required from 'void boost::archive::save_iterator(std::wostream&, InputIterator, InputIterator) [with InputIterator = const char*; std::wostream = std::basic_ostream<wchar_t>]' #22 341.8 ./boost/archive/impl/xml_woarchive_impl.ipp:100:17: required from 'void boost::archive::xml_woarchive_impl<Archive>::save(const char*) [with Archive = boost::archive::xml_woarchive]' #22 341.8 libs/serialization/src/xml_woarchive.cpp:35:16: required from here #22 341.8 ./boost/archive/iterators/wchar_from_mb.hpp:103:30: warning: member 'boost::archive::iterators::wchar_from_mb<boost::archive::iterators::xml_escape<const char*> >::sliding_buffer<wchar_t>::m_buffer' is used uninitialized [-Wuninitialized] 4. Boost.Container: #22 456.4 In file included from libs/container/src/dlmalloc_ext_2_8_6.c:52, #22 456.4 from libs/container/src/alloc_lib.c:24: #22 456.4 In function 'internal_multialloc_arrays', #22 456.4 inlined from 'boost_cont_multialloc_arrays' at libs/container/src/dlmalloc_ext_2_8_6.c:1112:13: #22 456.4 libs/container/src/dlmalloc_ext_2_8_6.c:1085:41: warning: iteration 2305843009213693951 invokes undefined behavior [-Waggressive-loop-optimizations] #22 456.4 1085 | size = request2size(sizes[i]*element_size); #22 456.4 | ^ #22 456.4 libs/container/src/dlmalloc_2_8_6.c:2231:6: note: in definition of macro 'request2size' #22 456.4 2231 | (((req) < MIN_REQUEST)? MIN_CHUNK_SIZE : pad_request(req)) #22 456.4 | ^~~ #22 456.4 libs/container/src/dlmalloc_ext_2_8_6.c:1083:24: note: within this loop #22 456.4 1083 | for(++i; i != next_i; ++i) { #22 456.4 | ~~^~~~~~~~~ 5. Boost.Cobalt (when bootstrapping the b2 build): #22 10.48 warning: non-free usage requirements <boost.cobalt.pmr>std ignored #22 10.48 warning: in main-target boost_cobalt at libs/cobalt/build/Jamfile:73