From 529c0ba2199852e7d894955e30620885f3bffd47 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Wed, 4 Mar 2020 09:37:46 +0100 Subject: [PATCH] gitlab-ci: build RADV in meson-i386 to avoid 32-bit build failures MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Samuel Pitoiset Reviewed-by: Michel Dänzer Tested-by: Marge Bot Part-of: --- .gitlab-ci.yml | 11 ++++++++--- .gitlab-ci/container/x86_build.sh | 29 ++++++++++++++++------------- 2 files changed, 24 insertions(+), 16 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bcf56ba4853..f35e76f82b4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -120,7 +120,7 @@ x86_build: - .debian@container-ifnot-exists - .container variables: - DEBIAN_TAG: &x86_build "2020-02-15" + DEBIAN_TAG: &x86_build "2020-03-11" .use-x86_build: variables: @@ -472,14 +472,16 @@ meson-i386: extends: .meson-cross variables: CROSS: i386 - VULKAN_DRIVERS: intel + VULKAN_DRIVERS: intel,amd DRI_DRIVERS: "swrast" GALLIUM_DRIVERS: "iris" EXTRA_OPTION: > -D vulkan-overlay-layer=true - -D llvm=false -D osmesa=classic -D werror=true + script: + - dpkg -i /var/cache/apt/archives/$CROSS/*.deb + - .gitlab-ci/meson-build.sh meson-s390x: extends: @@ -488,6 +490,9 @@ meson-s390x: CROSS: s390x GALLIUM_DRIVERS: "swrast" script: + # For unknown reasons "too many" installed i386 libraries cause qemu to + # crash while executing llvm-config for s390x. + - apt-get remove -y libglib2.0-0:i386 - dpkg -i /var/cache/apt/archives/$CROSS/*.deb - .gitlab-ci/meson-build.sh diff --git a/.gitlab-ci/container/x86_build.sh b/.gitlab-ci/container/x86_build.sh index 51513874c99..3ee0dad6463 100644 --- a/.gitlab-ci/container/x86_build.sh +++ b/.gitlab-ci/container/x86_build.sh @@ -96,21 +96,23 @@ for arch in $CROSS_ARCHITECTURES; do crossbuild-essential-${arch} \ libdrm-dev:${arch} \ libelf-dev:${arch} \ - libexpat1-dev:${arch} - - if [ "$arch" != "i386" ]; then - mkdir /var/cache/apt/archives/${arch} + libexpat1-dev:${arch} \ + libffi-dev:${arch} \ + libllvm8:${arch} \ + libstdc++6:${arch} \ + libtinfo-dev:${arch} + + if [ "$arch" == "i386" ]; then + # libpciaccess-dev is only needed for Intel. apt-get install -y --no-remove \ - libffi-dev:${arch} \ - libllvm8:${arch} \ - libstdc++6:${arch} \ - libtinfo-dev:${arch} \ - - # Download llvm-* packages, but don't install them yet, since they can - # only be installed for one architecture at a time - apt-get install -o Dir::Cache::archives=/var/cache/apt/archives/$arch --download-only -y --no-remove \ - llvm-8-dev:${arch} + libpciaccess-dev:${arch} fi + + mkdir /var/cache/apt/archives/${arch} + # Download llvm-* packages, but don't install them yet, since they can + # only be installed for one architecture at a time + apt-get install -o Dir::Cache::archives=/var/cache/apt/archives/$arch --download-only -y --no-remove \ + llvm-8-dev:${arch} done apt-get install -y --no-remove \ @@ -190,6 +192,7 @@ tar -xvf $LIBDRM_VERSION.tar.bz2 && rm $LIBDRM_VERSION.tar.bz2 cd $LIBDRM_VERSION meson build -D vc4=true -D freedreno=true -D etnaviv=true -D libdir=lib/x86_64-linux-gnu; ninja -j4 -C build install rm -rf build; meson --cross-file=/cross_file-ppc64el.txt build -D libdir=lib/powerpc64le-linux-gnu; ninja -j4 -C build install +rm -rf build; meson --cross-file=/cross_file-i386.txt build -D libdir=lib/i386-linux-gnu; ninja -j4 -C build install cd .. rm -rf $LIBDRM_VERSION -- 2.30.2