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
OpenPGP_signature
Description: OpenPGP digital signature