Open FireBurn opened 1 year ago
The issue might need fixing in vkroots but hopefully @Joshua-Ashton can confirm
I think it's related to https://github.com/KhronosGroup/Vulkan-Headers/commit/e8b8e06d092ab406b097907ecaae1a8aae9c7d53 which was worked around in another project with https://github.com/DadSchoorse/vkBasalt/pull/208
I think it's related to KhronosGroup/Vulkan-Headers@e8b8e06 which was worked around in another project with DadSchoorse/vkBasalt#208
I tried vulkan-headers-1.3.243 with that commit reverted and ended up with the same build error.
As a workaround I modified Gentoo's media-libs/vkroots
ebuild so that it runs gen/make_vkroots
against the vk.xml
from vulkan-headers-1.3.239
instead of the system's vk.xml
.
Thanks for that, I can't see the change in vkroots though, had it been committed yet?
Locally I emerged the older vulkan-headers, then vkroots, I was then able to compile gamescope just fine after that
Really the vulkan-headers bumps should cause vkroots to rebuild automatically, this probably would have been noticed sooner
Sorry, I was not made aware of this until today, so I haven't addressed this in the Gentoo package yet. It's late, and I'm not sure what the right thing to do is yet, so it'll need to wait a bit longer.
Really the vulkan-headers bumps should cause vkroots to rebuild automatically, this probably would have been noticed sooner
Unfortunately, that's not possible.
Pretty sure it is if you add := to the end of the dependency
Note that the rebuild is what breaks it, it works if building using e.g. 1.3.239's vk.xml -- then you can upgrade headers after and things will be fine.
...rather than always rebuild against latest headers, maybe bundling/pre-generating as needed + known working would make more sense. Essentially like Wine does with make_vulkan (pregen on releases).
Pretty sure it is if you add := to the end of the dependency
That only works when the dependency has subslots, which this one doesn't. You wouldn't normally apply subslots to a headers package. This is a special case, but I still don't want to do it, because it would cause unnecessary rebuilds in many other cases.
...rather than always rebuild against latest headers, maybe bundling/pre-generating as needed + known working would make more sense. Essentially like Wine does with make_vulkan (pregen on releases).
Out of curiosity I replaced /usr/include/vkroots.h
with the one from the repository and gamescope compiled successfully.
Perhaps the Gentoo ebuild should just leave the header untouched, and only re-generate it if an IUSE, such as system-vulkan
is enabled.
Yeah, just using the bundled vkroots.h was what I was planning to do. Regenerating it just seemed like a good idea when I packaged it. Should sort it later today.
I've now fixed the Gentoo package.