Mart Pirita
2021-Jul-29 11:33 UTC
Timo - is the v2.3.15 GCC limitation really necessarily or it's just a bug?
Hi, This is very bad news. I don't think that disto is old, if I can compile almost every software with it. So at the moment I have two choices, newer upgrade Dovecot or rollback the buffer_t changes and use latest version? Mart Timo Sirainen wrote:> On 29. Jul 2021, at 7.21, Mart Pirita <mart at e-positive.ee <mailto:mart at e-positive.ee>> wrote: >> >> Hello. >> >> So far I have successfully built Dovecot until v2.3.14 on Centos 4-6 (yes I know, they are old, but as they are remote servers, distros can't upgraded), and sometimes I have also met compilation issues, but after highlighting them, Timo have fixed the code. >> >> Found from similar thread (Dovecot 2.3.15 compilation fails https://dovecot.org/list/dovecot/2021-June/122412.html ) that new GCC is needed. However I can't find such requirement in v2.3.15 change log. > > Looks like we forgot to mention that. > >> As seems that I'm not the only one with compilation issues, then @Timo - can You please fix the code so that also v2.3.15 can compiled on older distros? > > Sorry, it's no longer possible. The buffer.h API had to be changed to fix some real bugs: https://github.com/dovecot/core/commit/1d9b4e14008b15b7a34b5c633b09b9670e866256 > > The original way I changed it would have made the code more complex and it was also a huge change. The final method was much simpler, but it requires now compiler support for anonymous unions and anonymous structs, i.e. C11. Although some older GCCs should also support it, but I guess you've a too old version. >
Michael Orlitzky
2021-Jul-29 12:00 UTC
Timo - is the v2.3.15 GCC limitation really necessarily or it's just a bug?
On Thu, 2021-07-29 at 14:33 +0300, Mart Pirita wrote:> Hi, > > > This is very bad news. > > I don't think that disto is old, if I can compile almost every > software with it. > > So at the moment I have two choices, newer upgrade Dovecot or > rollback the buffer_t changes and use latest version? > >If you're willing to build dovecot from source to obtain a newer version than CentOS provides, you could always do the same thing with GCC or clang. Dovecot should respect things like CC=/usr/local/bin/gcc-11
Florian Weimer
2021-Jul-29 12:09 UTC
Timo - is the v2.3.15 GCC limitation really necessarily or it's just a bug?
* Mart Pirita:> So at the moment I have two choices, newer upgrade Dovecot or rollback > the buffer_t changes and use latest version?You can use Developer Toolset. It comes with newer GCC versions. I don't know the precise CentOS repository layout, but there is a devtoolset-7-gcc package somewhere. Thanks, Florian
Adi Pircalabu
2021-Jul-29 23:34 UTC
Timo - is the v2.3.15 GCC limitation really necessarily or it's just a bug?
On 29-07-2021 21:33, Mart Pirita wrote:> Hi, > > This is very bad news. > > I don't think that disto is old, if I can compile almost every software > with it.If that CentOS distro is EOL and/or you can't even find the source rpms to compile/rebuild them to retrofit patches addressing security vulnerabilities, with or without devtoolset, *THIS* is very, very bad news. Just saying. -- Adi Pircalabu
Perry E. Metzger
2021-Jul-30 15:30 UTC
Timo - is the v2.3.15 GCC limitation really necessarily or it's just a bug?
On 7/29/21 07:33, Mart Pirita wrote:> This is very bad news. > > I don't think that disto is old, if I can compile almost every software with it. > > So at the moment I have two choices, newer upgrade Dovecot or rollback the buffer_t changes and use latest version?Just fyi, Centos provides an unusably old version of GCC for many purposes. C11 support went into GCC a decade ago. I don't know why the Centos GCC is so very very old, but you _can_ install a package with a newer one. It's been long enough that I can't remember how you do that but it shouldn't be too hard to learn how. Perry