Re: [Mesa-dev] [PATCH 08/18] travis: flip to distro xenial, sudo true

2018-12-14 Thread Dylan Baker
Quoting Emil Velikov (2018-12-13 08:05:57)
> From: Emil Velikov 
> 
> 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 
> ---
>  .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 

[Mesa-dev] [PATCH 08/18] travis: flip to distro xenial, sudo true

2018-12-13 Thread Emil Velikov
From: Emil Velikov 

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 
---
 .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