On Debian/ia64, mesa fails to build from source due to the following error: make[5]: Entering directory '/<<PKGBUILDDIR>>/build/src/gallium/targets/va' /bin/bash ../../../../libtool --tag=CC --mode=compile gcc -DPACKAGE_NAME=\"Mesa\" -DPACKAGE_TARNAME=\"mesa\" -DPACKAGE_VERSION=\"18.0.0-rc2\" -DPACKAGE_STRING=\"Mesa\ 18.0.0-rc2\" -DPACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi\?product=Mesa\" -DPACKAGE_URL=\"\" -DPACKAGE=\"mesa\" -DVERSION=\"18.0.0-rc2\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE___BUILTIN_BSWAP32=1 -DHAVE___BUILTIN_BSWAP64=1 -DHAVE___BUILTIN_CLZ=1 -DHAVE___BUILTIN_CLZLL=1 -DHAVE___BUILTIN_CTZ=1 -DHAVE___BUILTIN_EXPECT=1 -DHAVE___BUILTIN_FFS=1 -DHAVE___BUILTIN_FFSLL=1 -DHAVE___BUILTIN_POPCOUNT=1 -DHAVE___BUILTIN_POPCOUNTLL=1 -DHAVE___BUILTIN_UNREACHABLE=1 -DHAVE_FUNC_ATTRIBUTE_CONST=1 -DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 -DHAVE_FUNC_ATTRIBUTE_MALLOC=1 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 -DHAVE_FUNC_ATTRIBUTE_PURE=1 -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 -DHAVE_FUNC_ATTRIBUTE_UNUSED=1 -DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1 -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 -DHAVE_FUNC_ATTRIBUTE_WEAK=1 -DHAVE_FUNC_ATTRIBUTE_ALIAS=1 -DHAVE_FUNC_ATTRIBUTE_NORETURN=1 -DMAJOR_IN_SYSMACROS=1 -DHAVE_DLADDR=1 -DHAVE_CLOCK_GETTIME=1 -DHAVE_PTHREAD_PRIO_INHERIT=1 -DHAVE_PTHREAD=1 -DHAVE_LIBUNWIND=1 -I. -I../../../../../src/gallium/targets/va -DGALLIUM_NOUVEAU -DGALLIUM_R600 -Wdate-time -D_FORTIFY_SOURCE=2 -I../../../../../src -I../../../../../include -I../../../../../src/loader -I../../../../../src/gallium/include -I../../../../../src/gallium/auxiliary -I../../../../../src/gallium/drivers -I../../../../../src/gallium/winsys -I../../../../src/util/ -I../../../../src/gallium/drivers/ -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D_GNU_SOURCE -DUSE_GCC_ATOMIC_BUILTINS -DNDEBUG -DTEXTURE_FLOAT_ENABLED -DHAVE_SYS_SYSCTL_H -DHAVE_STRTOF -DHAVE_MKOSTEMP -DHAVE_TIMESPEC_GET -DHAVE_STRTOD_L -DHAVE_DL_ITERATE_PHDR -DHAVE_POSIX_MEMALIGN -DHAVE_ZLIB -DHAVE_LINUX_FUTEX_H -DHAVE_GALLIUM_EXTRA_HUD=1 -DHAVE_LIBSENSORS=1 -DUSE_LIBGLVND=1 -DHAVE_LIBDRM -DGLX_USE_DRM -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -DGLX_USE_TLS -DHAVE_X11_PLATFORM -DHAVE_SURFACELESS_PLATFORM -DHAVE_WAYLAND_PLATFORM -DWL_HIDE_DEPRECATED -DHAVE_DRM_PLATFORM -DHAVE_DRI3 -DENABLE_SHADER_CACHE -DHAVE_MINCORE -DHAVE_ST_VDPAU -pthread -I/usr/include/libdrm -fvisibility=hidden -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -Wformat -Werror=format-security -Wall -Wall -Werror=implicit-function-declaration -Werror=missing-prototypes -Wmissing-prototypes -fno-math-errno -fno-trapping-math -std=c99 -c -o gallium_drv_video_la-target.lo `test -f 'target.c' || echo '../../../../../src/gallium/targets/va/'`target.c libtool: compile: gcc -DPACKAGE_NAME=\"Mesa\" -DPACKAGE_TARNAME=\"mesa\" -DPACKAGE_VERSION=\"18.0.0-rc2\" "-DPACKAGE_STRING=\"Mesa 18.0.0-rc2\"" "-DPACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa\"" -DPACKAGE_URL=\"\" -DPACKAGE=\"mesa\" -DVERSION=\"18.0.0-rc2\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE___BUILTIN_BSWAP32=1 -DHAVE___BUILTIN_BSWAP64=1 -DHAVE___BUILTIN_CLZ=1 -DHAVE___BUILTIN_CLZLL=1 -DHAVE___BUILTIN_CTZ=1 -DHAVE___BUILTIN_EXPECT=1 -DHAVE___BUILTIN_FFS=1 -DHAVE___BUILTIN_FFSLL=1 -DHAVE___BUILTIN_POPCOUNT=1 -DHAVE___BUILTIN_POPCOUNTLL=1 -DHAVE___BUILTIN_UNREACHABLE=1 -DHAVE_FUNC_ATTRIBUTE_CONST=1 -DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 -DHAVE_FUNC_ATTRIBUTE_MALLOC=1 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 -DHAVE_FUNC_ATTRIBUTE_PURE=1 -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 -DHAVE_FUNC_ATTRIBUTE_UNUSED=1 -DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1 -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 -DHAVE_FUNC_ATTRIBUTE_WEAK=1 -DHAVE_FUNC_ATTRIBUTE_ALIAS=1 -DHAVE_FUNC_ATTRIBUTE_NORETURN=1 -DMAJOR_IN_SYSMACROS=1 -DHAVE_DLADDR=1 -DHAVE_CLOCK_GETTIME=1 -DHAVE_PTHREAD_PRIO_INHERIT=1 -DHAVE_PTHREAD=1 -DHAVE_LIBUNWIND=1 -I. -I../../../../../src/gallium/targets/va -DGALLIUM_NOUVEAU -DGALLIUM_R600 -Wdate-time -D_FORTIFY_SOURCE=2 -I../../../../../src -I../../../../../include -I../../../../../src/loader -I../../../../../src/gallium/include -I../../../../../src/gallium/auxiliary -I../../../../../src/gallium/drivers -I../../../../../src/gallium/winsys -I../../../../src/util/ -I../../../../src/gallium/drivers/ -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D_GNU_SOURCE -DUSE_GCC_ATOMIC_BUILTINS -DNDEBUG -DTEXTURE_FLOAT_ENABLED -DHAVE_SYS_SYSCTL_H -DHAVE_STRTOF -DHAVE_MKOSTEMP -DHAVE_TIMESPEC_GET -DHAVE_STRTOD_L -DHAVE_DL_ITERATE_PHDR -DHAVE_POSIX_MEMALIGN -DHAVE_ZLIB -DHAVE_LINUX_FUTEX_H -DHAVE_GALLIUM_EXTRA_HUD=1 -DHAVE_LIBSENSORS=1 -DUSE_LIBGLVND=1 -DHAVE_LIBDRM -DGLX_USE_DRM -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -DGLX_USE_TLS -DHAVE_X11_PLATFORM -DHAVE_SURFACELESS_PLATFORM -DHAVE_WAYLAND_PLATFORM -DWL_HIDE_DEPRECATED -DHAVE_DRM_PLATFORM -DHAVE_DRI3 -DENABLE_SHADER_CACHE -DHAVE_MINCORE -DHAVE_ST_VDPAU -pthread -I/usr/include/libdrm -fvisibility=hidden -g -O2 "-fdebug-prefix-map=/<<PKGBUILDDIR>>=." -Wformat -Werror=format-security -Wall -Wall -Werror=implicit-function-declaration -Werror=missing-prototypes -Wmissing-prototypes -fno-math-errno -fno-trapping-math -std=c99 -c ../../../../../src/gallium/targets/va/target.c -fPIC -DPIC -o .libs/gallium_drv_video_la-target.o /bin/bash ../../../../libtool --tag=CXX --mode=link g++ -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -Wformat -Werror=format-security -Wall -Wall -fno-math-errno -fno-trapping-math -shared -module -no-undefined -avoid-version -Wl,--gc-sections -Wl,--no-undefined -Wl,--version-script=../../../../../src/gallium/targets/va/va.sym -o gallium_drv_video.la -rpath /usr/lib/ia64-linux-gnu/dri gallium_drv_video_la-target.lo ../../../../src/gallium/state_trackers/va/libvatracker.la ../../../../src/gallium/auxiliary/libgalliumvlwinsys.la ../../../../src/gallium/auxiliary/libgalliumvl.la ../../../../src/gallium/auxiliary/libgallium.la ../../../../src/util/libmesautil.la -ldrm -lm -lunwind -lsensors -lpthread -pthread -ldl -ldrm -lX11-xcb -lX11 -lxcb -lxcb-dri2 -lX11-xcb -lX11 -lxcb -lxcb-dri3 -lxcb-xfixes -lxcb-present -lxcb-sync -lxshmfence ../../../../src/gallium/auxiliary/pipe-loader/libpipe_loader_static.la ../../../../src/gallium/winsys/sw/null/libws_null.la ../../../../src/gallium/winsys/sw/wrapper/libwsw.la ../../../../src/gallium/winsys/sw/dri/libswdri.la ../../../../src/gallium/winsys/sw/kms-dri/libswkmsdri.la -ldrm ../../../../src/gallium/winsys/nouveau/drm/libnouveaudrm.la ../../../../src/gallium/drivers/nouveau/libnouveau.la -ldrm -ldrm_nouveau -ldrm ../../../../src/gallium/drivers/r600/libr600.la -ldrm -ldrm_radeon -ldrm ../../../../src/gallium/winsys/radeon/drm/libradeonwinsys.la libtool: link: g++ -fPIC -DPIC -shared -nostdlib /usr/lib/gcc/ia64-linux-gnu/7/../../../ia64-linux-gnu/crti.o /usr/lib/gcc/ia64-linux-gnu/7/crtbeginS.o .libs/gallium_drv_video_la-target.o -Wl,--whole-archive ../../../../src/gallium/state_trackers/va/.libs/libvatracker.a ../../../../src/gallium/auxiliary/.libs/libgalliumvlwinsys.a ../../../../src/gallium/auxiliary/.libs/libgalliumvl.a ../../../../src/gallium/auxiliary/.libs/libgallium.a ../../../../src/util/.libs/libmesautil.a ../../../../src/gallium/auxiliary/pipe-loader/.libs/libpipe_loader_static.a ../../../../src/gallium/winsys/sw/null/.libs/libws_null.a ../../../../src/gallium/winsys/sw/wrapper/.libs/libwsw.a ../../../../src/gallium/winsys/sw/dri/.libs/libswdri.a ../../../../src/gallium/winsys/sw/kms-dri/.libs/libswkmsdri.a ../../../../src/gallium/winsys/nouveau/drm/.libs/libnouveaudrm.a ../../../../src/gallium/drivers/nouveau/.libs/libnouveau.a ../../../../src/gallium/drivers/r600/.libs/libr600.a ../../../../src/gallium/winsys/radeon/drm/.libs/libradeonwinsys.a -Wl,--no-whole-archive -lz -lsensors -lpthread -ldl -lxcb-dri2 -lX11-xcb -lX11 -lxcb -lxcb-dri3 -lxcb-xfixes -lxcb-present -lxcb-sync -lxshmfence -lexpat -ldrm_nouveau -ldrm_radeon -ldrm -L/usr/lib/gcc/ia64-linux-gnu/7 -L/usr/lib/gcc/ia64-linux-gnu/7/../../../ia64-linux-gnu -L/usr/lib/gcc/ia64-linux-gnu/7/../../.. -L/lib/ia64-linux-gnu -L/usr/lib/ia64-linux-gnu -lstdc++ -lm -lc -lgcc_s -lunwind /usr/lib/gcc/ia64-linux-gnu/7/crtendS.o /usr/lib/gcc/ia64-linux-gnu/7/../../../ia64-linux-gnu/crtn.o -g -O2 -Wl,--gc-sections -Wl,--no-undefined -Wl,--version-script=../../../../../src/gallium/targets/va/va.sym -pthread -pthread -Wl,-soname -Wl,gallium_drv_video.so -o .libs/gallium_drv_video.so /usr/bin/ld: Warning: gc-sections option ignored ../../../../src/gallium/auxiliary/.libs/libgallium.a(tgsi_to_nir.o): In function `nir_build_imm': ./build/src/gallium/auxiliary/../../../../src/compiler/nir/nir_builder.h:196: undefined reference to `nir_load_const_instr_create' ../../../../src/gallium/auxiliary/.libs/libgallium.a(tgsi_to_nir.o): In function `nir_builder_instr_insert': ./build/src/gallium/auxiliary/../../../../src/compiler/nir/nir_builder.h:65: undefined reference to `nir_instr_insert' ../../../../src/gallium/auxiliary/.libs/libgallium.a(tgsi_to_nir.o): In function `nir_imov_alu': ./build/src/gallium/auxiliary/../../../../src/compiler/nir/nir_builder.h:405: undefined reference to `nir_alu_instr_create' ./build/src/gallium/auxiliary/../../../../src/compiler/nir/nir_builder.h:406: undefined reference to `nir_ssa_dest_init' ../../../../src/gallium/auxiliary/.libs/libgallium.a(tgsi_to_nir.o): In function `nir_builder_instr_insert': ./build/src/gallium/auxiliary/../../../../src/compiler/nir/nir_builder.h:65: undefined reference to `nir_instr_insert' ../../../../src/gallium/auxiliary/.libs/libgallium.a(tgsi_to_nir.o): In function `ttn_move_dest_masked': ./build/src/gallium/auxiliary/../../../../src/gallium/auxiliary/nir/tgsi_to_nir.c:853: undefined reference to `nir_alu_instr_create' ... ../../../../src/gallium/auxiliary/.libs/libgallium.a(tgsi_to_nir.o):(.sdata+0x28): more undefined references to `nir_op_infos' follow collect2: error: ld returned 1 exit status Makefile:814: recipe for target 'gallium_drv_video.la' failed make[5]: *** [gallium_drv_video.la] Error 1 make[5]: Leaving directory '/<<PKGBUILDDIR>>/build/src/gallium/targets/va' Makefile:611: recipe for target 'all-recursive' failed make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory '/<<PKGBUILDDIR>>/build/src/gallium' The ./configure settings used are: cd build && ../configure --build=ia64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/ia64-linux-gnu --libexecdir=\${prefix}/lib/ia64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --enable-dri "--with-dri-drivers= nouveau r200 radeon swrast" --with-dri-driverdir=/usr/lib/ia64-linux-gnu/dri --with-dri-searchpath=/usr/lib/ia64-linux-gnu/dri:\\\$\${ORIGIN}/dri:/usr/lib/dri --with-vulkan-drivers= --enable-libglvnd --enable-osmesa --enable-glx-tls --enable-shared-glapi --enable-texture-float --disable-xvmc --disable-omx-bellagio --enable-driglx-direct --enable-gbm --enable-dri3 "--with-platforms=x11,surfaceless wayland drm" --disable-gallium-llvm --enable-vdpau --enable-va --enable-gallium-extra-hud --enable-lmsensors "--with-gallium-drivers= nouveau virgl r600 r300" --disable-gles1 --enable-gles2 "CFLAGS=-g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -Wformat -Werror=format-security -Wall" "CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2" "CXXFLAGS=-g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -Wformat -Werror=format-security -Wall" "FCFLAGS=-g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=." "FFLAGS=-g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=." "GCJFLAGS=-g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=." LDFLAGS= "OBJCFLAGS=-g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -Wformat -Werror=format-security" "OBJCXXFLAGS=-g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -Wformat -Werror=format-security" configure: WARNING: unrecognized options: --disable-maintainer-mode I used the following patch to fix this, but I am unsure of its overall correctness: --- src/gallium/drivers/radeonsi/Automake.inc +++ src/gallium/drivers/radeonsi/Automake.inc @@ -1,3 +1,6 @@ +TARGET_COMPILER_LIB_DEPS = \ + $(top_builddir)/src/compiler/nir/libnir.la + if HAVE_GALLIUM_RADEONSI TARGET_DRIVERS += radeonsi @@ -8,9 +11,6 @@ $(LIBDRM_LIBS) \ $(AMDGPU_LIBS) -TARGET_COMPILER_LIB_DEPS = \ - $(top_builddir)/src/compiler/nir/libnir.la - TARGET_RADEON_WINSYS = \ $(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la \ $(top_builddir)/src/gallium/winsys/amdgpu/drm/libamdgpuwinsys.la
I forgot to add that the same failure will show up under amd64 if the ld --gc-sections is disabled.
Seems like there are a few places in the builds that was missing dependencies. Perhaps because the garbage collectors works fine on most platforms ;-) Will have some patches later on today.
Having played with this at bit - it's a massive yak exercise. It's not a new bug by any means, so I'll lower it, slightly, on my priority list. Will CC you on the series when it's finished.
Any updates on this? Is there a reason my proposed patch can't be accepted?
Automake is gone now. Does this still seem to be a problem with Meson? I haven't seen anything like this on Gentoo, FWIW, but we might not allow the right driver builds on ia64 to cause the problem.
(In reply to Matt Turner from comment #5) > Automake is gone now. Does this still seem to be a problem with Meson? > > I haven't seen anything like this on Gentoo, FWIW, but we might not allow > the right driver builds on ia64 to cause the problem. Seems to build fine on Debian for version 19.1.4, see full build log at: > https://buildd.debian.org/status/fetch.php?pkg=mesa&arch=ia64&ver=19.1.4-1&stamp=1565251671&raw=0
Okay, thank you. Feel free to reopen if necessary.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.