On Mon, Oct 17, 2022 at 10:13:47PM +0300, Michael Tokarev 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.
> 
> What do you guys think?

The same command with all packages installed outputs:

$ pkg-config --cflags virglrenderer
-I/usr/include/virgl -I/usr/include/libdrm 
$

This would be required if headers under /usr/include/libdrm were 
included by /usr/include/virgl/virglrenderer.h, but that isn't
the case.

> /mjt

cu
Adrian

Reply via email to