Re: is this the year for c++20?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 16.02.22 16:45, Casey Bodley wrote:
> On Wed, Feb 16, 2022 at 10:24 AM Gregory Farnum <gfarnum@xxxxxxxxxx> wrote:
>> On Wed, Feb 16, 2022 at 7:17 AM Casey Bodley <cbodley@xxxxxxxxxx> wrote:
>>> thanks Greg,
>>>
>>> On Tue, Feb 15, 2022 at 8:51 PM Gregory Farnum <gfarnum@xxxxxxxxxx> wrote:
>>>> On Thu, Feb 10, 2022 at 8:36 AM Casey Bodley <cbodley@xxxxxxxxxx> wrote:
>>>>> the R release could be a good opportunity to make the switch to c++20
>>>>>
>>>>> gcc and clang both track their support for c++20 features over
>>>>> compiler versions in:
>>>>> https://gcc.gnu.org/projects/cxx-status.html#cxx20
>>>>> https://clang.llvm.org/cxx_status.html#cxx20
>>>>>
>>>>> thanks to the dev toolset in rhel/centos, we should already have
>>>>> access to compilers that support c++20. for ubuntu, focal is still on
>>>>> gcc-9 which doesn't understand -std=c++20 at all, but clang-10 does
>>>>>
>>>>> if we're willing to switch our ubuntu builds to clang, we could start
>>>>> experimenting with c++20 on master now. otherwise, we can wait for the
>>>>> jammy release in april
>>>> Don't forget we also need to keep building for older distros. I know
>>> can we be more specific about this requirement? are you saying that
>>> the R release still needs to build on ubuntu focal? or that our
>>> octopus/pacific/quincy releases do?
>> I was thinking we need to maintain support for Ubuntu 20.04 in our
>> next release, yeah. But that may not be right; I guess we generally
>> try and support the most recent LTS in our new branches. So maybe this
>> is a non-issue?
>>
>>>> it's supposed to be possible and sometimes we've managed to
>>>> cross-build, but it always seems to be hit-or-miss on any given
>>>> distro/compiler version.
>>> i'm not sure what you mean by cross-build here - is that about CI
>>> using different distros/compilers depending on the ceph branch?
>> I mean you can technically build for eg Focal in a Jammy compiler to
>> get support for those new compiler features. But it's hard to
>> maintain.
> okay thanks, i see what you mean. i think it would be ideal if we
> could drop focal packages from all of our upstream releases. but if we
> can't do that yet, we could continue building earlier releases in
> focal so long as we avoid backporting any changes that require c++20.
> i believe that's how we handled the switches to c++11 and 17 in the
> past. though if we *can* drop focal entirely, that would make it a lot
> easier to adopt the new c++20 features
> 

Building ceph on Proxmox VE, i.e., a Debian derivative here. Current
stable Debian Bullseye is supported until around summer 2024, meaning
that Quincy's support life time should cover that, and using gcc 10.2,
so most of C++ 20 isn't an issue, but the compat table shows that some
parts only got added in gcc 11 or even 12, so we'd definitively
appreciate to have CI checking for Debian Bullseye (i.e., gcc 10's)
C++20 ability to cope with back ported patches,

Having the option to build the R release on Debian Bullseye would be
great in general, but not a "hard requirement" for us if Q EOL cover us
for that release. In fact, it's more probable that we won't release Q for
our Bullseye based release only weeks before switching it into
maintenance support mode and the Debian Bookworm release will quite
probably use GCC 12, so we'd be golden for C++20 there.

I'm not involved in Ubuntu nor do I know much about how it "digests" ceph
releases in general, so please don't read to much into it, but if Quincy
would still be supported for focal due to ensuring that backports are not
relying on C++20 features, users of the focal release would have enough
time to upgrade either to the next 22.04 LTS and even to the one after
that, 24.04, until Quincy goes EoL in 2024 which doesn't sounds /that/
bad to me, as there's no gap for a supported Ceph version in-between the
Ubuntu LTS releases.

Thanks
- Thomas

_______________________________________________
Dev mailing list -- dev@xxxxxxx
To unsubscribe send an email to dev-leave@xxxxxxx



[Index of Archives]     [CEPH Users]     [Ceph Devel]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux