Created attachment 547354 [details] emerge --info The package fails to compile with 94%] Building CXX object layers/CMakeFiles/VkLayer_core_validation.dir/shader_validation.cpp.o cd /var/tmp/portage/media-libs/vulkan-layers-1.1.82.0/work/Vulkan-ValidationLayers-89bbac497742d48c3d483f78b1bba99101784746-abi_x86_32.x86/layers && /usr/bin/x86_64-pc-linux-gnu-g++ -m32 -DAPI_NAME=\"Vulkan\" -DFALLBACK_CONFIG_DIRS=\"/etc/xdg\" -DFALLBACK_DATA_DIRS=\"/usr/local/share:/usr/share\" -DSYSCONFDIR=\"/etc\" -DVK_USE_PLATFORM_WAYLAND_KHR -DVK_USE_PLATFORM_WAYLAND_KHX -DVK_USE_PLATFORM_XCB_KHR -DVK_USE_PLATFORM_XCB_KHX -DVK_USE_PLATFORM_XLIB_KHR -DVK_USE_PLATFORM_XLIB_KHX -DVK_USE_PLATFORM_XLIB_XRANDR_EXT -DVkLayer_core_validation_EXPORTS -I/var/tmp/portage/media-libs/vulkan-layers-1.1.82.0/work/Vulkan-ValidationLayers-89bbac497742d48c3d483f78b1bba99101784746/layers -I/var/tmp/portage/media-libs/vulkan-layers-1.1.82.0/work/Vulkan-ValidationLayers-89bbac497742d48c3d483f78b1bba99101784746-abi_x86_32.x86 -I/var/tmp/portage/media-libs/vulkan-layers-1.1.82.0/work/Vulkan-ValidationLayers-89bbac497742d48c3d483f78b1bba99101784746-abi_x86_32.x86/layers -DNDEBUG -O2 -pipe -march=bdver2 -mprefer-avx128 -mvzeroupper -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -fno-strict-aliasing -fno-builtin-memcmp -Wimplicit-fallthrough=0 -std=c++11 -fno-rtti -fvisibility=hidden -Wpointer-arith -Wno-unused-function -Wno-sign-compare -fPIC -o CMakeFiles/VkLayer_core_validation.dir/shader_validation.cpp.o -c /var/tmp/portage/media-libs/vulkan-layers-1.1.82.0/work/Vulkan-ValidationLayers-89bbac497742d48c3d483f78b1bba99101784746/layers/shader_validation.cpp /var/tmp/portage/media-libs/vulkan-layers-1.1.82.0/work/Vulkan-ValidationLayers-89bbac497742d48c3d483f78b1bba99101784746/layers/shader_validation.cpp: In function ‘bool ValidateShaderCapabilities(core_validation::layer_data*, const shader_module*, VkShaderStageFlagBits, bool)’: /var/tmp/portage/media-libs/vulkan-layers-1.1.82.0/work/Vulkan-ValidationLayers-89bbac497742d48c3d483f78b1bba99101784746/layers/shader_validation.cpp:1279:15: error: ‘CapabilityShaderNonUniformEXT’ is not a member of ‘spv’ {spv::CapabilityShaderNonUniformEXT, {VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, nullptr, &DeviceExtensions::vk_ext_descriptor_indexing}}, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /var/tmp/portage/media-libs/vulkan-layers-1.1.82.0/work/Vulkan-ValidationLayers-89bbac497742d48c3d483f78b1bba99101784746/layers/shader_validation.cpp:1279:15: note: suggested alternative: ‘CapabilityGroupNonUniform’ {spv::CapabilityShaderNonUniformEXT, {VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, nullptr, &DeviceExtensions::vk_ext_descriptor_indexing}}, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CapabilityGroupNonUniform and additional similar errors (see buildlog) For emerge --info see attached file. emerge -pqv '=media-libs/vulkan-layers-1.1.82.0::gentoo' [ebuild N ] media-libs/vulkan-layers-1.1.82.0 USE="X wayland" ABI_X86="32 (64) (-x32)"
Created attachment 547356 [details] build log
Hi Bernd, What version of vulkan-headers is installed on your system? Thanks, Sarnex
I can confirm this, with the same exact error. For that matters, in my case I have vulkan-headers-1.1.82.0 installed.
Based on the error, there is missing information in spirv.hpp which is installed by dev-util/spirv-headers which is part of the dependency tree. I could not reproduce this with any in-tree version of spirv-headers. Can either of you please upload your /usr/include/SPIRV/spirv.hpp file and/or try reinstalling spriv-headers? Thank you, Sarnex
So, I had no spirv-headers installed at all. I believe this is because all the versions in the portage tree are currently keyworded ~amd64, and somehow the necessity of the package did not get detected by any ebuild. Thus, I emerged dev-util/spirv-headers-1.3 and tried again, but I got the very same error. Then, I emerged the latest version of spirv-headers available, namely spirv-headers-1.3.4_pre20180917, but emerging vulkan-layers still fails with the same error. I'm attaching /usr/include/SPIRV/spirv.hpp in the next comment.
Created attachment 547518 [details] spirv.hpp /usr/include/SPIRV/spirv.hpp, as requested.
Thanks. I must have not been paying attention earlier. spirv.hpp is installed by glslang, not spirv-headers. Can you confirm installing glslang-7.9.2888 fixes the issue? Thanks, Sarnex
Hi Nick, I too have vulkan-headers-1.1.82.0 installed. For the spirv.hpp file, I have 5 versions installed. First there's /usr/include/SPIRV/spirv.hpp which belongs to dev-util/glslang, then there are 4 files /usr/include/spirv/{1.{0,1,2},unified1}/spirv.hpp which all belong to dev-util/spirv-headers. I have glslang-6.2.2596 and spirv-headers-1.3.4_pre20180917 installed.
Created attachment 547524 [details] SPIRV/spirv.hpp That's what is included in the shader_validation.cpp file.
Thanks Bernd. I expect glslang-7.9.2888 fixes the issue. Can you try installing it and recompiling vulkan-layers? If so I will fix the ebuild. Sarnex
Yes, I can confirm that glslang-7.9.2888 fixes the issue. Thanks!
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6fab3a3ddf6976a6cafe6cb6fb8e62441771c4fa commit 6fab3a3ddf6976a6cafe6cb6fb8e62441771c4fa Author: Nick Sarnie <sarnex@gentoo.org> AuthorDate: 2018-09-22 17:35:57 +0000 Commit: Nick Sarnie <sarnex@gentoo.org> CommitDate: 2018-09-22 17:35:57 +0000 media-libs/vulkan-layers: Fix glslang dependency Fixes: https://bugs.gentoo.org/666596 Package-Manager: Portage-2.3.49, Repoman-2.3.11 media-libs/vulkan-layers/vulkan-layers-1.1.82.0.ebuild | 4 ++-- media-libs/vulkan-layers/vulkan-layers-9999.ebuild | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-)
Sarnex, I can also confirm glslang-7.9.2888 fixes the issue. Thanks!
Thanks all, I've pushed the fix. Sarnex