[webkit-dev] update GCC version?

Carlos Alberto Lopez Perez clopez at igalia.com
Mon Jan 9 07:39:44 PST 2017


On 09/01/17 01:09, Michael Catanzaro wrote:
> On Sun, 2017-01-08 at 18:59 +0100, zan at falconsigh.net wrote:
>> For the record, GCC 5 has complete C++14 support. The current
>> requirement is 4.9, so the bump would be minimal.
>> https://gcc.gnu.org/projects/cxx-status.html#cxx14
> We would need to redefine our dependencies policy:
> 
> https://trac.webkit.org/wiki/WebKitGTK/DependenciesPolicy
> 
> We just recently crafted that policy. I kinda like it because it
> provides a clear formula for deciding whether a compiler is too new to
> be required or not. It means we would support GCC 4.9 until roughly
> next spring/summer, one year from the next Debian release. We could
> either (a) drop Debian from the policy, which I support doing anyway
> because it does not take our security updates, or we could (b) define
> the policy in terms of runtime dependencies, rather than build
> dependencies (which I think Carlos Garcia wanted to do anyway). Either
> way makes it more likely that distributions will get cut off and choose
> to not provide WebKit security updates. I would prefer not to do (b),
> because in practice distributions will just not take our updates if
> they can't use their default compiler.
> 

I strongly oppose to do (a). Also, it is false that Debian doesn't take
our updates. They take our updates in the backports repository for stable.

I also don't like (b).

Another idea is: (c) Drop the "one year after the release" requirement.
Which means that we could update to minimum GCC version to 5.3 (the one
in last Ubuntu LTS) when Debian 9 is released (which hopefully is
expected to happen around the middle of 2017).

A date that I guess will be near enough to when VS2017 is released.

This will mean that instead of supporting up to 3-year old dependencies
we will only support up to 2-year old ones.
I'm not particular enthusiast about this, but I'm ready to understand
that supporting 3-year old dependencies is not realistic on a project
like WebKit.

> Keep in mind that for a distro to upgrade from GCC 4.9 -> 5.0 is weeks
> of effort unless you build GCC with the flag that turns on the old C++
> ABI, but you have to switch to the new ABI eventually, so might as well
> do it at the same time. I have to support WebKit for a distribution
> that has been delaying the upgrade for this reason. GCC upgrades are
> expensive and not fun. Even turning off the ABI switch, upgrading GCC
> means lots of obscure C++ build failures in packages you're not
> familiar with.
> 
> Michael

Another (maybe easier) way forward for building it on distros that have
libstdc++ < 5.0 is to use clang.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 883 bytes
Desc: OpenPGP digital signature
URL: <https://lists.webkit.org/pipermail/webkit-dev/attachments/20170109/f7f23e42/attachment.sig>


More information about the webkit-dev mailing list