On Mon, 17 Oct 2022 22:13:47 +0300 Michael Tokarev <m...@tls.msk.ru> wrote:
16.10.2022 08:04, Adrian Bunk wrote:
...
> With 0.10.3-1 vulkan is a new requirement, breaking the qemu build again:
> 
https://buildd.debian.org/status/fetch.php?pkg=qemu&arch=amd64&ver=1%3A7.1%2Bdfsg-2%2Bb1&stamp=1665894634&raw=0
> > The complete list is currently:
> $ pkg-config --cflags virglrenderer
> Package epoxy was not found in the pkg-config search path.
> Perhaps you should add the directory containing `epoxy.pc'
> to the PKG_CONFIG_PATH environment variable
> Package 'epoxy', required by 'virglrenderer', not found
> Package 'libdrm', required by 'virglrenderer', not found
> Package 'gbm', required by 'virglrenderer', not found
> Package 'vulkan', required by 'virglrenderer', not found
> Package 'libva', required by 'virglrenderer', not found
> Package 'libva-drm', required by 'virglrenderer', not found
> $
> > In practice, most/all of the -dev build dependencies also have to become
> dependencies of libvirglrenderer-dev.

Actually this is an interesting question and a quite common issue.

This package does not provide a static library.
All the mentioned packages are listed in Requires.private pkgconfig tag:

  Version: 0.10.3
  Requires.private: epoxy >=  1.5.4, libdrm >= 2.4.50, gbm >=  0.0.0, x11, 
vulkan, libva, libva-drm

The thing is: these are needed by a static-link library (dynamic .so
libs are already handled by debian package dependencies). They're not
used when building other software with libvirglrenderer.  It is only
pkg-config which fails to find them, for actual usage these are not
needed.

I used to remove Requires.private: tags from the .pc files in such
cases, entirely, because it makes no sense in this context.  And it
makes build just a bit faster too.

But indeed, many maintainers tend to add lots'a stuff to Depends.

I'd remove the Requires.private here as well.

Patching the upstream provided .pc file in Debian feels odd, tbh.

Are you sure Requires.private is only relevant for static linking? Isn't this what Libs.private is for.

Looping in Tollef and Andrew, as maintainers of pkgconf/pkg-config.


Regards,
Michael

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

Reply via email to