Bug 100259 - [EGL] [GBM] undefined reference to `gbm_bo_create_with_modifiers'
Summary: [EGL] [GBM] undefined reference to `gbm_bo_create_with_modifiers'
Status: RESOLVED NOTABUG
Alias: None
Product: Mesa
Classification: Unclassified
Component: EGL (show other bugs)
Version: git
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: mesa-dev
QA Contact: mesa-dev
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-03-17 16:06 UTC by LoneVVolf
Modified: 2017-06-22 16:05 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
build recipe (7.53 KB, text/plain)
2017-03-17 16:06 UTC, LoneVVolf
Details
log of build() phase (127.92 KB, text/x-log)
2017-03-17 16:09 UTC, LoneVVolf
Details
make install phase (39.32 KB, text/x-log)
2017-03-17 16:10 UTC, LoneVVolf
Details

Note You need to log in before you can comment on or make changes to this bug.
Description LoneVVolf 2017-03-17 16:06:24 UTC
Created attachment 130290 [details]
build recipe

Error during make install fase when building a multilib 32-bit mesa to be used on 64-bit linux .


In function `get_back_bo':
platform_drm.c:(.text+0x1dd): undefined reference to `gbm_bo_create_with_modifiers'
Comment 1 LoneVVolf 2017-03-17 16:09:30 UTC
Created attachment 130291 [details]
log of build() phase
Comment 2 LoneVVolf 2017-03-17 16:10:12 UTC
Created attachment 130292 [details]
make install phase
Comment 3 LoneVVolf 2017-03-17 16:11:22 UTC
libtool: install: (cd /home/panoramix/Documents/WIP/pkgbuilds/lib32-mesa-git/src/mesa/src/egl; /bin/sh "/home/panoramix/Documents/WIP/pkgbuilds/lib32-mesa-git/src/mesa/libtool"  --silent --tag CC --mode=relink gcc -m32 -I../../include -I../../src/egl/main -I../../src/gbm/main -I../../src -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D_GNU_SOURCE -DUSE_SSE41 -DUSE_GCC_ATOMIC_BUILTINS -DNDEBUG -DTEXTURE_FLOAT_ENABLED -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DHAVE_XLOCALE_H -DHAVE_SYS_SYSCTL_H -DHAVE_STRTOF -DHAVE_MKOSTEMP -DHAVE_DLOPEN -DHAVE_DL_ITERATE_PHDR -DHAVE_POSIX_MEMALIGN -DHAVE_LIBDRM -DGLX_USE_DRM -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -DGLX_USE_TLS -DHAVE_DRI3 -DENABLE_SHADER_CACHE -DHAVE_MINCORE -DHAVE_ST_VDPAU -DHAVE_LLVM=0x0500 -DMESA_LLVM_VERSION_PATCH=0 -fvisibility=hidden -I/usr/include/libdrm -D_EGL_NATIVE_PLATFORM=_EGL_PLATFORM_X11 -DHAVE_X11_PLATFORM -DHAVE_WAYLAND_PLATFORM -DHAVE_DRM_PLATFORM -I../../src/loader -I../../src/egl/drivers/dri2 -I../../src/gbm/backends/dri -I../../src/egl/wayland/wayland-egl -I../../src/egl/wayland/wayland-drm -I../../src/egl/wayland/wayland-drm -DDEFAULT_DRIVER_DIR=\"/usr/lib32/xorg/modules/dri\" -D_EGL_BUILT_IN_DRIVER_DRI2 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -Wall -std=c99 -Werror=implicit-function-declaration -Werror=missing-prototypes -fno-math-errno -fno-trapping-math -no-undefined -version-number 1:0 -Wl,-Bsymbolic -Wl,--gc-sections -Wl,--no-undefined -Wl,-O1,--sort-common,--as-needed,-z,relro -o libEGL.la -rpath /usr/lib32 main/eglapi.lo main/eglarray.lo main/eglconfig.lo main/eglcontext.lo main/eglcurrent.lo main/egldisplay.lo main/egldriver.lo main/eglfallbacks.lo main/eglglobals.lo main/eglimage.lo main/egllog.lo main/eglsurface.lo main/eglsync.lo drivers/dri2/egl_dri2.lo drivers/dri2/platform_x11.lo drivers/dri2/platform_wayland.lo drivers/dri2/platform_drm.lo drivers/dri2/platform_x11_dri3.lo -ldl -lpthread -L/usr/lib32 -lX11-xcb -lX11 -lxcb -lxcb-dri2 -lxcb-xfixes ../../src/loader/libloader_dri3_helper.la -L/usr/lib32 -lwayland-client -lwayland-server -L/usr/lib32 -ldrm ../../src/egl/wayland/wayland-drm/libwayland-drm.la ../../src/gbm/libgbm.la ../../src/loader/libloader.la -ldl -L/usr/lib32 -ldrm -inst-prefix-dir /home/panoramix/Documents/WIP/pkgbuilds/lib32-mesa-git/pkg/lib32-mesa-git)
drivers/dri2/.libs/platform_drm.o: In function `get_back_bo':
platform_drm.c:(.text+0x1dd): undefined reference to `gbm_bo_create_with_modifiers'
Comment 4 bellamorte42 2017-03-17 16:18:02 UTC
Came here to file the exact same bug.
Comment 5 Emil Velikov 2017-03-17 17:23:07 UTC
I'm afraid that it's an issue in libtool, where it picks the system library during make install.

Some workarounds include:
 - [temporary] move the system libgbm
 - build in clean environment (chroot?)
 - use slibtool.
Comment 6 Christoph Haag 2017-03-17 20:19:42 UTC
My workaround was to revert https://cgit.freedesktop.org/mesa/mesa/commit/?id=191ff914a2c77d7d982048ef21422a209e1e7e06, then make install works.

Subsequent builds of git master will then link correctly to the installed library.
Comment 7 Emil Velikov 2017-03-20 16:41:39 UTC
(In reply to Christoph Haag from comment #6)
> My workaround was to revert
> https://cgit.freedesktop.org/mesa/mesa/commit/
> ?id=191ff914a2c77d7d982048ef21422a209e1e7e06, then make install works.
> 
> Subsequent builds of git master will then link correctly to the installed
> library.
Thanks for pointing this workaround - seems like my "split patches" suggestion is more useful than expected ;-)
Comment 8 Eero Tamminen 2017-03-27 13:37:30 UTC
There's same failure also with normal builds at install phase if system libdrm is too old, even if one has new enough libdrm in /usr/local/lib and PKG_CONFIG picks it up in Mesa configure phase.  I.e. bug isn't specific to multilib builds.

This should be fixed by following commit:
https://cgit.freedesktop.org/mesa/mesa/commit/?id=90633079eccdc7b883b712695c057553d484405f
Comment 9 ovariegata 2017-03-29 19:34:52 UTC
I am still experiencing this issue with the current mesa git master in both my multilib 64 bit system and my clean 32-bit chroot, both with Slackware installed. I also have the latest libdrm git master installed. A friend who runs gentoo also experienced this issue.

drivers/dri2/.libs/platform_drm.o: In function `get_back_bo':
platform_drm.c:(.text+0x1d4): undefined reference to `gbm_bo_create_with_modifiers'
collect2: error: ld returned 1 exit status
libtool:   error: error: relink 'libEGL.la' with the above command before installing it
make[4]: *** [Makefile:910: install-libLTLIBRARIES] Error 1
make[4]: Leaving directory '/tmp/SBo/mesa/src/egl'
make[3]: *** [Makefile:1385: install-am] Error 2
make[3]: Leaving directory '/tmp/SBo/mesa/src/egl'
make[2]: *** [Makefile:852: install-recursive] Error 1
make[2]: Leaving directory '/tmp/SBo/mesa/src'
make[1]: *** [Makefile:1009: install] Error 2
make[1]: Leaving directory '/tmp/SBo/mesa/src'
make: *** [Makefile:643: install-recursive] Error 1
Comment 10 ovariegata 2017-03-29 20:46:13 UTC
It turns out in my case this is an issue with using pkgconf (Which worked previously) instead of pkg-config. It builds fine with pkg-config.

I'd prefer to keep this open until the pkgconf devs have a chance to take a look, but it can be closed again if someone finds that preferable.

As for my friend, apparently he was trying to use the perl pkg-config from openbsd in gentoo (Don't ask...).
Comment 11 ovariegata 2017-03-29 21:40:22 UTC
It turns out this was all my fault and it was a bug in my pkgconf.SlackBuild.

I was lacking /usr/lib64 as a system libdir...

Sorry for the noise.
Comment 12 Emil Velikov 2017-03-30 14:44:05 UTC
ovariegata@yahoo.com

If you're running into issue as described - `make' succeeds, while `make install' fails then it's the libtool bug/feature mentioned. Any of the four workarounds proposed should you up and running.

Alternatively it's a different problem and as such it should be a separate bug report.
Comment 13 ovariegata 2017-04-02 00:43:04 UTC
Yes, it was 'make install' that failed and seems to have been a related issue as above. I was instructed to reopen this issue report in #dri-devel after asking about the build failure, but shortly after with the help of the pkgconf devs I found out it was a bug in my own pkgconf build script that managed to not cause any problems for 5 months...

I resolved it for myself here.
https://notabug.org/orbea/Slackbuilds/commit/56db318ceb1c093961cea2ba2bdd7dba17177367

As for why it why I ran into this now I'm not really sure, but I guess its not important anymore. :)
Comment 14 Emil Velikov 2017-04-03 16:39:51 UTC
Ouch that is some nasty bug in Slackware packaging.

Note you want /usr/local/ and /usr/ in the same order across --with-pkg-config-dir and --with-system-libdir.
Comment 15 EoD 2017-05-01 21:39:01 UTC
I also ended up here, because I am experiencing the very same bug with the current master in git. I also bisected the issue and found out that reverting 191ff914a2c77d7d982048ef21422a209e1e7e06 does indeed fix the issue.

I have a multilib system with i386, amd64 and x32. I also have libdrm 2.4.79.

For more details, see: https://bugs.gentoo.org/show_bug.cgi?id=616398


Is this commit going to be reverted before the release of 17.1?
Comment 16 Laurent carlier 2017-05-13 08:41:19 UTC
Still broken here with ArchLinux in a multilib chroot:

Making install in egl
make[3]: Entering directory '/build/lib32-mesa/src/mesa-17.1.0/src/egl'
make  install-am
make[4]: Entering directory '/build/lib32-mesa/src/mesa-17.1.0/src/egl'
make[5]: Entering directory '/build/lib32-mesa/src/mesa-17.1.0/src/egl'
 /usr/bin/mkdir -p '/build/lib32-mesa/src/fakeinstall/usr/include/EGL'
 /usr/bin/mkdir -p '/build/lib32-mesa/src/fakeinstall/usr/include/KHR'
 /usr/bin/mkdir -p '/build/lib32-mesa/src/fakeinstall/usr/lib32/pkgconfig'
 /usr/bin/mkdir -p '/build/lib32-mesa/src/fakeinstall/usr/lib32'
 /bin/sh ../../libtool   --mode=install /usr/bin/install -c   libEGL_mesa.la '/build/lib32-mesa/src/fakeinstall/usr/lib32'
 /usr/bin/mkdir -p '/build/lib32-mesa/src/fakeinstall/usr/share/glvnd/egl_vendor.d'
 /usr/bin/install -c -m 644 ../../include/KHR/khrplatform.h '/build/lib32-mesa/src/fakeinstall/usr/include/KHR'
 /usr/bin/install -c -m 644 ../../include/EGL/eglext.h ../../include/EGL/egl.h ../../include/EGL/eglextchromium.h ../../include/EGL/eglmesaext.h ../../include/EGL/eglplatform.h '/build/lib32-mesa/src/fakeinstall/usr/include/EGL'
 /usr/bin/install -c -m 644 main/50_mesa.json '/build/lib32-mesa/src/fakeinstall/usr/share/glvnd/egl_vendor.d'
 /usr/bin/install -c -m 644 main/egl.pc '/build/lib32-mesa/src/fakeinstall/usr/lib32/pkgconfig'
libtool: warning: relinking 'libEGL_mesa.la'
libtool: install: (cd /build/lib32-mesa/src/mesa-17.1.0/src/egl; /bin/sh "/build/lib32-mesa/src/mesa-17.1.0/libtool"  --silent --tag CC --mode=relink gcc -m32 -I../../include -I../../src/egl/main -I../../src/gbm/main -I../../src -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D_GNU_SOURCE -DUSE_SSE41 -DUSE_GCC_ATOMIC_BUILTINS -DNDEBUG -DTEXTURE_FLOAT_ENABLED -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DHAVE_XLOCALE_H -DHAVE_SYS_SYSCTL_H -DHAVE_STRTOF -DHAVE_MKOSTEMP -DHAVE_DLOPEN -DHAVE_DL_ITERATE_PHDR -DHAVE_POSIX_MEMALIGN -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_DRI3 -DENABLE_SHADER_CACHE -DHAVE_MINCORE -DHAVE_ST_VDPAU -DHAVE_LLVM=0x0400 -DMESA_LLVM_VERSION_PATCH=0 -fvisibility=hidden -I/usr/include/libdrm -D_EGL_NATIVE_PLATFORM=_EGL_PLATFORM_X11 -DHAVE_X11_PLATFORM -DHAVE_WAYLAND_PLATFORM -DHAVE_DRM_PLATFORM -I../../src/loader -I../../src/egl/drivers/dri2 -I../../src/gbm/backends/dri -I../../src/egl/wayland/wayland-egl -I../../src/egl/wayland/wayland-drm -I../../src/egl/wayland/wayland-drm -DDEFAULT_DRIVER_DIR=\"/usr/lib32/xorg/modules/dri\" -D_EGL_BUILT_IN_DRIVER_DRI2 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -Wall -std=c99 -Werror=implicit-function-declaration -Werror=missing-prototypes -fno-math-errno -fno-trapping-math -no-undefined -version-number 0 -Wl,-Bsymbolic -Wl,--gc-sections -Wl,--no-undefined -Wl,-O1,--sort-common,--as-needed,-z,relro -o libEGL_mesa.la -rpath /usr/lib32 main/eglglvnd.lo main/egldispatchstubs.lo g_egldispatchstubs.lo libEGL_common.la -inst-prefix-dir /build/lib32-mesa/src/fakeinstall)
./.libs/libEGL_common.a(platform_drm.o): In function `get_back_bo':
platform_drm.c:(.text+0x1dd): undefined reference to `gbm_bo_create_with_modifiers'
collect2: error: ld returned 1 exit status
libtool:   error: error: relink 'libEGL_mesa.la' with the above command before installing it
make[5]: *** [Makefile:969: install-libLTLIBRARIES] Error 1
make[5]: Leaving directory '/build/lib32-mesa/src/mesa-17.1.0/src/egl'
make[4]: *** [Makefile:1490: install-am] Error 2
make[4]: Leaving directory '/build/lib32-mesa/src/mesa-17.1.0/src/egl'
make[3]: *** [Makefile:1484: install] Error 2
make[3]: Leaving directory '/build/lib32-mesa/src/mesa-17.1.0/src/egl'
make[2]: *** [Makefile:851: install-recursive] Error 1
make[2]: Leaving directory '/build/lib32-mesa/src/mesa-17.1.0/src'
make[1]: *** [Makefile:1008: install] Error 2
make[1]: Leaving directory '/build/lib32-mesa/src/mesa-17.1.0/src'
make: *** [Makefile:642: install-recursive] Error 1
Comment 17 Emil Velikov 2017-05-15 11:02:54 UTC
EoD, Laurent see comment 5 and comment 6. AFAICT it's not and issue on our end and there's sufficient workarounds to cater everyone's taste.
Comment 18 Laurent carlier 2017-05-16 14:57:47 UTC
@Emil , with slibtool :) ->

  CCLD     tools/aubinator
  CCLD     tools/aubinator_error_decode
  CCLD     isl/libisl.la
ar: `u' modifier ignored since `D' is the default (see `U')
  CCLD     blorp/libblorp.la
ar: `u' modifier ignored since `D' is the default (see `U')
  CXXLD    vulkan/libvulkan_intel.la
ar: `u' modifier ignored since `D' is the default (see `U')
vulkan/.libs/libvulkan_common.a(vulkan_libvulkan_common_la-anv_device.o): In function `anv_EnumeratePhysicalDevices':
anv_device.c:(.text+0x4c0): undefined reference to `drmGetDevices2'
vulkan/.libs/libvulkan_common.a(vulkan_libvulkan_common_la-anv_wsi_x11.o): In function `anv_GetPhysicalDeviceXlibPresentationSupportKHR':
anv_wsi_x11.c:(.text+0x69): undefined reference to `XGetXCBConnection'
../../src/vulkan/.libs/libvulkan_wsi.a(wsi_common_x11.o): In function `screen_get_visualtype':
wsi_common_x11.c:(.text+0xdf): undefined reference to `xcb_screen_allowed_depths_iterator'
wsi_common_x11.c:(.text+0xfb): undefined reference to `xcb_depth_visuals_iterator'
wsi_common_x11.c:(.text+0x125): undefined reference to `xcb_visualtype_next'
wsi_common_x11.c:(.text+0x139): undefined reference to `xcb_depth_next'
../../src/vulkan/.libs/libvulkan_wsi.a(wsi_common_x11.o): In function `x11_present_to_x11':
wsi_common_x11.c:(.text+0x1bf): undefined reference to `xshmfence_reset'
wsi_common_x11.c:(.text+0x22f): undefined reference to `xcb_present_pixmap'
wsi_common_x11.c:(.text+0x23e): undefined reference to `xcb_discard_reply'
wsi_common_x11.c:(.text+0x24e): undefined reference to `xcb_flush'
../../src/vulkan/.libs/libvulkan_wsi.a(wsi_common_x11.o): In function `x11_image_finish':
wsi_common_x11.c:(.text+0x2b7): undefined reference to `xcb_sync_destroy_fence'
wsi_common_x11.c:(.text+0x2c6): undefined reference to `xcb_discard_reply'
wsi_common_x11.c:(.text+0x2d1): undefined reference to `xshmfence_unmap_shm'
wsi_common_x11.c:(.text+0x2e4): undefined reference to `xcb_free_pixmap'
wsi_common_x11.c:(.text+0x2f3): undefined reference to `xcb_discard_reply'
../../src/vulkan/.libs/libvulkan_wsi.a(wsi_common_x11.o): In function `get_visualtype_for_window':
wsi_common_x11.c:(.text+0x4c0): undefined reference to `xcb_query_tree'
wsi_common_x11.c:(.text+0x4d3): undefined reference to `xcb_get_window_attributes'
wsi_common_x11.c:(.text+0x4e2): undefined reference to `xcb_query_tree_reply'
wsi_common_x11.c:(.text+0x4f0): undefined reference to `xcb_get_window_attributes_reply'
wsi_common_x11.c:(.text+0x52a): undefined reference to `xcb_get_setup'
wsi_common_x11.c:(.text+0x533): undefined reference to `xcb_setup_roots_iterator'
wsi_common_x11.c:(.text+0x54d): undefined reference to `xcb_screen_next'
../../src/vulkan/.libs/libvulkan_wsi.a(wsi_common_x11.o): In function `wsi_x11_get_connection.isra.3':
wsi_common_x11.c:(.text+0x685): undefined reference to `xcb_query_extension'
wsi_common_x11.c:(.text+0x6a3): undefined reference to `xcb_query_extension'
wsi_common_x11.c:(.text+0x6c1): undefined reference to `xcb_query_extension'
wsi_common_x11.c:(.text+0x6df): undefined reference to `xcb_query_extension'
wsi_common_x11.c:(.text+0x6f7): undefined reference to `xcb_query_extension_reply'
wsi_common_x11.c:(.text+0x70a): undefined reference to `xcb_query_extension_reply'
wsi_common_x11.c:(.text+0x71d): undefined reference to `xcb_query_extension_reply'
wsi_common_x11.c:(.text+0x730): undefined reference to `xcb_query_extension_reply'
../../src/vulkan/.libs/libvulkan_wsi.a(wsi_common_x11.o): In function `wsi_x11_check_dri3_compatible':
wsi_common_x11.c:(.text+0x894): undefined reference to `xcb_get_setup'
wsi_common_x11.c:(.text+0x8a1): undefined reference to `xcb_setup_roots_iterator'
wsi_common_x11.c:(.text+0x8b7): undefined reference to `xcb_dri3_open'
wsi_common_x11.c:(.text+0x8c6): undefined reference to `xcb_dri3_open_reply'
wsi_common_x11.c:(.text+0x8e7): undefined reference to `xcb_dri3_open_reply_fds'
wsi_common_x11.c:(.text+0x920): undefined reference to `drmGetRenderDeviceNameFromFd'
wsi_common_x11.c:(.text+0x92a): undefined reference to `drmGetRenderDeviceNameFromFd'
../../src/vulkan/.libs/libvulkan_wsi.a(wsi_common_x11.o): In function `x11_surface_get_support':
wsi_common_x11.c:(.text+0xa9f): undefined reference to `XGetXCBConnection'
../../src/vulkan/.libs/libvulkan_wsi.a(wsi_common_x11.o): In function `x11_surface_get_capabilities':
wsi_common_x11.c:(.text+0xb01): undefined reference to `xcb_get_geometry'
wsi_common_x11.c:(.text+0xb35): undefined reference to `xcb_get_geometry_reply'
wsi_common_x11.c:(.text+0xc17): undefined reference to `XGetXCBConnection'
../../src/vulkan/.libs/libvulkan_wsi.a(wsi_common_x11.o): In function `x11_swapchain_destroy':
wsi_common_x11.c:(.text+0xd52): undefined reference to `xcb_unregister_for_special_event'
wsi_common_x11.c:(.text+0xd6f): undefined reference to `xcb_present_select_input_checked'
wsi_common_x11.c:(.text+0xd7c): undefined reference to `xcb_discard_reply'
../../src/vulkan/.libs/libvulkan_wsi.a(wsi_common_x11.o): In function `x11_manage_fifo_queues':
wsi_common_x11.c:(.text+0x11cc): undefined reference to `xcb_wait_for_special_event'
../../src/vulkan/.libs/libvulkan_wsi.a(wsi_common_x11.o): In function `x11_acquire_next_image':
wsi_common_x11.c:(.text+0x1277): undefined reference to `xcb_flush'
wsi_common_x11.c:(.text+0x12a0): undefined reference to `xcb_poll_for_special_event'
wsi_common_x11.c:(.text+0x12f2): undefined reference to `xshmfence_await'
wsi_common_x11.c:(.text+0x144d): undefined reference to `xcb_wait_for_special_event'
wsi_common_x11.c:(.text+0x14b0): undefined reference to `xshmfence_await'
wsi_common_x11.c:(.text+0x1526): undefined reference to `xcb_get_file_descriptor'
wsi_common_x11.c:(.text+0x15e3): undefined reference to `xcb_flush'
wsi_common_x11.c:(.text+0x15f3): undefined reference to `xcb_poll_for_special_event'
../../src/vulkan/.libs/libvulkan_wsi.a(wsi_common_x11.o): In function `x11_surface_create_swapchain':
wsi_common_x11.c:(.text+0x16e9): undefined reference to `xcb_get_geometry'
wsi_common_x11.c:(.text+0x16f8): undefined reference to `xcb_get_geometry_reply'
wsi_common_x11.c:(.text+0x17d5): undefined reference to `xcb_generate_id'
wsi_common_x11.c:(.text+0x17f9): undefined reference to `xcb_present_select_input'
wsi_common_x11.c:(.text+0x180a): undefined reference to `xcb_present_id'
wsi_common_x11.c:(.text+0x1812): undefined reference to `xcb_register_for_special_xge'
wsi_common_x11.c:(.text+0x1821): undefined reference to `xcb_generate_id'
wsi_common_x11.c:(.text+0x1851): undefined reference to `xcb_create_gc'
wsi_common_x11.c:(.text+0x185e): undefined reference to `xcb_discard_reply'
wsi_common_x11.c:(.text+0x18f2): undefined reference to `xcb_generate_id'
wsi_common_x11.c:(.text+0x192a): undefined reference to `xcb_dri3_pixmap_from_buffer_checked'
wsi_common_x11.c:(.text+0x1939): undefined reference to `xcb_discard_reply'
wsi_common_x11.c:(.text+0x193e): undefined reference to `xshmfence_alloc_shm'
wsi_common_x11.c:(.text+0x1956): undefined reference to `xshmfence_map_shm'
wsi_common_x11.c:(.text+0x1973): undefined reference to `xcb_generate_id'
wsi_common_x11.c:(.text+0x198f): undefined reference to `xcb_dri3_fence_from_fd'
wsi_common_x11.c:(.text+0x199b): undefined reference to `xshmfence_trigger'
wsi_common_x11.c:(.text+0x1a45): undefined reference to `xcb_unregister_for_special_event'
wsi_common_x11.c:(.text+0x1a92): undefined reference to `xcb_free_pixmap'
wsi_common_x11.c:(.text+0x1aa1): undefined reference to `xcb_discard_reply'
wsi_common_x11.c:(.text+0x1b73): undefined reference to `XGetXCBConnection'
../../src/vulkan/.libs/libvulkan_wsi.a(wsi_common_x11.o): In function `wsi_get_physical_device_xcb_presentation_support':
wsi_common_x11.c:(.text+0x1f28): undefined reference to `xcb_get_setup'
wsi_common_x11.c:(.text+0x1f35): undefined reference to `xcb_setup_roots_iterator'
wsi_common_x11.c:(.text+0x1f55): undefined reference to `xcb_screen_next'
../../src/vulkan/.libs/libvulkan_wsi.a(wsi_common_wayland.o): In function `frame_handle_done':
wsi_common_wayland.c:(.text+0x1df): undefined reference to `wl_proxy_destroy'
../../src/vulkan/.libs/libvulkan_wsi.a(wsi_common_wayland.o): In function `wsi_wl_swapchain_queue_present':
wsi_common_wayland.c:(.text+0x22f): undefined reference to `wl_proxy_marshal'
wsi_common_wayland.c:(.text+0x26b): undefined reference to `wl_proxy_marshal'
wsi_common_wayland.c:(.text+0x294): undefined reference to `wl_proxy_marshal'
wsi_common_wayland.c:(.text+0x29f): undefined reference to `wl_display_flush'
wsi_common_wayland.c:(.text+0x2c9): undefined reference to `wl_display_dispatch_queue'
wsi_common_wayland.c:(.text+0x311): undefined reference to `wl_proxy_marshal'
wsi_common_wayland.c:(.text+0x32a): undefined reference to `wl_callback_interface'
wsi_common_wayland.c:(.text+0x334): undefined reference to `wl_proxy_marshal_constructor'
wsi_common_wayland.c:(.text+0x341): undefined reference to `wl_proxy_set_queue'
wsi_common_wayland.c:(.text+0x352): undefined reference to `wl_proxy_add_listener'
../../src/vulkan/.libs/libvulkan_wsi.a(wsi_common_wayland.o): In function `registry_handle_global':
wsi_common_wayland.c:(.text+0x5a2): undefined reference to `wl_proxy_marshal_constructor_versioned'
wsi_common_wayland.c:(.text+0x5c4): undefined reference to `wl_proxy_add_listener'
../../src/vulkan/.libs/libvulkan_wsi.a(wsi_common_wayland.o): In function `wsi_wl_display_destroy.isra.6':
wsi_common_wayland.c:(.text+0x5fc): undefined reference to `wl_proxy_destroy'
../../src/vulkan/.libs/libvulkan_wsi.a(wsi_common_wayland.o): In function `wsi_wl_get_display.isra.7':
wsi_common_wayland.c:(.text+0x6ea): undefined reference to `wl_registry_interface'
wsi_common_wayland.c:(.text+0x6f2): undefined reference to `wl_proxy_marshal_constructor'
wsi_common_wayland.c:(.text+0x718): undefined reference to `wl_proxy_add_listener'
wsi_common_wayland.c:(.text+0x720): undefined reference to `wl_display_roundtrip'
wsi_common_wayland.c:(.text+0x737): undefined reference to `wl_display_roundtrip'
wsi_common_wayland.c:(.text+0x74d): undefined reference to `wl_proxy_destroy'
wsi_common_wayland.c:(.text+0x78f): undefined reference to `wl_proxy_destroy'
../../src/vulkan/.libs/libvulkan_wsi.a(wsi_common_wayland.o): In function `wsi_wl_surface_create_swapchain':
wsi_common_wayland.c:(.text+0x998): undefined reference to `wl_proxy_get_version'
wsi_common_wayland.c:(.text+0xa5b): undefined reference to `wl_display_create_queue'
wsi_common_wayland.c:(.text+0xaa5): undefined reference to `wl_buffer_interface'
wsi_common_wayland.c:(.text+0xb7c): undefined reference to `wl_proxy_marshal_constructor'
wsi_common_wayland.c:(.text+0xb90): undefined reference to `wl_display_roundtrip'
wsi_common_wayland.c:(.text+0xbb8): undefined reference to `wl_proxy_set_queue'
wsi_common_wayland.c:(.text+0xbcf): undefined reference to `wl_proxy_add_listener'
../../src/vulkan/.libs/libvulkan_wsi.a(wsi_common_wayland.o): In function `wsi_wl_swapchain_acquire_next_image':
wsi_common_wayland.c:(.text+0xc6d): undefined reference to `wl_display_dispatch_queue_pending'
wsi_common_wayland.c:(.text+0xcb4): undefined reference to `wl_display_roundtrip_queue'
../../src/vulkan/.libs/libvulkan_wsi.a(wayland-drm-protocol.o):(.data.rel+0x4): undefined reference to `wl_buffer_interface'
../../src/vulkan/.libs/libvulkan_wsi.a(wayland-drm-protocol.o):(.data.rel+0x1c): undefined reference to `wl_buffer_interface'
../../src/vulkan/.libs/libvulkan_wsi.a(wayland-drm-protocol.o):(.data.rel+0x48): undefined reference to `wl_buffer_interface'
collect2: error: ld returned 1 exit status
slibtool: exec error upon slbt_exec_link_create_library(), line 1082: (see child process error messages).
slibtool: < returned to > slbt_exec_link(), line 1421.
make[4]: *** [Makefile:2425: vulkan/libvulkan_intel.la] Error 2
make[4]: Leaving directory '/build/lib32-mesa/src/mesa-17.1.0/src/intel'
make[3]: *** [Makefile:1972: all] Error 2
make[3]: Leaving directory '/build/lib32-mesa/src/mesa-17.1.0/src/intel'
make[2]: *** [Makefile:851: all-recursive] Error 1
make[2]: Leaving directory '/build/lib32-mesa/src/mesa-17.1.0/src'
make[1]: *** [Makefile:642: all] Error 2
make[1]: Leaving directory '/build/lib32-mesa/src/mesa-17.1.0/src'
make: *** [Makefile:642: all-recursive] Error 1
Comment 19 kusayu 2017-06-22 08:40:11 UTC
Arch Linux still broken.

  CXXLD    vulkan/libvulkan_intel.la
vulkan/.libs/libvulkan_common.a(vulkan_libvulkan_common_la-anv_device.o): In function `anv_EnumeratePhysicalDevices':
anv_device.c:(.text+0x45a): undefined reference to `drmGetDevices2'
collect2: error: ld returned 1 exit status
make[4]: *** [Makefile:2425: vulkan/libvulkan_intel.la] Error 1
make[4]: Leaving directory '/home/kusayu/.cache/pacaur/mesa-noglvnd/src/mesa-17.1.0/src/intel'
make[3]: *** [Makefile:1972: all] Error 2
make[3]: Leaving directory '/home/kusayu/.cache/pacaur/mesa-noglvnd/src/mesa-17.1.0/src/intel'
make[2]: *** [Makefile:851: all-recursive] Error 1
make[2]: Leaving directory '/home/kusayu/.cache/pacaur/mesa-noglvnd/src/mesa-17.1.0/src'
make[1]: *** [Makefile:642: all] Error 2
make[1]: Leaving directory '/home/kusayu/.cache/pacaur/mesa-noglvnd/src/mesa-17.1.0/src'
make: *** [Makefile:642: all-recursive] Error 1
Comment 20 Eric Engestrom 2017-06-22 16:05:40 UTC
kusayu: You're having a different issue, with different symptoms. Can you please open a new ticket?
When doing so, please indicate the libdrm version used.
Your error is weird though, as this symbol was introduced in libdrm 2.4.75, which has always been required on the 17.1 branch, so if your libdrm is too old it should fail way before that, during the configure stage.
I just tested that pkgbuild and it works for me btw, with libdrm 2.4.81.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct.