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

Reply via email to