mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2026-04-26 16:25:58 +03:00
[GH-ISSUE #2800] [BUILD BUG]: SPIRV not being linked on Debian #905
Labels
No labels
Bloodborne
bug
contributor wanted
documentation
enhancement
frontend
good first issue
help wanted
linux
pull-request
question
release
verification progress
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/shadPS4#905
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @knuxyl on GitHub (Apr 17, 2025).
Original GitHub issue: https://github.com/shadps4-emu/shadPS4/issues/2800
Checklist
Describe the Bug
Debian testing does not seem to ship glslang with spirv linking so during linking phase it fails with tons of undefined references from glslang to spv functions. Same issue with clang and gcc.
Maybe linking spirv can be added manually?
Reproduction Steps
Install debian testing with dependencies. I have included many that were not in the docs, although some fail due to being too new or too old.
sudo apt install build-essential clang git cmake libasound2-dev libpulse-dev libopenal-dev libssl-dev zlib1g-dev libedit-dev libudev-dev libevdev-dev libsdl2-dev libjack-dev libsndio-dev qt6-base-dev qt6-tools-dev qt6-multimedia-dev libvulkan-dev vulkan-validationlayers libpng-dev glslang-dev libsdl3-dev libsdl3-image-dev libsdl3-ttf-dev libvulkan-memory-allocator-dev libavcodec-dev libboost-all-dev glslang-tools spirv-headers libfmt-dev libhalf-dev libmagicenum-dev libstb-dev libtoml11-dev libxbyak-dev libxxhash-dev libzydis-dev libusb-1.0-0-dev -ycmake ../ -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DENABLE_QT_GUI=ON -DENABLE_UPDATER=OFF -DENABLE_DISCORD_RPC=OFFExpected Behavior
I believe linking spirv should be handled by glslang's library but it doesn't seem to do that. There was a bug in 2020 specifically for this but was allegedly fixed. They may have just broke it again. It would be simpler to just manually link spirv when linking glslang.
Specify OS Version
Debian Testing - Kernel 6.12.21
CPU
Ryzen 9 7950X3D
GPU
Radeon Pro W6600
Amount of RAM in GB
96GB
@jardon commented on GitHub (Apr 19, 2025):
i would think it should link against the submodule, but the linking directories will likely need to be configured differently.
@knuxyl commented on GitHub (Apr 20, 2025):
I'm not 100% sure what to make of it but I do know the foundational problem is debian developers not properly building glslang... it's becoming habitual. Once I built it manually and installed it shadps4 would build (although would not run anything at all). I'm just hoping shadps4's build system could be updated to include an option to use external glslang or system in the cmake.
@abouvier commented on GitHub (Apr 20, 2025):
You can use
-D CMAKE_DISABLE_FIND_PACKAGE_glslang=ONto force building withexternals/glslang.@knuxyl commented on GitHub (Apr 21, 2025):
I reinstalled debian's glslang and used the addition you gave and it worked. I'm guessing this disable find package is a builtin cmake function i didn't know existed. thank you. shad built but I'm still getting error change every run that I don't get with the prebuilt provided by releases. my problem was solved, thank you @abouvier