Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Option to build with system headers for Linux distribution packages #1740

Open
enunes opened this issue Sep 13, 2024 · 0 comments
Open

Option to build with system headers for Linux distribution packages #1740

enunes opened this issue Sep 13, 2024 · 0 comments
Labels
P2 A high-priority code maintenance issue or a functional problem that is recoverable or not a crash. vulkan

Comments

@enunes
Copy link

enunes commented Sep 13, 2024

I attempted to create a package for this to submit to upstream Fedora, but I'm hitting an issue that this project currently depends on the external dependencies from git submodules. Distributions like Fedora usually do not use bundled / downloaded subdependencies but use project options to use distribution packages as dependencies instead.

Right now even if I have the latest Vulkan headers from the distrubition, build fails with:

-- Vulkan Header = VULKAN_HEADER-NOTFOUND
CMake Error at cmake/FindVulkanVersion.cmake:30 (file):
  file STRINGS file
  "<...>/gfxreconstruct/VULKAN_HEADER-NOTFOUND" cannot be read.
Call Stack (most recent call first):
  CMakeLists.txt:115 (include)

Apparently because of

external/Vulkan-Headers/include/vulkan

I see that Debian has also had to patch the same thing in order to build their package:
https://salsa.debian.org/xorg-team/vulkan/gfxreconstruct/-/blob/master/debian/patches/01_Use_system_Vulkan.patch?ref_type=heads

More recently there are more hard includes of external/ from git submodules like external/SPIRV-Reflect which I think would also make this more difficult.

I wanted to prepare and send a patch to propose a fix for this, but unfortunately the CMake is a bit hard to follow here.

Could we get an option to attempt to look for and use system libraries first, that we can use in distrubution packages? For example something like an UPDATE_DEPS (default OFF) as seen in other Vulkan packages like https://github.com/KhronosGroup/Vulkan-Tools/blob/main/BUILD.md#dependencies

Thanks!

@beau-lunarg beau-lunarg added the P2 A high-priority code maintenance issue or a functional problem that is recoverable or not a crash. label Sep 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P2 A high-priority code maintenance issue or a functional problem that is recoverable or not a crash. vulkan
Projects
None yet
Development

No branches or pull requests

3 participants