gitlab-ci: build RADV in meson-i386 to avoid 32-bit build failures
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Wed, 4 Mar 2020 08:37:46 +0000 (09:37 +0100)
committerMarge Bot <eric+marge@anholt.net>
Wed, 11 Mar 2020 19:30:13 +0000 (19:30 +0000)
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4044>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4044>

.gitlab-ci.yml
.gitlab-ci/container/x86_build.sh

index bcf56ba48538670ccd8e5ad23c1693cab345bffe..f35e76f82b45c9230a38e0fec4221e1cd4bceaa9 100644 (file)
@@ -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
 
index 51513874c99b977d695e4464b040dde354000bc1..3ee0dad6463b6abd639722db675090b5de46ddc5 100644 (file)
@@ -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