Boost 1-89 + GCC 15.2 (MSYS2 ucrt64, POSIX) – thread_local static_assert with Boost.Math

Ivo Celmans via Boost-users <[email protected]> Fri, 22 Aug 2025 18:59:28 +0300
Newsgroups gmane.comp.lib.boost.user
Message-ID <CAN7tFNcp5jNzqc7g9ytTyekjLtPb9g5pQMSTW59t_5=j5P8L1Q@mail.gmail.com>
Hello,

After updating to Boost 1.89 I can no longer build my code that uses
boost::math::zeta() with a boost::multiprecision::mpfr_float custom type
(dynamic backend).
The compiler fails with:

static assertion failed: Your platform does not support thread_local with
non-trivial types,
last checked with Mingw-x64-8.1, Jan 2021.
Please try a Mingw build with the POSIX threading model,
see https://sourceforge.net/p/mingw-w64/bugs/527/

I use  Windows 11, MSYS2 ucrt64 toolchain GCC 15.2.0 (Thread model: posix)
. Boost also installed by MSYS2 ucrt64. Building from VS Code tasks with a
flag -pthread

Has anyone else encountered this with Boost 1.89 on MinGW-w64?
Are there recommended compiler flags or things to work around it?
For now I can only downgrade to Boost 1.88 - compile without problems.

Best regards, Ivo.

e [email protected]
_______________________________________________
Boost-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://lists.boost.org/mailman3/lists/boost-users.lists.boost.org/
Archived at: https://lists.boost.org/archives/list/[email protected]/message/FRUD3XK5QFUZXYQ7EVTZP4TFW4HN3WDJ/