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

Reply via email to