Message ID | 20200918103430.297167-6-thuth@redhat.com |
---|---|
State | New |
Headers | show |
Series | Update Travis from Xenial to Bionic and Focal | expand |
On Fri, Sep 18, 2020 at 12:34:29PM +0200, Thomas Huth wrote: > According to our support policy, we do not support Xenial anymore. > Time to switch the bigger parts of the builds to Focal instead. > Some few jobs have to be updated to Bionic instead, since they are > currently still failing on Focal otherwise. Also "--disable-pie" is > causing linker problems with newer versions of Ubuntu ... so remove > that switch from the jobs now (we still test it in a gitlab CI job, > so we don't lose much test coverage here). > > Signed-off-by: Thomas Huth <thuth@redhat.com> > --- > .travis.yml | 24 +++++++++++++----------- > 1 file changed, 13 insertions(+), 11 deletions(-) > > diff --git a/.travis.yml b/.travis.yml > index 1fc49b0746..80da4ebc8e 100644 > --- a/.travis.yml > +++ b/.travis.yml > @@ -2,7 +2,7 @@ > # Additional builds with specific requirements for a full VM need to > # be added as additional matrix: entries later on > os: linux > -dist: xenial > +dist: focal > language: c > compiler: > - gcc > @@ -10,7 +10,7 @@ cache: > # There is one cache per branch and compiler version. > # characteristics of each job are used to identify the cache: > # - OS name (currently only linux) > - # - OS distribution (for Linux, xenial, trusty, or precise) > + # - OS distribution (for Linux, bionic or focal) > # - Names and values of visible environment variables set in .travis.yml or Settings panel > timeout: 1200 > ccache: true > @@ -27,7 +27,7 @@ addons: > - libattr1-dev > - libbrlapi-dev > - libcap-ng-dev > - - libgcc-4.8-dev > + - libgcc-7-dev > - libgnutls28-dev > - libgtk-3-dev > - libiscsi-dev > @@ -211,8 +211,10 @@ jobs: > > # gprof/gcov are GCC features > - name: "GCC gprof/gcov" > + dist: bionic > env: > - - CONFIG="--enable-gprof --enable-gcov --disable-pie --target-list=${MAIN_SOFTMMU_TARGETS}" > + - CONFIG="--enable-gprof --enable-gcov --disable-libssh > + --target-list=${MAIN_SOFTMMU_TARGETS}" While the commit message describes the reason for dropping '--disable-pie', it doesn't talk about why it adds '--disable-libssh'. Other than that, it's working fine, according to: https://travis-ci.org/github/clebergnu/qemu/builds/729121964 Reviewed-by: Cleber Rosa <crosa@redhat.com> Tested-by: Cleber Rosa <crosa@redhat.com>
On 22/09/2020 01.39, Cleber Rosa wrote: > On Fri, Sep 18, 2020 at 12:34:29PM +0200, Thomas Huth wrote: >> According to our support policy, we do not support Xenial anymore. >> Time to switch the bigger parts of the builds to Focal instead. >> Some few jobs have to be updated to Bionic instead, since they are >> currently still failing on Focal otherwise. Also "--disable-pie" is >> causing linker problems with newer versions of Ubuntu ... so remove >> that switch from the jobs now (we still test it in a gitlab CI job, >> so we don't lose much test coverage here). >> >> Signed-off-by: Thomas Huth <thuth@redhat.com> >> --- >> .travis.yml | 24 +++++++++++++----------- >> 1 file changed, 13 insertions(+), 11 deletions(-) >> >> diff --git a/.travis.yml b/.travis.yml >> index 1fc49b0746..80da4ebc8e 100644 >> --- a/.travis.yml >> +++ b/.travis.yml >> @@ -2,7 +2,7 @@ >> # Additional builds with specific requirements for a full VM need to >> # be added as additional matrix: entries later on >> os: linux >> -dist: xenial >> +dist: focal >> language: c >> compiler: >> - gcc >> @@ -10,7 +10,7 @@ cache: >> # There is one cache per branch and compiler version. >> # characteristics of each job are used to identify the cache: >> # - OS name (currently only linux) >> - # - OS distribution (for Linux, xenial, trusty, or precise) >> + # - OS distribution (for Linux, bionic or focal) >> # - Names and values of visible environment variables set in .travis.yml or Settings panel >> timeout: 1200 >> ccache: true >> @@ -27,7 +27,7 @@ addons: >> - libattr1-dev >> - libbrlapi-dev >> - libcap-ng-dev >> - - libgcc-4.8-dev >> + - libgcc-7-dev >> - libgnutls28-dev >> - libgtk-3-dev >> - libiscsi-dev >> @@ -211,8 +211,10 @@ jobs: >> >> # gprof/gcov are GCC features >> - name: "GCC gprof/gcov" >> + dist: bionic >> env: >> - - CONFIG="--enable-gprof --enable-gcov --disable-pie --target-list=${MAIN_SOFTMMU_TARGETS}" >> + - CONFIG="--enable-gprof --enable-gcov --disable-libssh >> + --target-list=${MAIN_SOFTMMU_TARGETS}" > > While the commit message describes the reason for dropping > '--disable-pie', it doesn't talk about why it adds '--disable-libssh'. Ah, well, right. I should have mentioned that... but we've hit that problem in the past so often that my mind apparently sorted it into the well-known category and did not came up with the idea that it would be good to mention it ;-) The problem is that libssh is very much broken in Bionic. Ubuntu backported some patches into that version so that QEMU's configure script thinks that it is a newer version, but they did not backport some other important patches so that compilation later fails. Since it's rather a bug in the distro and not in QEMU, we never "fixed" this issue, so libssh can not be used in Bionic. See also: https://bugs.launchpad.net/qemu/+bug/1838763 > Reviewed-by: Cleber Rosa <crosa@redhat.com> > Tested-by: Cleber Rosa <crosa@redhat.com> Thanks! Thomas
diff --git a/.travis.yml b/.travis.yml index 1fc49b0746..80da4ebc8e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,7 +2,7 @@ # Additional builds with specific requirements for a full VM need to # be added as additional matrix: entries later on os: linux -dist: xenial +dist: focal language: c compiler: - gcc @@ -10,7 +10,7 @@ cache: # There is one cache per branch and compiler version. # characteristics of each job are used to identify the cache: # - OS name (currently only linux) - # - OS distribution (for Linux, xenial, trusty, or precise) + # - OS distribution (for Linux, bionic or focal) # - Names and values of visible environment variables set in .travis.yml or Settings panel timeout: 1200 ccache: true @@ -27,7 +27,7 @@ addons: - libattr1-dev - libbrlapi-dev - libcap-ng-dev - - libgcc-4.8-dev + - libgcc-7-dev - libgnutls28-dev - libgtk-3-dev - libiscsi-dev @@ -211,8 +211,10 @@ jobs: # gprof/gcov are GCC features - name: "GCC gprof/gcov" + dist: bionic env: - - CONFIG="--enable-gprof --enable-gcov --disable-pie --target-list=${MAIN_SOFTMMU_TARGETS}" + - CONFIG="--enable-gprof --enable-gcov --disable-libssh + --target-list=${MAIN_SOFTMMU_TARGETS}" after_success: - ${SRC_DIR}/scripts/travis/coverage-summary.sh @@ -271,6 +273,7 @@ jobs: # Using newer GCC with sanitizers - name: "GCC9 with sanitizers (softmmu)" + dist: bionic addons: apt: update: true @@ -286,7 +289,7 @@ jobs: - libattr1-dev - libbrlapi-dev - libcap-ng-dev - - libgnutls-dev + - libgnutls28-dev - libgtk-3-dev - libiscsi-dev - liblttng-ust-dev @@ -294,14 +297,13 @@ jobs: - libncurses5-dev - libnss3-dev - libpixman-1-dev - - libpng12-dev + - libpng-dev - librados-dev - libsdl2-dev - libsdl2-image-dev - libseccomp-dev - libspice-protocol-dev - libspice-server-dev - - libssh-dev - liburcu-dev - libusb-1.0-0-dev - libvte-2.91-dev @@ -311,11 +313,11 @@ jobs: compiler: none env: - COMPILER_NAME=gcc CXX=g++-9 CC=gcc-9 - - CONFIG="--cc=gcc-9 --cxx=g++-9 --disable-pie --disable-linux-user" + - CONFIG="--cc=gcc-9 --cxx=g++-9 --disable-linux-user" - TEST_CMD="" before_script: - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR} - - ${SRC_DIR}/configure ${CONFIG} --extra-cflags="-g3 -O0 -Wno-error=stringop-truncation -fsanitize=thread" --extra-ldflags="-fuse-ld=gold" || { cat config.log && exit 1; } + - ${SRC_DIR}/configure ${CONFIG} --extra-cflags="-g3 -O0 -fsanitize=thread" || { cat config.log && exit 1; } # Run check-tcg against linux-user @@ -357,7 +359,7 @@ jobs: - name: "[aarch64] GCC check-tcg" arch: arm64 - dist: xenial + dist: focal addons: apt_packages: - libaio-dev @@ -390,7 +392,7 @@ jobs: - name: "[ppc64] GCC check-tcg" arch: ppc64le - dist: xenial + dist: focal addons: apt_packages: - libaio-dev
According to our support policy, we do not support Xenial anymore. Time to switch the bigger parts of the builds to Focal instead. Some few jobs have to be updated to Bionic instead, since they are currently still failing on Focal otherwise. Also "--disable-pie" is causing linker problems with newer versions of Ubuntu ... so remove that switch from the jobs now (we still test it in a gitlab CI job, so we don't lose much test coverage here). Signed-off-by: Thomas Huth <thuth@redhat.com> --- .travis.yml | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-)