From 7c38d7b7c82959774cef875ebda61916be30370d Mon Sep 17 00:00:00 2001 From: Emil Velikov Date: Thu, 13 Dec 2018 11:20:41 +0000 Subject: [PATCH] travis: flip to distro xenial, drop sudo false The latter is the default these days and Travis will be removing sudo soonish. Flipping to xenial, allows us to remove a bunch of hacks we have. Plus it prevents us from adding new ones, to workaround what seems like a gcc/binutils bug. For example (from the upcoming meson build): FAILED: ccache c++ -o src/gallium/targets/pipe-loader/pipe_r600.so ... ... src/util/libmesa_util.a ... /usr/lib/x86_64-linux-gnu/libz.so ... src/util/libmesa_util.a(disk_cache.c.o): In function `deflate_and_write_to_disk': _build/../src/util/disk_cache.c:746: undefined reference to `deflateInit_' _build/../src/util/disk_cache.c:765: undefined reference to `deflate' ... As we can see, even though libz.so is explicitly passed after the object that requires it - the linker still fails to see the symbols. Avoid all those situations - flip the switch. Signed-off-by: Emil Velikov Reviewed-by: Dylan Baker --- .travis.yml | 99 +++++++++++++++-------------------------------------- 1 file changed, 27 insertions(+), 72 deletions(-) diff --git a/.travis.yml b/.travis.yml index 8eceb4e86f5..deec40cb135 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,6 @@ language: c -sudo: false -dist: trusty +dist: xenial cache: apt: true @@ -43,12 +42,9 @@ matrix: addons: apt: sources: - - sourceline: 'deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-7 main' + - sourceline: 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main' key_url: https://apt.llvm.org/llvm-snapshot.gpg.key - # llvm-7 requires libstdc++4.9 which is not in main repo - - ubuntu-toolchain-r-test packages: - # From sources above - llvm-7-dev # Common - xz-utils @@ -57,6 +53,7 @@ matrix: - libelf-dev - python3.5 - python3-pip + - python3-setuptools - env: - LABEL="meson loaders/classic DRI" - BUILD=meson @@ -68,12 +65,14 @@ matrix: packages: - xz-utils - x11proto-xf86vidmode-dev + - libxxf86vm-dev - libexpat1-dev - libx11-xcb-dev - libxdamage-dev - libxfixes-dev - python3.5 - python3-pip + - python3-setuptools - env: - LABEL="make loaders/classic DRI" - BUILD=make @@ -90,11 +89,13 @@ matrix: packages: - xz-utils - x11proto-xf86vidmode-dev + - libxxf86vm-dev - libexpat1-dev - libx11-xcb-dev - libxdamage-dev - libxfixes-dev - python3-pip + - python3-setuptools - env: # NOTE: Building SWR is 2x (yes two) times slower than all the other # gallium drivers combined. @@ -113,12 +114,7 @@ matrix: - LIBUNWIND_FLAGS="--enable-libunwind" addons: apt: - sources: - - llvm-toolchain-trusty-6.0 - # llvm-6 requires libstdc++4.9 which is not in main repo - - ubuntu-toolchain-r-test packages: - # From sources above - llvm-6.0-dev # Common - xz-utils @@ -127,6 +123,7 @@ matrix: - libelf-dev - libunwind8-dev - python3-pip + - python3-setuptools - env: - LABEL="make Gallium Drivers RadeonSI" - BUILD=make @@ -143,10 +140,8 @@ matrix: addons: apt: sources: - - sourceline: 'deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-7 main' + - sourceline: 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main' key_url: https://apt.llvm.org/llvm-snapshot.gpg.key - # llvm-7 requires libstdc++4.9 which is not in main repo - - ubuntu-toolchain-r-test packages: # From sources above - llvm-7-dev @@ -157,6 +152,7 @@ matrix: - libelf-dev - libunwind8-dev - python3-pip + - python3-setuptools - env: - LABEL="make Gallium Drivers Other" - BUILD=make @@ -164,8 +160,6 @@ matrix: - MAKE_CHECK_COMMAND="true" - LLVM_VERSION=3.9 - LLVM_CONFIG="llvm-config-${LLVM_VERSION}" - # New binutils linker is required for llvm-3.9 - - OVERRIDE_PATH=/usr/lib/binutils-2.26/bin - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl" - DRI_DRIVERS="" - GALLIUM_ST="--enable-dri --disable-opencl --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa" @@ -174,13 +168,9 @@ matrix: - LIBUNWIND_FLAGS="--enable-libunwind" addons: apt: - sources: - - llvm-toolchain-trusty-3.9 packages: - - binutils-2.26 # LLVM packaging is broken and misses these dependencies - libedit-dev - # From sources above - llvm-3.9-dev # Common - xz-utils @@ -189,6 +179,7 @@ matrix: - libelf-dev - libunwind8-dev - python3-pip + - python3-setuptools - env: - LABEL="make Gallium ST Clover LLVM-3.9" - BUILD=make @@ -196,10 +187,6 @@ matrix: - MAKE_CHECK_COMMAND="true" - LLVM_VERSION=3.9 - LLVM_CONFIG="llvm-config-${LLVM_VERSION}" - - OVERRIDE_CC=gcc-4.7 - - OVERRIDE_CXX=g++-4.7 - # New binutils linker is required for llvm-3.9 - - OVERRIDE_PATH=/usr/lib/binutils-2.26/bin - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl" - DRI_DRIVERS="" - GALLIUM_ST="--disable-dri --enable-opencl --enable-opencl-icd --enable-llvm --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa" @@ -208,15 +195,10 @@ matrix: - LIBUNWIND_FLAGS="--enable-libunwind" addons: apt: - sources: - - llvm-toolchain-trusty-3.9 packages: - - binutils-2.26 - libclc-dev # LLVM packaging is broken and misses these dependencies - libedit-dev - - g++-4.7 - # From sources above - llvm-3.9-dev - clang-3.9 - libclang-3.9-dev @@ -227,6 +209,7 @@ matrix: - libelf-dev - libunwind8-dev - python3-pip + - python3-setuptools - env: - LABEL="make Gallium ST Clover LLVM-4.0" - BUILD=make @@ -234,8 +217,6 @@ matrix: - MAKE_CHECK_COMMAND="true" - LLVM_VERSION=4.0 - LLVM_CONFIG="llvm-config-${LLVM_VERSION}" - - OVERRIDE_CC=gcc-4.8 - - OVERRIDE_CXX=g++-4.8 - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl" - DRI_DRIVERS="" - GALLIUM_ST="--disable-dri --enable-opencl --enable-opencl-icd --enable-llvm --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa" @@ -244,14 +225,10 @@ matrix: - LIBUNWIND_FLAGS="--enable-libunwind" addons: apt: - sources: - - llvm-toolchain-trusty-4.0 packages: - libclc-dev # LLVM packaging is broken and misses these dependencies - libedit-dev - - g++-4.8 - # From sources above - llvm-4.0-dev - clang-4.0 - libclang-4.0-dev @@ -262,6 +239,7 @@ matrix: - libelf-dev - libunwind8-dev - python3-pip + - python3-setuptools - env: - LABEL="make Gallium ST Clover LLVM-5.0" - BUILD=make @@ -269,8 +247,6 @@ matrix: - MAKE_CHECK_COMMAND="true" - LLVM_VERSION=5.0 - LLVM_CONFIG="llvm-config-${LLVM_VERSION}" - - OVERRIDE_CC=gcc-4.8 - - OVERRIDE_CXX=g++-4.8 - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl" - DRI_DRIVERS="" - GALLIUM_ST="--disable-dri --enable-opencl --enable-opencl-icd --enable-llvm --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa" @@ -279,14 +255,10 @@ matrix: - LIBUNWIND_FLAGS="--enable-libunwind" addons: apt: - sources: - - llvm-toolchain-trusty-5.0 packages: - libclc-dev # LLVM packaging is broken and misses these dependencies - libedit-dev - - g++-4.8 - # From sources above - llvm-5.0-dev - clang-5.0 - libclang-5.0-dev @@ -297,6 +269,7 @@ matrix: - libelf-dev - libunwind8-dev - python3-pip + - python3-setuptools - env: - LABEL="make Gallium ST Clover LLVM-6.0" - BUILD=make @@ -312,13 +285,8 @@ matrix: - LIBUNWIND_FLAGS="--enable-libunwind" addons: apt: - sources: - - llvm-toolchain-trusty-6.0 - # llvm-6 requires libstdc++4.9 which is not in main repo - - ubuntu-toolchain-r-test packages: - libclc-dev - # From sources above - llvm-6.0-dev - clang-6.0 - libclang-6.0-dev @@ -329,6 +297,7 @@ matrix: - libelf-dev - libunwind8-dev - python3-pip + - python3-setuptools - env: - LABEL="make Gallium ST Clover LLVM-7" - BUILD=make @@ -345,10 +314,8 @@ matrix: addons: apt: sources: - - sourceline: 'deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-7 main' + - sourceline: 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main' key_url: https://apt.llvm.org/llvm-snapshot.gpg.key - # llvm-7 requires libstdc++4.9 which is not in main repo - - ubuntu-toolchain-r-test packages: - libclc-dev # From sources above @@ -366,7 +333,7 @@ matrix: - BUILD=make - MAKEFLAGS="-j4" - MAKE_CHECK_COMMAND="true" - - LLVM_VERSION=3.3 + - LLVM_VERSION=3.5 - LLVM_CONFIG="llvm-config-${LLVM_VERSION}" - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl" - DRI_DRIVERS="" @@ -380,8 +347,8 @@ matrix: addons: apt: packages: - # We actually want to test against llvm-3.3 - - llvm-3.3-dev + # We actually want to test against llvm-3.3, yet 3.5 is available + - llvm-3.5-dev # Nine requires gcc 4.6... which is the one we have right ? - libxvmc-dev # Build locally, for now. @@ -397,6 +364,7 @@ matrix: - libelf-dev - libunwind8-dev - python3-pip + - python3-setuptools - env: - LABEL="make Vulkan" - BUILD=make @@ -413,10 +381,8 @@ matrix: addons: apt: sources: - - sourceline: 'deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-7 main' + - sourceline: 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main' key_url: https://apt.llvm.org/llvm-snapshot.gpg.key - # llvm-7 requires libstdc++4.9 which is not in main repo - - ubuntu-toolchain-r-test packages: # From sources above - llvm-7-dev @@ -426,6 +392,7 @@ matrix: - libx11-xcb-dev - libelf-dev - python3-pip + - python3-setuptools - env: - LABEL="scons" - BUILD=scons @@ -450,14 +417,15 @@ matrix: - SCONS_TARGET="llvm=1" # Keep it symmetrical to the make build. - SCONS_CHECK_COMMAND="scons llvm=1 check" - - LLVM_VERSION=3.3 + - LLVM_VERSION=3.5 - LLVM_CONFIG="llvm-config-${LLVM_VERSION}" addons: apt: packages: # LLVM packaging is broken and misses these dependencies - libedit-dev - - llvm-3.3-dev + # We actually want to test against llvm-3.3, yet 3.5 is available + - llvm-3.5-dev # Common - xz-utils - x11proto-xf86vidmode-dev @@ -475,12 +443,7 @@ matrix: - SCONS_CHECK_COMMAND="true" addons: apt: - sources: - - llvm-toolchain-trusty-6.0 - # llvm-6 requires libstdc++4.9 which is not in main repo - - ubuntu-toolchain-r-test packages: - # From sources above - llvm-6.0-dev # Common - xz-utils @@ -525,10 +488,8 @@ before_install: install: # Install a more modern meson from pip, since the version in the - # ubuntu repos is often quite old. This requires python>=3.5, so - # let's make it default + # ubuntu repos is often quite old. - if test "x$BUILD" = xmeson; then - sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 10; pip3 install --user meson; pip3 install --user mako; fi @@ -615,7 +576,7 @@ install: tar -axvf $WAYLAND_PROTOCOLS_VERSION.tar.xz (cd $WAYLAND_PROTOCOLS_VERSION && ./configure --prefix=$HOME/prefix && make install) - # Meson requires ninja >= 1.6, but trusty has 1.3.x + # Meson requires ninja >= 1.6, but xenial has 1.3.x wget https://github.com/ninja-build/ninja/releases/download/v1.6.0/ninja-linux.zip unzip ninja-linux.zip mv ninja $HOME/prefix/bin/ @@ -658,10 +619,6 @@ install: script: - if test "x$BUILD" = xmake; then - test -n "$OVERRIDE_CC" && export CC="$OVERRIDE_CC"; - test -n "$OVERRIDE_CXX" && export CXX="$OVERRIDE_CXX"; - test -n "$OVERRIDE_PATH" && export PATH="$OVERRIDE_PATH:$PATH"; - export CFLAGS="$CFLAGS -isystem`pwd`"; mkdir build && @@ -679,8 +636,6 @@ script: fi - if test "x$BUILD" = xscons; then - test -n "$OVERRIDE_CC" && export CC="$OVERRIDE_CC"; - test -n "$OVERRIDE_CXX" && export CXX="$OVERRIDE_CXX"; scons $SCONS_TARGET && eval $SCONS_CHECK_COMMAND; fi -- 2.30.2