Quoting Emil Velikov (2018-12-13 08:05:57) > From: Emil Velikov <emil.veli...@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.veli...@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 <dy...@pnwbakers.com>
signature.asc
Description: signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev