-
Notifications
You must be signed in to change notification settings - Fork 39
Description
I'm packaging Boost 1.90.0 for Fedora and observed that when my new boost-1.90.0 RPM is built using GCC 15 (the current compiler in Fedora Rawhide) there are no libs built for Boost.Cobalt. When I experiment with building it with the GCC 16 package that will arrive in Rawhide some time next month, I get these extra files installed:
/usr/lib/debug/usr/lib64/libboost_cobalt.so.1.90.0-1.90.0-0.1.fc44.x86_64.debug
/usr/lib/debug/usr/lib64/libboost_cobalt_io.so.1.90.0-1.90.0-0.1.fc44.x86_64.debug
/usr/lib64/libboost_cobalt.so
/usr/lib64/libboost_cobalt.so.1.90.0
/usr/lib64/libboost_cobalt_io.so
/usr/lib64/libboost_cobalt_io.so.1.90.0
I assume this is because GCC 16 defaults to -std=gnu++20 so supports C++20 coroutines by default, and GCC 15 only supports them if you use an extra option. But is that really the intended behaviour? Should building Boost automatically add -std=gnu++20 when building Cobalt, so that it actually installs its libraries?
https://www.boost.org/doc/libs/1_90_0/libs/cobalt/doc/html/index.html#requirements says it's been tested with GCC 10, but says nothing about it not being supported out of the box and requiring additional steps to get the library binaries. Am I doing something wrong when building Boost? I'm just using the ./bootstrap.sh and b2 commands as recommended.