Package: mesa
Version: 20.2.1-1

In debian\rules, there is the following at lines 74-79:

ifneq (,$(filter $(DEB_HOST_ARCH), amd64 i386 x32)) GALLIUM_DRIVERS +=
,svga,zink # svga needs xa state tracker confflags_GALLIUM +=
-Dgallium-xa=true VULKAN_DRIVERS += ,intel endif

When this is parsed on x32, the value of VULKAN_DRIVERS is blank. This puts
a , at the start of the variable, which breaks the build using meson.

This works on other platforms as earlier the AMD driver is added (see lines
54-56).

>From the buildd logs, the CFLAGS passed are:

CFLAGS="-g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=.
-fstack-protector-strong -Wformat -Werror=format-security -Wall"
CPPFLAGS="-Wdate-time -D_FORTIFY_SOURCE=2" CXXFLAGS="-g -O2
-fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong
-Wformat -Werror=format-security -Wall" FCFLAGS="-g -O2
-fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong"
FFLAGS="-g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=.
-fstack-protector-strong" GCJFLAGS="-g -O2
-fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong"
LDFLAGS="-Wl,-z,relro" OBJCFLAGS="-g -O2
-fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong
-Wformat -Werror=format-security" OBJCXXFLAGS="-g -O2
-fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong
-Wformat -Werror=format-security"  dh_auto_configure -- \
        -Ddri-drivers="r200,r100 ,nouveau ,i915, i965 ,swrast"
-Ddri-drivers-path=/usr/lib/x86_64-linux-gnux32/dri
-Ddri-search-path='/usr/lib/x86_64-linux-gnux32/dri:\$${ORIGIN}/dri:/usr/lib/dri'
-Dvulkan-drivers=",intel" -Dglvnd=true -Dshared-glapi=true
-Dgallium-xvmc=false -Dgallium-omx=disabled -Db_ndebug=true
-Dbuild-tests=true -Dglx-direct=true -Dgbm=true -Ddri3=true
-Dplatforms="drm,surfaceless,x11 ,wayland" -Dgallium-xa=true
-Dllvm=false -Dgallium-extra-hud=true -Dgallium-vdpau=true
-Dlmsensors=true -Dgallium-va=true -Dgallium-drivers="r600,r300
,nouveau,virgl ,svga,zink ,iris" -Dgles1=false -Dgles2=true
-Dosmesa=classic  -Dvulkan-device-select-layer=true
-Dvulkan-overlay-layer=true
        cd build && LC_ALL=C.UTF-8 meson .. --wrap-mode=nodownload
--buildtype=plain --prefix=/usr --sysconfdir=/etc --localstatedir=/var
--libdir=lib/x86_64-linux-gnux32 "-Ddri-drivers=r200,r100 ,nouveau
,i915, i965 ,swrast"
-Ddri-drivers-path=/usr/lib/x86_64-linux-gnux32/dri
-Ddri-search-path=/usr/lib/x86_64-linux-gnux32/dri:\\\$\${ORIGIN}/dri:/usr/lib/dri
-Dvulkan-drivers=,intel -Dglvnd=true -Dshared-glapi=true
-Dgallium-xvmc=false -Dgallium-omx=disabled -Db_ndebug=true
-Dbuild-tests=true -Dglx-direct=true -Dgbm=true -Ddri3=true
"-Dplatforms=drm,surfaceless,x11 ,wayland" -Dgallium-xa=true
-Dllvm=false -Dgallium-extra-hud=true -Dgallium-vdpau=true
-Dlmsensors=true -Dgallium-va=true "-Dgallium-drivers=r600,r300
,nouveau,virgl ,svga,zink ,iris" -Dgles1=false -Dgles2=true
-Dosmesa=classic -Dvulkan-device-select-layer=true
-Dvulkan-overlay-layer=true

Notably from that:
     -Dvulkan-drivers=",intel"

Suggest that lines 74-79 need to be modified to check if the VULKAN_DRIVERS
variable already has some value set or not, or treat x32 as a special case,
before adding ",intel" or "intel" to the VULKAN_DRIVERS variable as
appropriate.

Note: I don't have an x32 build env. I just saw the failed buildd logs via
the debian Mesa tracker.

-- 
Stuart Young (aka Cefiar)

Reply via email to