I intended to create a V1.10 release, but it seems Travis CI just updated all the worker images from Ubuntu precise to Ubuntu trusty: https://docs.travis-ci.com/user/reference/overview/ (Ubuntu precise container environment: Retired as of September 2017). They did not only move the default build image from precise to trusty, but also retired the previous default (during my holiday, and while I was dealing with older compilers like Visual Studio 2010).
Now, why do I care about this update?
Up to now, the following compilers were used:
gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
clang version 3.4 (tags/RELEASE_34/final)
the new image uses
gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
clang version 3.5.0 (tags/RELEASE_350/final)
This rises several new spurious warnings - some of them cannot be ignored using a #pragma gcc/clang warning disable directive. CivetWeb used to compile with -Wall -Wextra (clang: -Weverything) and -Werror, so the Travis CI build has to be free from warnings.
I think this "free from warning" is only possible for selected compilers and selected compiler versions anyway.
For the 1.10 release, I try to find a way to use the "precise" compiler version again, but this does not seem so easy (maybe Travis CI support can help: https://github.com/travis-ci/travis-ci/issues/8329). I think it does not make much sense to delay the release and take care of a compiler update now. Still, I don't know how to do a compiler "downgrade" of the "trusty" compilers within the Travis container (or, the container is discontinued anyway and needs to be replaced).
Alternatively, I could try to use a gcc 5.x or 6.x compiler, since some of the spurious warnings in 4.8 and 4.9 seem to be gone in these versions again (it seems, warnings were used somewhat too excessive in the late 4.x versions?).
Unfortunately, it seems this is using up my time budget for the 1.10 release.
该提问来源于开源项目:civetweb/civetweb