Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines
Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.
REPEAT: Do NOT report bugs for outdated packages!
https://wiki.archlinux.org/title/Bug_reporting_guidelines
Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.
REPEAT: Do NOT report bugs for outdated packages!
FS#73072 - [libjxl] Broken .so dependencies in default install (Packaging Issue)
Attached to Project:
Community Packages
Opened by J. S. (Vaporeon) - Saturday, 18 December 2021, 00:46 GMT
Last edited by Daniel Bermond (Bermond) - Saturday, 25 December 2021, 12:40 GMT
Opened by J. S. (Vaporeon) - Saturday, 18 December 2021, 00:46 GMT
Last edited by Daniel Bermond (Bermond) - Saturday, 25 December 2021, 12:40 GMT
|
DetailsDescription:
The provided cli binaries are broken by default due to hard dependencies being listed as optional. I would not expect a package to install broken binaries on the system. This creates an environment where although the binaries exist there is no guarantee that they will actually work. As an example, if I wanted to create a package that depended on the cli tools contained in the libjxl package, I would have to depend on libjxl _and_ all of the packages libjxl optionally depends on in order for them to work. This breaks what you would expect from Arch Linux package management. Hard dependencies should always be listed as explicit dependencies. If the intention is to cut down on dependency bloat then the cli tools should instead be moved to a split package that in turn hard depends on whatever is needed for the tools to run. Package version: 0.6.1-1 Steps to reproduce: Install "libjxl", then run "cjxl". If all of the "optional" dependencies are not installed, you will get an error like the following: "cjxl: error while loading shared libraries: libtcmalloc_minimal.so.4: cannot open shared object file: No such file or directory" |
This task depends upon
Closed by Daniel Bermond (Bermond)
Saturday, 25 December 2021, 12:40 GMT
Reason for closing: Implemented
Additional comments about closing: libjxl 0.6.1-2
Saturday, 25 December 2021, 12:40 GMT
Reason for closing: Implemented
Additional comments about closing: libjxl 0.6.1-2
If you take a look at the [arch-dev-public] mailing list, there is a discussion[1] ongoing right now that considered the case of optional dependencies for binaries. A packager called Xyne raised this point when discussing about the new library dependency that is being proposed for implementation in pacman/makepkg. Another packager (and pacman developer) named Allan is against using optional dependency for binaries. So, as you can see, this is a point of view that can be genuinely discussed. And as far as I know, there is no official word about this on our Wiki. In the specific case of this task/ticket, optional dependencies for binaries in a package that is mainly a library (as the name suggests), seems fine for me at a first glance, allowing the library to become much lighter in terms of dependencies. Of course, your point is also totally valid.
[1] https://lists.archlinux.org/pipermail/arch-dev-public/2021-December/030587.html