[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#972736: Mesa 20.2.1 fails to build on x32 (debian\rules issue)



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 to: