Boost logo

Boost :

From: Ruben Perez (rubenperez038_at_[hidden])
Date: 2024-07-16 10:08:55


On Thu, 11 Jul 2024 at 20:51, Marshall Clow via Boost
<boost_at_[hidden]> 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.
>

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>
> >; CallbackT =
boost::log::v2_mt_posix::aux::date_format_parser_callback<char>]' at
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


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk