FS#80171 - [movit] .pc file refers to a package movit does not depend on
Attached to Project:
Arch Linux
Opened by Tom Smeding (tomsmeding) - Sunday, 05 November 2023, 13:07 GMT
Last edited by Toolybird (Toolybird) - Sunday, 05 November 2023, 19:46 GMT
Opened by Tom Smeding (tomsmeding) - Sunday, 05 November 2023, 13:07 GMT
Last edited by Toolybird (Toolybird) - Sunday, 05 November 2023, 19:46 GMT
|
Details
Description: The movit.pc file installed with 'movit'
depends on 'eigen3', but no eigen3.pc file is installed by
movit, nor by any of its dependencies.
This is relevant whenever one wants to depend on movit via pkg-config. It bites me specifically because a tool I use reads in the entire pkg-config database, which fails when any package within it is broken (like movit.pc is). Additional info: * movit 1.7.1-1 Steps to reproduce: ``` ~$ pacman -Qo /usr/lib/pkgconfig/movit.pc /usr/lib/pkgconfig/movit.pc is owned by movit 1.7.1-1 ~$ cat /usr/lib/pkgconfig/movit.pc # Movit pkg-config source file. prefix=/usr exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${prefix}/include datarootdir=${prefix}/share datadir=${datarootdir} shaderdir=${datarootdir}/movit Name: movit Description: Movit is a library for high-quality, high-performance video filters. Version: git Requires: epoxy eigen3 Requires.private: fftw3 Conflicts: Libs: -lmovit Cflags: -I${includedir}/movit ~$ pkg-config --modversion movit Package eigen3 was not found in the pkg-config search path. Perhaps you should add the directory containing `eigen3.pc' to the PKG_CONFIG_PATH environment variable Package 'eigen3', required by 'movit', not found (1) ~$ pkg-config --modversion eigen3 Package eigen3 was not found in the pkg-config search path. Perhaps you should add the directory containing `eigen3.pc' to the PKG_CONFIG_PATH environment variable Package 'eigen3', required by 'virtual:world', not found (1) ~$ pacman -Ql $(pactree movit -u) | grep -F .pc | cut -d' ' -f2- | sort -u | grep eigen (1) ~$ pacman -Ql $(pactree movit -u) | grep -F .pc | cut -d' ' -f2- | sort -u | xargs grep eigen /usr/lib/pkgconfig/movit.pc:Requires: epoxy eigen3 ~$ ``` The last two commands show that none of the transitive dependencies of 'movit' include a file with the string "eigen" in the name, nor in their contents (except for the dependency line in movit.pc, of course). |
This task depends upon
Closed by Toolybird (Toolybird)
Sunday, 05 November 2023, 19:46 GMT
Reason for closing: Not a bug
Additional comments about closing: Please refer to the comments
Sunday, 05 November 2023, 19:46 GMT
Reason for closing: Not a bug
Additional comments about closing: Please refer to the comments
And namcap still doesn't quite grok this fact...thus causing inconsistency. Refer previous related rants e.g.
FS#78455$ namcap /var/cache/pacman/pkg/movit-1.7.1-1-x86_64.pkg.tar.zst | grep eigen3
movit W: Referenced pkg-config file 'eigen3.pc' is an uninstalled dependency (needed in files ['usr/lib/pkgconfig/movit.pc'])