[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
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
On Jul 12, 2024, at 5:39 AM, Matt Borland via Boost
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
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
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
On Fri, Jul 12, 2024 at 6:49 AM Peter Dimov via Boost
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
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
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
(__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
(__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