The libjxl 0.12.0-1 update bumped its soname from libjxl.so.0.11 to libjxl.so.0.12, which silently broke installed builds of this package: import dlib now fails with "ImportError: libjxl.so.0.11: cannot open shared object file". For howdy users this means face auth just stops working with no visible error.
Suggestion: switch the linked C libraries to soname dependencies so this class of breakage becomes a blocked upgrade instead of a silent runtime failure:
depends=('cblas' 'lapack' 'libx11'
'libgif.so' 'libjpeg.so' 'libjxl.so' 'libjxl_threads.so'
'libpng16.so' 'libwebp.so')
Per PKGBUILD(5), makepkg resolves each .so entry against the built binaries at package time (e.g. libjxl.so becomes libjxl.so=0.11-64), and libjxl/giflib/libpng/libjpeg-turbo/libwebp all publish matching soname provides. A future soname bump then fails at upgrade time with "installing libjxl (0.13.x) breaks dependency 'libjxl.so=0.11-64' required by python-dlib", prompting a rebuild, instead of breaking quietly. All of the listed sonames are direct NEEDED entries of _dlib_pybind11.so (readelf -d). cblas/lapack/libx11 don't publish soname provides, so they stay in package-name form.
Side note: libwebp.so.7 is directly linked but libwebp is currently missing from depends entirely — it's only pulled in transitively today, so it should be added regardless.
Pinned Comments
petronny commented on 2024-03-30 13:11 (UTC) (edited on 2024-03-30 13:13 (UTC) by petronny)
Set
_build_cpuand_build_cudato 1 and 0 to build or not build the CPU or CUDA version.If
options=(!lto)has no effect, please check if it's still enabled in/etc/makepkg.conf.petronny commented on 2023-11-28 04:57 (UTC)
Prebuilt binaries of this package can be found in arch4edu.