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