On Sun, 23 Feb 2020 at 11:17:31 +0100, Sebastian Ramacher wrote: > On 2020-02-23 08:27:30, Lucas Nussbaum wrote: > > Source: libplacebo ... > > During a rebuild of all packages in sid, your package failed to build > > on amd64. > > > > Relevant part (hopefully): > > > /usr/bin/ld: > > > /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libSPIRV.a(SpvTools.cpp.o): > > > in function `glslang::SpirvToolsValidate(glslang::TIntermediate const&, > > > std::vector<unsigned int, std::allocator<unsigned int> >&, > > > spv::SpvBuildLogger*, bool)': > > > (.text+0x8ee): undefined reference to `spvContextCreate' > > > /usr/bin/ld: (.text+0x918): undefined reference to > > > `spvValidatorOptionsCreate' > > > /usr/bin/ld: (.text+0x92b): undefined reference to > > > `spvValidatorOptionsSetRelaxBlockLayout' > > > /usr/bin/ld: (.text+0x936): undefined reference to > > > `spvValidatorOptionsSetBeforeHlslLegalization' > > > /usr/bin/ld: (.text+0x94b): undefined reference to > > > `spvValidateWithOptions' > > > /usr/bin/ld: (.text+0xafc): undefined reference to > > > `spvValidatorOptionsDestroy' > > > /usr/bin/ld: (.text+0xb06): undefined reference to `spvDiagnosticDestroy' > > > /usr/bin/ld: (.text+0xb0e): undefined reference to `spvContextDestroy' > > > collect2: error: ld returned 1 exit status > > This static library is from glslang-dev. spirv.pc fails to mention the > libraries from spirv-tools in its Libs, but would require as it can be > seen from this build failure. Hence I'm reassigning this bug to > glslang-dev.
Here is a reproducer: cat > use-spirv.cpp <<'EOF' #undef NDEBUG #include <cassert> #include <glslang/SPIRV/GlslangToSpv.h> int main (void) { std::string s; glslang::GetSpirvVersion(s); return 0; } EOF c++ -std=c++11 -o use-spirv use-spirv.cpp $("$PKG_CONFIG" --cflags --libs spirv) I attach a patch that extends the autopkgtest to do this, which requires the patches from #980369. As with the previous autopkgtests, it can be run with sadt(1) from devscripts, or with autopkgtest(1), and I would suggest doing so before uploads (at least for new upstream releases). Unfortunately, unlike #980369, I was not able to find a combination of libraries that I could add to spirv.pc to fix this bug. smcv