<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Missing library link breaks mesa on Debian/ia64"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=104836">104836</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Missing library link breaks mesa on Debian/ia64
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>Mesa
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>git
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>Other
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux (All)
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>medium
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Other
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>mesa-dev@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>jason.duerstock@gmail.com
          </td>
        </tr>

        <tr>
          <th>QA Contact</th>
          <td>mesa-dev@lists.freedesktop.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>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=\"<a href="https://bugs.freedesktop.org/enter_bug.cgi\?product=Mesa">https://bugs.freedesktop.org/enter_bug.cgi\?product=Mesa</a>\"
-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=\"<a href="https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa">https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa</a>\""
-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</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the QA Contact for the bug.</li>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>