Hello all,
I am trying to upgrade libpng_1.6.39 in a Debian Bookworm–based image.
My goal is to get APNG support and a few newer APIs, so I patched libpng
1.6.45 with APNG support and want it to replace the default 1.6.39.
What I did:
* Added a recipe libpng1.6_1.6.45 (with APNG patch).
* All recipes that need it have DEPENDS on libpng1.6_1.6.45 and also
DEBIAN_DEPENDS/DEBIAN_BUILD_DEPENDS set to libpng (>= 1.6.45).
* Pinned my local Isar repo for libpng* packages in apt conf.
* Set PREFERRED_VERSION_libpng1.6 = "1.6.45".
Results:
* On amd64 builds everything works fine: the new libpng is built, packaged, and
installed.
* On arm64 builds (e.g. rpi5), libpng 1.6.45 is also built and packaged fine,
but system build fails when installing dependencies.
The error always looks like this (excerpt):
The following packages have unmet dependencies:
libgdk-pixbuf-2.0-0 : Depends: libpng16-16 (>= 1.6.2-1) but it is not installable
Or, in the longer resolver log:
sbuild-build-depends-main-dummy:arm64 : Depends: libpng-dev:arm64 (>= 1.6.45) but it is not going to be installed
...
libgdk-pixbuf-2.0-0 : Depends: libpng16-16 (>= 1.6.2-1) but it is not installable
It looks like cross builds handle dependencies differently, and the resolver
doesn’t see my locally built libpng16-16 as satisfiable on arm64 (while amd64 works fine).
I verified that the arm64 package itself is fine — when I install it manually on an
rpi5 Bookworm image, it installs and works correctly — so the issue seems to be
somewhere in Isar’s dependency resolution.
Question:
Has anyone successfully replaced a system library like libpng with a newer version on
cross builds in Isar? Is there something extra I need to do so that the resolver picks
up my libpng16-16 (1.6.45) package instead of failing with “not installable”?
Any hints would be greatly appreciated.
Best regards,
Jani