[QGIS-Developer] QEP: Aggressive Dependency Bump for 3.18

Greg Troxel gdt at lexort.com
Mon Oct 12 07:58:45 PDT 2020


Nyall Dawson <nyall.dawson at gmail.com> writes:

> Please see https://github.com/qgis/QGIS-Enhancement-Proposals/issues/197
> for a proposal to perform an aggressive dependency bump following the
> release of the QGIS 3.16 LTR version.
>
> The build dependency versions for QGIS have not been raised in many
> years, and as a consequence we are dragging around many thousands of
> lines of duplicate code designed to work around older dependency
> versions.
>
> It is proposed that for QGIS 3.18 we perform an aggressive dependency
> bump and remove support for many older, unsupported library versions.

I was fearing this to be really aggressive, but it seems that it will
mostly only impact "LTS", aka people that choose to run old software :-)

From the pkgsrc point of view, I don't see any problems.  We tend to be
slightly behind when there are reasons, but not to maintain versions
static for years.

I'm pretty sure you mean "proj 6 or later is ok" and "proj 5.x is NOT
ok" in which case that sounds good to me.  At this point it feels a bit
early to demand 7.   That said, I expect this to be the biggest issue in
practice.

For QT, I don't have any issue with 5.12 instead or even 5.15.  In
general I don't think what's available on LTS distributions should be
much of a guide, as LTS users should be using LTS qgis.

For compiler, C++17 is hard to parse into what it really means.  For
each C++nn, it seems that there are a number of language features and
that support for them comes in stages to gcc, so there are gcc versions
that mostly support the version, and then it takes a really recent gcc
to 100% support it.

I would like to see qgis be buidlable with gcc 7.   There is only one
thing in C++17 that isn't supported there:
  https://gcc.gnu.org/projects/cxx-status.html

so if you mean "C++17, with the caveat that gcc 7 is usable"

For clang, it looks like clang 5 will be needed, whereas before 3.4 was
ok.:
  http://clang.llvm.org/cxx_status.html


gcc 7 and clang 5 were both released in 2017, so that feels a bit
aggressive.

If you mean full-on C++17 and thus gcc 8 that ws released in 2018 and is
even more aggressive.

I am sensitive to compiler versions because upgrading a compiler in a
system is much harder than other things.   A system being released and
having a perhaps 3 year maintenance interval where people use it seems
reasonable - actually doing system upgrades is disruptive and people
often wait a bit to upgrade base, while keeping other things up to date,
even without intending to cross into LTS.

How much gain is there from allowing C++17, vs onlyC++14?  To me this is
the only questionable bump in terms of benefit/pain.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 194 bytes
Desc: not available
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20201012/90306f78/attachment-0001.sig>


More information about the QGIS-Developer mailing list