Emulator Issues #13888
open[Linux] Vulkan-related build failure
0%
Description
Builds are failing in linux, likely due to an incompatibility issue with Vulkan 1.4:
CMake Error at /home/testing/.local/lib/vulkan/1.4.321.1/x86_64/share/llvm/cmake/LLVMExports.cmake:302 (message):
The imported target "LLVMDxilHash" references the file
"/home/testing/.local/lib/vulkan/1.4.321.1/x86_64/lib/libLLVMDxilHash.a"
but this file does not exist. Possible reasons include:
Environment:
- OS: Linux Mint 22.2 / kernel 6.14
- CPU: Intel i9-14900HX
- GPU: Nvidia GTX 4060 / driver 550.163
- Build environment: gcc-14.2.0 / Cmake 3.28.3
- Commit: https://github.com/dolphin-emu/dolphin/commit/695e06ca981dee93a2be517594b7c622bf18d41f
Files
Updated by JosJuice 6 months ago
- Tracker changed from Issue to Emulator Issues
- Project changed from Infrastructure to Emulator
- Issue type set to Bug
- Regression set to No
- Relates to usability set to No
- Relates to performance set to No
- Easy set to No
- Relates to maintainability set to No
- Operating system N/A added
Updated by Billiard26 5 months ago
Vulkan 1.4 is compiling fine here.
The error sounds like problematic Vulkan libraries that you have installed your .local/lib directory.
Updated by shoegazer 5 months ago
Thanks Billiard. /home/testing/.local/lib/vulkan/1.4.321.1/x86_64/lib/libLLVMDxilHash.a is indeed missing as reported above.
So how could this happen, since I'm using the latest official vulkan-sdk (1.4.321.1) tarball, with all of its files installed to the above .local/lib path?
I wonder if it's an issue with the vulkan-sdk itself. Which minor version of vulkan 1.4 are you using? Can you check to see if it includes the above file?
Updated by Billiard26 5 months ago
I don't know anything about putting libraries in .local/lib.
I haven't manually installed any Vulkan SDK. I'm just building with the Vulkan-Headers 1.4.307 within Dolphin's Externals directory.
Anyways, this doesn't sound like a Dolphin issue to me.
Updated by shoegazer 5 months ago
I had forgotten vulkan-sdk isn't required for Dolphin as it is for other projects. It seems the Dolphin build process will attempt to use it if it detects it, and fails with newer versions (this didn't happen here on the test system with vulkan-sdk 1.3).
CMakeLists exposes the USE_SYSTEM_LIBS option to either use or ignore system libs entirely, though I tried that and got the same result. Is there another way?
Updated by Billiard26 4 months ago
- Operating system Linux added
- Operating system deleted (
N/A)
Dolphin builds with both gcc and clang here, but I don't know what is causing your issue or how to solve it.
Updated by shoegazer 4 months ago
Thanks. I'm not sure why either although in fairness, this test system is a pretty standard environment. Can you compare your environment to this one as noted above (gcc version, etc?) Also you might try installing the vulkan-sdk, add the libraries to your .profile and see if it still builds with gcc, as that seems the source of the issue and is fairly common.
Updated by Billiard26 4 months ago
I'm on Arch Linux, gcc (GCC) 15.2.1 20251112.
I don't know anything about putting libraries in .profile.
I'm really not the correct person to be fixing dependency issues.
Updated by valtyrkari 3 months ago
Also happens when building with clang 20.1.8 and vulkan-sdk 1.4.328.1. It tries to libLLVMDxilHash.a which isn't packaged in the most recent versions of the sdk, and it even throws this error after turning ENABLE_VULKAN off. I managed to make the error stop by commenting out everything related to setting the vulkan-sdk related environment variables and reloading the terminal.