[Mesa-dev] [PATCH 08/18] travis: flip to distro xenial, sudo true
Dylan Baker
dylan at pnwbakers.com
Fri Dec 14 17:42:43 UTC 2018
Quoting Emil Velikov (2018-12-13 08:05:57)
> From: Emil Velikov <emil.velikov at collabora.com>
>
> 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 <emil.velikov at collabora.com>
> ---
> .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.19.2
>
yes please! I struggled so much with this trying to make travis work
Reviewed-by: Dylan Baker <dylan at pnwbakers.com>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: signature
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20181214/b8b6a8f4/attachment-0001.sig>
More information about the mesa-dev
mailing list