Hello, I am sending this message to each maintainer of a package that build-depends on either imlib or gdk-imlib. I have just uploaded imlib revision 1.9.14-7 in which the libraries have switched from using libpng2 to using libpng3.
This change introduces a change in the libraries' ABI and consequently the library SOVERSION numbers were incremented to 2. Upstream has not yet incremented the SOVERSION, but they have indicated to me that they will do so in the next release. The change in SOVERSION means that the library package names have changed to imlib2 and gdk-imlib2. These will be flagged as new packages and dealt with by hand, so it may be some time before the new packages are available from the archive. With this upload, the imlib1 and gdk-imlib1 packages become unbuildable. I expect that all code that uses imlib can simply recompile with the newer version. If this proves not to be the case, let me know and I'll reintroduce imlib1 and/or gdk-imlib1 compiled with libpng2. If your package does not build with libpng directly or indirectly (e.g. through a third library), then the rest of this message will not apply to you. Any package that requires both imlib and libpng to build will likely become unbuildable, since imlib-dev depends on libpng3-dev and conflicts with libpng2-dev. Likely all you need to do is update your build-depends lines and recompile. A package that requires both gdk-imlib and libpng, on the other hand may build but fail at runtime, if built with libpng2. This is because gdk-imlib employs libpng3 via a dlopened() module. Consequently, gdk-imlib-dev does not depend on nor conflict with any libpng -dev package. As with imlib, you will need to inspect your build-depends lines and change libpng*-dev to libpng3-dev as necessary. If your package is a library that uses imlib, this change to imlib implies a change to the ABI of your library also. It is therefore recommended that your library SOVERSION should change. Should this prove infeasible, Junichi Uekawa has an alternate suggestion: http://www.netfort.gr.jp/~dancer/column/libpkg-guide/libpkg-guide.html#BINARYCOMPAT If you accidentally link an application with imlib and libpng2, the application may behave in unpredictible ways, possibly crashing, possibly emitting warnings similar to the following: libpng warning: Application was compiled with png.h from libpng-1.2.1 libpng warning: Application is running with png.c from libpng-1.0.12 libpng error: Incompatible libpng version in application and library I hope this change does not cause too many headaches for you. Please let me know if you have any concerns, -Steve