Bug 98167

Summary: [vulkan, radv] missing libgcrypt and openssl devel results in linker error in libvulkan_common
Product: Mesa Reporter: Vedran Miletić <vedran>
Component: Drivers/Vulkan/radeonAssignee: mesa-dev
Status: RESOLVED FIXED QA Contact: mesa-dev
Severity: normal    
Priority: medium    
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Vedran Miletić 2016-10-08 20:11:13 UTC
CC       vk_format_table.lo
  CC       radv_wsi_x11.lo
  CC       radv_wsi_wayland.lo
  GEN      dev_icd.json
  CC       winsys/amdgpu/radv_amdgpu_bo.lo
  CC       winsys/amdgpu/radv_amdgpu_cs.lo
  CC       winsys/amdgpu/radv_amdgpu_surface.lo
  CC       winsys/amdgpu/radv_amdgpu_winsys.lo
  CCLD     libvulkan_common.la
  CXXLD    libvulkan_radeon.la
./.libs/libvulkan_common.a(radv_pipeline.o): In function `radv_pipeline_compile':
/home/vedranm/workspace/mesa/src/amd/vulkan/radv_pipeline.c:373: undefined reference to `_mesa_sha1_compute'
./.libs/libvulkan_common.a(radv_pipeline.o): In function `radv_CreateShaderModule':
/home/vedranm/workspace/mesa/src/amd/vulkan/radv_pipeline.c:86: undefined reference to `_mesa_sha1_compute'
./.libs/libvulkan_common.a(radv_descriptor_set.o): In function `radv_CreatePipelineLayout':
/home/vedranm/workspace/mesa/src/amd/vulkan/radv_descriptor_set.c:196: undefined reference to `_mesa_sha1_init'
/home/vedranm/workspace/mesa/src/amd/vulkan/radv_descriptor_set.c:206: undefined reference to `_mesa_sha1_update'
/home/vedranm/workspace/mesa/src/amd/vulkan/radv_descriptor_set.c:219: undefined reference to `_mesa_sha1_update'
/home/vedranm/workspace/mesa/src/amd/vulkan/radv_descriptor_set.c:221: undefined reference to `_mesa_sha1_final'
./.libs/libvulkan_common.a(radv_pipeline_cache.o): In function `radv_hash_shader':
/home/vedranm/workspace/mesa/src/amd/vulkan/radv_pipeline_cache.c:92: undefined reference to `_mesa_sha1_init'
/home/vedranm/workspace/mesa/src/amd/vulkan/radv_pipeline_cache.c:94: undefined reference to `_mesa_sha1_update'
/home/vedranm/workspace/mesa/src/amd/vulkan/radv_pipeline_cache.c:95: undefined reference to `_mesa_sha1_update'
/home/vedranm/workspace/mesa/src/amd/vulkan/radv_pipeline_cache.c:96: undefined reference to `_mesa_sha1_update'
/home/vedranm/workspace/mesa/src/amd/vulkan/radv_pipeline_cache.c:98: undefined reference to `_mesa_sha1_update'
/home/vedranm/workspace/mesa/src/amd/vulkan/radv_pipeline_cache.c:100: undefined reference to `_mesa_sha1_update'
./.libs/libvulkan_common.a(radv_pipeline_cache.o):/home/vedranm/workspace/mesa/src/amd/vulkan/radv_pipeline_cache.c:102: more undefined references to `_mesa_sha1_update' follow
./.libs/libvulkan_common.a(radv_pipeline_cache.o): In function `radv_hash_shader':
/home/vedranm/workspace/mesa/src/amd/vulkan/radv_pipeline_cache.c:104: undefined reference to `_mesa_sha1_final'
collect2: error: ld returned 1 exit status
Makefile:868: recipe for target 'libvulkan_radeon.la' failed
make[4]: *** [libvulkan_radeon.la] Error 1
make[4]: Leaving directory '/home/vedranm/workspace/mesa/src/amd/vulkan'
Makefile:769: recipe for target 'all' failed
make[3]: *** [all] Error 2
make[3]: Leaving directory '/home/vedranm/workspace/mesa/src/amd/vulkan'
Makefile:865: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/home/vedranm/workspace/mesa/src'
Makefile:656: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/vedranm/workspace/mesa/src'
Makefile:652: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1

Installing openssl-devel or libgcrypt-devel fixes the problem. Configure script should detect this and produce a user friendly warning.
Comment 1 Dave Airlie 2016-10-10 00:10:19 UTC
Should be fixed in master now.
Comment 2 Vedran Miletić 2016-10-10 00:19:19 UTC
Indeed it does. Thanks.

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.