Package: glslang-dev Version: 15.0.0-1 Severity: serious Justification: https://release.debian.org/testing/rc_policy.txt ยง6a X-Debbugs-Cc: spirv-to...@packages.debian.org Control: found -1 15.1.0-1 Control: block 1088554 by -1
It looks as though new versions of glslang and/or spirv-tools have caused linking using spirv.pc to regress, similar to #951988. The test I contributed in #951988 was previously successful, but is now failing. Linking a simple test program to libglslang with glslang.pc is still successful: 64s + pkg-config --cflags --libs glslang 64s + g++ -std=c++17 -o trivial trivial.cpp -lglslang -lMachineIndependent -lGenericCodeGen -lOSDependent -lSPVRemapper -lpthread 65s + test -x trivial but linking a slightly less simple test program with spirv.pc is not: 65s + g++ -std=c++17 -o spirv spirv.cpp -lSPIRV -lSPIRV-Tools-opt -lSPIRV-Tools -lSPIRV-Tools-link -lglslang -lMachineIndependent -lGenericCodeGen -lOSDependent -lSPVRemapper -lpthread 65s /usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/14/../../../x86_64-linux-gnu/libglslang.a(SpvTools.cpp.o): in function `glslang::SpirvToolsDisassemble(std::ostream&, std::vector<unsigned int, std::allocator<unsigned int> > const&, spv_target_env)': 65s (.text+0x423): undefined reference to `spvContextCreate' 65s /usr/bin/ld: (.text+0x455): undefined reference to `spvBinaryToText' 65s /usr/bin/ld: (.text+0x464): undefined reference to `spvDiagnosticPrint' (etc.) The .pc files are a Debian-specific addition, so presumably the patches that add them need updating to reflect how upstream would link programs to these libraries? Has libglslang.a perhaps grown a dependency on SPIRV-Tools, which is not detected by the glslang.pc test-case because it's too simple? If that's the case then it might need "Requires: SPIRV-Tools", like spirv.pc already has. (I don't know much about the internal structure of these libraries, so I don't know how their upstream developer intends them to fit together.) Resolving this will be a prerequisite for src:glslang migrating to testing (#1088554). smcv