Simon McVittie kirjoitti 23.1.2025 klo 13.50:
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
no clue about this one, and we're alone with this as our spirv-tools is
built statically since 2020.
--
t