[release[ Boost 1.86.0 Beta 1 Release Candidate is available

Available at: https://archives.boost.io/beta/1.86.0.beta1/source/ The SHA256 checksums are as follows: 90be7ebbaf1c81a849791eb0f49d05a9ec7dbd0ec98b974dfe31d44d811e8298 boost_1_86_0_b1_rc1.7z 543ca3b743250a8b24b25c71209cf911c35613910e78a320835c21c053212ef2 boost_1_86_0_b1_rc1.tar.gz 1bf831ed717fa3e01db6c1f104b95f5a6a8d098a4cc9e61fa6eb81969c78645f boost_1_86_0_b1_rc1.tar.bz2 f739f8761bee6006c60a39fd21ed80b7b0a681c9ed448d1ae1bb28d8d8a69659 boost_1_86_0_b1_rc1.zip 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. -- The Release Managers

Marshall Clow wrote:
Available at: https://archives.boost.io/beta/1.86.0.beta1/source/
The SHA256 checksums are as follows:
90be7ebbaf1c81a849791eb0f49d05a9ec7dbd0ec98b974dfe31d44d811e82 98 boost_1_86_0_b1_rc1.7z 543ca3b743250a8b24b25c71209cf911c35613910e78a320835c21c053212 ef2 boost_1_86_0_b1_rc1.tar.gz 1bf831ed717fa3e01db6c1f104b95f5a6a8d098a4cc9e61fa6eb81969c78645 f boost_1_86_0_b1_rc1.tar.bz2 f739f8761bee6006c60a39fd21ed80b7b0a681c9ed448d1ae1bb28d8d8a696 59 boost_1_86_0_b1_rc1.zip
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.
Looking at https://github.com/boostorg/boost/actions/workflows/ci.yml I see random CMake failures caused by """ CMake Error at libs/numeric/odeint/CMakeLists.txt:39 (target_link_libraries): The link interface of target "boost_numeric_odeint" contains: Boost::mpi but the target was not found. Possible reasons include: * There is a typo in the target name. * A find_package call is missing for an IMPORTED target. * An ALIAS target is missing. """ Apparently, CMake 3.30 is less forgiving about ODEint linking to Boost::mpi when that target doesn't exist. (The reason Boost::mpi doesn't exist is because MPI libraries are only enabled when BOOST_ENABLE_MPI is ON, and it's OFF by default in these CI runs.) So the CMakeLists.txt file for ODEint needs to be fixed to only link to Boost::mpi when BOOST_ENABLE_MPI is ON.

Apparently, CMake 3.30 is less forgiving about ODEint linking to Boost::mpi when that target doesn't exist.
(The reason Boost::mpi doesn't exist is because MPI libraries are only enabled when BOOST_ENABLE_MPI is ON, and it's OFF by default in these CI runs.)
So the CMakeLists.txt file for ODEint needs to be fixed to only link to Boost::mpi when BOOST_ENABLE_MPI is ON.
Will fix promptly. Matt

Apparently, CMake 3.30 is less forgiving about ODEint linking to Boost::mpi when that target doesn't exist.
(The reason Boost::mpi doesn't exist is because MPI libraries are only enabled when BOOST_ENABLE_MPI is ON, and it's OFF by default in these CI runs.)
So the CMakeLists.txt file for ODEint needs to be fixed to only link to Boost::mpi when BOOST_ENABLE_MPI is ON.
Will fix promptly.
Matt
Merged fix into develop which now looks good on the Boost CI (https://github.com/boostorg/boost/actions/runs/9899904565). Release managers, please let me know when I can merge it into master. Matt

On Jul 12, 2024, at 5:39 AM, Matt Borland via Boost <boost@lists.boost.org> wrote:
Apparently, CMake 3.30 is less forgiving about ODEint linking to Boost::mpi when that target doesn't exist.
(The reason Boost::mpi doesn't exist is because MPI libraries are only enabled when BOOST_ENABLE_MPI is ON, and it's OFF by default in these CI runs.)
So the CMakeLists.txt file for ODEint needs to be fixed to only link to Boost::mpi when BOOST_ENABLE_MPI is ON.
Will fix promptly.
Matt
Merged fix into develop which now looks good on the Boost CI (https://github.com/boostorg/boost/actions/runs/9899904565). Release managers, please let me know when I can merge it into master.
Please do so - and let me know when it’s done. — Marshall

On Monday, July 22nd, 2024 at 7:59 PM, Marshall Clow <mclow.lists@gmail.com> wrote:
On Jul 12, 2024, at 5:39 AM, Matt Borland via Boost <boost@lists.boost.org> wrote:
Apparently, CMake 3.30 is less forgiving about ODEint linking to Boost::mpi when that target doesn't exist.
(The reason Boost::mpi doesn't exist is because MPI libraries are only enabled when BOOST_ENABLE_MPI is ON, and it's OFF by default in these CI runs.)
So the CMakeLists.txt file for ODEint needs to be fixed to only link to Boost::mpi when BOOST_ENABLE_MPI is ON.
Will fix promptly.
Matt
Merged fix into develop which now looks good on the Boost CI (https://github.com/boostorg/boost/actions/runs/9899904565). Release managers, please let me know when I can merge it into master.
Please do so - and let me know when it’s done.
— Marshall
Fix has been merged into master. Matt

On Thu, Jul 11, 2024 at 1:51 PM Marshall Clow via Boost < boost@lists.boost.org> wrote:
Available at: https://archives.boost.io/beta/1.86.0.beta1/source/
The SHA256 checksums are as follows:
90be7ebbaf1c81a849791eb0f49d05a9ec7dbd0ec98b974dfe31d44d811e8298 boost_1_86_0_b1_rc1.7z 543ca3b743250a8b24b25c71209cf911c35613910e78a320835c21c053212ef2 boost_1_86_0_b1_rc1.tar.gz 1bf831ed717fa3e01db6c1f104b95f5a6a8d098a4cc9e61fa6eb81969c78645f boost_1_86_0_b1_rc1.tar.bz2 f739f8761bee6006c60a39fd21ed80b7b0a681c9ed448d1ae1bb28d8d8a69659 boost_1_86_0_b1_rc1.zip
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.
-- The Release Managers
We had some failures on windows, enough that we should probably have another RC to fix them. Here's one example with msvc-14.0 compile-c-c++ D:\RB\bin.v2\boost\bin.v2\libs\process\build\msvc-14.0\release\x86_32\link-static\runtime-link-static\threading-multi\ext\cmd.obj cmd.cpp Please define _WIN32_WINNT or _WIN32_WINDOWS appropriately. For example: - add -D_WIN32_WINNT=0x0601 to the compiler command line; or - add _WIN32_WINNT=0x0601 to your project's Preprocessor Definitions. Assuming _WIN32_WINNT=0x0601 (i.e. Windows 7 target). .\boost/process/v2/detail/environment_win.hpp(63): error C3250: 'itrs': declaration is not allowed in 'constexpr' function body .\boost/process/v2/detail/environment_win.hpp(62): note: while compiling class template member function 'int boost::process::v2::environment::key_char_traits<wchar_t>::compare(const wchar_t *,const wchar_t *,std::size_t) noexcept' .\boost/utility/string_view.hpp(208): note: see reference to function template instantiation 'int boost::process::v2::environment::key_char_traits<wchar_t>::compare(const wchar_t *,const wchar_t *,std::size_t) noexcept' being compiled .\boost/process/v2/environment.hpp(174): note: see reference to class template instantiation 'boost::process::v2::environment::key_char_traits<wchar_t>' being compiled .\boost/asio/execution/relationship.hpp(546): note: see reference to class template instantiation 'boost::asio::execution::detail::relationship_t<0>' being compiled .\boost/asio/execution/outstanding_work.hpp(548): note: see reference to class template instantiation 'boost::asio::execution::detail::outstanding_work_t<0>' being compiled .\boost/asio/execution/occupancy.hpp(135): note: see reference to class template instantiation 'boost::asio::execution::detail::occupancy_t<0>' being compiled .\boost/asio/execution/mapping.hpp(737): note: see reference to class template instantiation 'boost::asio::execution::detail::mapping_t<0>' being compiled .\boost/asio/execution/context.hpp(142): note: see reference to class template instantiation 'boost::asio::execution::detail::context_t<0>' being compiled .\boost/asio/execution/blocking_adaptation.hpp(722): note: see reference to class template instantiation 'boost::asio::execution::detail::blocking_adaptation_t<0>' being compiled .\boost/asio/execution/blocking.hpp(896): note: see reference to class template instantiation 'boost::asio::execution::detail::blocking_t<0>' being compiled .\boost/process/v2/detail/environment_win.hpp(66): error C3250: 'c1': declaration is not allowed in 'constexpr' function body .\boost/process/v2/detail/environment_win.hpp(67): error C3250: 'c2': declaration is not allowed in 'constexpr' function body .\boost/process/v2/detail/environment_win.hpp(69): error C3256: 'c1': variable use does not produce a constant expression .\boost/process/v2/detail/environment_win.hpp(69): error C3256: 'c2': variable use does not produce a constant expression .\boost/process/v2/detail/environment_win.hpp(61): error C3259: 'constexpr' functions can only have one return statement call "D:\RB\bin.v2\boost\bin.v2\standalone\msvc\msvc-14.0\address-model-32\architecture-x86\msvc-setup.bat" x86 >nul cl /Zm800 -nologo "libs\process\src\ext\cmd.cpp" -c -Fo"D:\RB\bin.v2\boost\bin.v2\libs\process\build\msvc-14.0\release\x86_32\link-static\runtime-link-static\threading-multi\ext\cmd.obj" -TP /wd4675 /EHs /GR /Zc:throwingNew /O2 /Ob2 /W3 /MT /Zc:forScope /Zc:wchar_t /Zc:inline /Gw /bigobj -DBOOST_ALL_NO_LIB=1 -DBOOST_ASIO_NO_DEPRECATED -DBOOST_ATOMIC_STATIC_LINK=1 -DBOOST_COBALT_USE_STD_PMR=1 -DBOOST_FILESYSTEM_STATIC_LINK=1 -DBOOST_PROCESS_SOURCE=1 -DNDEBUG -DWIN32_LEAN_AND_MEAN -D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS "-I." ...failed compile-c-c++ D:\RB\bin.v2\boost\bin.v2\libs\process\build\msvc-14.0\release\x86_32\link-static\runtime-link-static\threading- A link error with msvc-14.3 (similar ones for msvc-14.1 and msvc-14.2): msvc.link.dll D:\RB\bin.v2\boost\bin.v2\libs\process\build\msvc-14.3\release\x86_32\threading-multi\boost_process-vc143-mt-x32-1_86.dll environment_win.obj : error LNK2019: unresolved external symbol __imp__SHGetFileInfoW@20 referenced in function "bool __cdecl boost::process::v2::environment::detail::is_executable(class boost::filesystem::path const &,class boost::system::error_code &)" (?is_executable@detail@environment@v2@process@boost@@YA_NABVpath@filesystem @5@AAVerror_code@system@5@@Z) process_handle_windows.obj : error LNK2019: unresolved external symbol __imp__SendMessageW@16 referenced in function "int __stdcall boost::process::v2::detail::enum_window(struct HWND__ *,long)" (?enum_window@detail@v2@process@boost@@YGHPAUHWND__@@J@Z) process_handle_windows.obj : error LNK2019: unresolved external symbol __imp__EnumWindows@8 referenced in function "public: void __thiscall boost::process::v2::detail::basic_process_handle_win<class boost::asio::any_io_executor>::request_exit(class boost::system::error_code &)" (?request_exit@?$basic_process_handle_win@Vany_io_executor@asio@boost @@@detail@v2@process@boost@@QAEXAAVerror_code@system@5@@Z) process_handle_windows.obj : error LNK2019: unresolved external symbol __imp__GetWindowThreadProcessId@8 referenced in function "int __stdcall boost::process::v2::detail::enum_window(struct HWND__ *,long)" (?enum_window@detail@v2@process@boost@@YGHPAUHWND__@@J@Z) process_handle_windows.obj : error LNK2019: unresolved external symbol _RtlNtStatusToDosError@4 referenced in function "public: void __thiscall boost::process::v2::detail::basic_process_handle_win<class boost::asio::any_io_executor>::resume(class boost::system::error_code &)" (?resume@?$basic_process_handle_win@Vany_io_executor@asio@boost@@@detail@v2 @process@boost@@QAEXAAVerror_code@system@5@@Z) env.obj : error LNK2001: unresolved external symbol _RtlNtStatusToDosError@4 proc_info.obj : error LNK2001: unresolved external symbol _RtlNtStatusToDosError@4 process_handle_windows.obj : error LNK2019: unresolved external symbol _NtResumeProcess@4 referenced in function "public: void __thiscall boost::process::v2::detail::basic_process_handle_win<class boost::asio::any_io_executor>::resume(class boost::system::error_code &)" (?resume@?$basic_process_handle_win@Vany_io_executor@asio@boost@@@detail@v2 @process@boost@@QAEXAAVerror_code@system@5@@Z) process_handle_windows.obj : error LNK2019: unresolved external symbol _NtSuspendProcess@4 referenced in function "public: void __thiscall boost::process::v2::detail::basic_process_handle_win<class boost::asio::any_io_executor>::suspend(class boost::system::error_code &)" (?suspend@?$basic_process_handle_win@Vany_io_executor@asio@boost@@@detail@v2 @process@boost@@QAEXAAVerror_code@system@5@@Z) env.obj : error LNK2019: unresolved external symbol _NtQueryInformationProcess@20 referenced in function "struct boost::process::v2::ext::env_view __cdecl boost::process::v2::ext::env(void *,class boost::system::error_code &)" (?env@ext@v2@process@boost@ @YA?AUenv_view@1234@PAXAAVerror_code@system@4@@Z) proc_info.obj : error LNK2001: unresolved external symbol _NtQueryInformationProcess@20 proc_info.obj : error LNK2019: unresolved external symbol __imp__OpenProcessToken@12 referenced in function "void * __cdecl boost::process::v2::detail::ext::open_process_with_debug_privilege(unsigned long,class boost::system::error_code &)" (?open_process_with_debug_privilege@ext@detail@v2@process@boost @@YAPAXKAAVerror_code@system@5@@Z) proc_info.obj : error LNK2019: unresolved external symbol __imp__AdjustTokenPrivileges@24 referenced in function "void * __cdecl boost::process::v2::detail::ext::open_process_with_debug_privilege(unsigned long,class boost::system::error_code &)" (?open_process_with_debug_privilege@ext@detail@v2@process@boost @@YAPAXKAAVerror_code@system@5@@Z) proc_info.obj : error LNK2019: unresolved external symbol __imp__LookupPrivilegeValueA@12 referenced in function "void * __cdecl boost::process::v2::detail::ext::open_process_with_debug_privilege(unsigned long,class boost::system::error_code &)" (?open_process_with_debug_privilege@ext@detail@v2@process@boost @@YAPAXKAAVerror_code@system@5@@Z) shell.obj : error LNK2019: unresolved external symbol __imp__CommandLineToArgvW@8 referenced in function "private: void __thiscall boost::process::v2::shell::parse_(void)" (?parse_@shell @v2@process@boost@@AAEXXZ) D:\RB\bin.v2\boost\bin.v2\libs\process\build\msvc-14.3\release\x86_32\threading-multi\boost_process-vc143-mt-x32-1_86.dll : fatal error LNK1120: 12 unresolved externals You can see the full output here: https://gist.github.com/teeks99/bc3e129893260c2296fdada6b6f24dfe Tom

On 7/12/24 01:16, Tom Kent via Boost wrote:
On Thu, Jul 11, 2024 at 1:51 PM Marshall Clow via Boost < boost@lists.boost.org> wrote:
Available at: https://archives.boost.io/beta/1.86.0.beta1/source/
The SHA256 checksums are as follows:
90be7ebbaf1c81a849791eb0f49d05a9ec7dbd0ec98b974dfe31d44d811e8298 boost_1_86_0_b1_rc1.7z 543ca3b743250a8b24b25c71209cf911c35613910e78a320835c21c053212ef2 boost_1_86_0_b1_rc1.tar.gz 1bf831ed717fa3e01db6c1f104b95f5a6a8d098a4cc9e61fa6eb81969c78645f boost_1_86_0_b1_rc1.tar.bz2 f739f8761bee6006c60a39fd21ed80b7b0a681c9ed448d1ae1bb28d8d8a69659 boost_1_86_0_b1_rc1.zip
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.
-- The Release Managers
We had some failures on windows, enough that we should probably have another RC to fix them.
Here's one example with msvc-14.0 compile-c-c++ D:\RB\bin.v2\boost\bin.v2\libs\process\build\msvc-14.0\release\x86_32\link-static\runtime-link-static\threading-multi\ext\cmd.obj cmd.cpp Please define _WIN32_WINNT or _WIN32_WINDOWS appropriately. For example: - add -D_WIN32_WINNT=0x0601 to the compiler command line; or - add _WIN32_WINNT=0x0601 to your project's Preprocessor Definitions. Assuming _WIN32_WINNT=0x0601 (i.e. Windows 7 target). .\boost/process/v2/detail/environment_win.hpp(63): error C3250: 'itrs': declaration is not allowed in 'constexpr' function body
The problematic function is here: https://github.com/boostorg/process/blob/2c372461e8ab49fde18bff6c3c5e47b721d... It is marked with BOOST_CONSTEXPR, but it clearly requires BOOST_CXX14_CONSTEXPR. The same goes for a few other functions in this header.
A link error with msvc-14.3 (similar ones for msvc-14.1 and msvc-14.2):
It seems, Boost.Process is missing linking with shell32, user32 and ntdll in its Jamfile and CMakeLists.txt. Maybe with other libraries as well. At least, I don't see where they are being linked.

Andrey Semashev wrote:
A link error with msvc-14.3 (similar ones for msvc-14.1 and msvc-14.2):
It seems, Boost.Process is missing linking with shell32, user32 and ntdll in its Jamfile and CMakeLists.txt. Maybe with other libraries as well. At least, I don't see where they are being linked.
Klemens added ntdll to CMakeLists.txt: https://github.com/boostorg/process/commit/2c372461e8ab49fde18bff6c3c5e47b72... build/Jamfile, however, doesn't seem to have it.

On Fri, Jul 12, 2024 at 6:49 AM Peter Dimov via Boost <boost@lists.boost.org> wrote:
Andrey Semashev wrote:
A link error with msvc-14.3 (similar ones for msvc-14.1 and msvc-14.2):
It seems, Boost.Process is missing linking with shell32, user32 and ntdll in its Jamfile and CMakeLists.txt. Maybe with other libraries as well. At least, I don't see where they are being linked.
Sorry, I missed that.
Klemens added ntdll to CMakeLists.txt:
https://github.com/boostorg/process/commit/2c372461e8ab49fde18bff6c3c5e47b72...
build/Jamfile, however, doesn't seem to have it.
I added proper linking on develop now, fixed the constexpr and another bug. See the last three commits: https://github.com/boostorg/process/commits/develop/ Can I merge the three fixes into master?
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

On Jul 11, 2024, at 6:10 PM, Klemens Morgenstern via Boost <boost@lists.boost.org> wrote:
On Fri, Jul 12, 2024 at 6:49 AM Peter Dimov via Boost <boost@lists.boost.org> wrote:
Andrey Semashev wrote:
A link error with msvc-14.3 (similar ones for msvc-14.1 and msvc-14.2):
It seems, Boost.Process is missing linking with shell32, user32 and ntdll in its Jamfile and CMakeLists.txt. Maybe with other libraries as well. At least, I don't see where they are being linked.
Sorry, I missed that.
Klemens added ntdll to CMakeLists.txt:
https://github.com/boostorg/process/commit/2c372461e8ab49fde18bff6c3c5e47b72...
build/Jamfile, however, doesn't seem to have it.
I added proper linking on develop now, fixed the constexpr and another bug. See the last three commits: https://github.com/boostorg/process/commits/develop/
Can I merge the three fixes into master?
Yes, please do. — Marshall

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

On 7/16/24 13:08, Ruben Perez via Boost wrote:
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.
; CallbackT = boost::log::v2_mt_posix::aux::date_format_parser_callback<char>]' at
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 | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
Please, report it to gcc devs, it's coming from std::basic_string::append. In my experience, this sort of warnings from gcc is completely broken and and nothing but spam in the output.

On 7/16/24 14:14, Andrey Semashev wrote:
On 7/16/24 13:08, Ruben Perez via Boost wrote:
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.
; CallbackT = boost::log::v2_mt_posix::aux::date_format_parser_callback<char>]' at
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 | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
Please, report it to gcc devs, it's coming from std::basic_string::append.
Actually, it's been reported already: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105651
In my experience, this sort of warnings from gcc is completely broken and and nothing but spam in the output.
participants (7)
-
Andrey Semashev
-
Klemens Morgenstern
-
Marshall Clow
-
Matt Borland
-
Peter Dimov
-
Ruben Perez
-
Tom Kent