[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:
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.
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 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.
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:
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:
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:
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
Sorry, I missed that.
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 Thu, 11 Jul 2024 at 20:51, Marshall Clow via Boost
; 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 14:14, Andrey Semashev wrote:
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