On Mon, 15 Oct 2012, Udo Grabowski (IMK) wrote:
Any suggestions on what to install to get this working? :)
This is a annoying problem with nearly everything that's linked
to png or cairo. I usually run with
env LD_PRELOAD=/usr/lib/libpng12.so convert
but I don't know if libpng12 was intended (I suspect not), and
if not, if the called functions really do the same as the
libpng14 ones (save the ones not in libpng12). At least the
images produced look ok.
The libpng 1.4 structures are not identical to 1.2. If it seems to be
working it is due to pleasant accident.
This was a build error present also on some Linux systems, and
should be cleaned up, since a lot of programs and libraries
using or linking to libpng-dependent stuff are affected and
break without some workaround. I don't know if it is possible
to build some wrapper libpng as a workaround which can solve
this until this mess fixed, but I don't have any clue how to
trick out the version check in such a library. Maybe someone
else has an idea.
The problem is that library dependencies are causing two versions of
libpng to be pulled into the same program:
% ldd `which convert`|grep png
libpng14.so.14 => /usr/lib/libpng14.so.14
libpng12.so.0 => /usr/lib/libpng12.so.0
Unless ELF symbol versioning is used in the library, then lazy symbol
loading might cause functions from either library to be used,
depending on the sequence of events.
Unless the code using libpng12 can be updated to use libpng14 then the
simplest solution is to re-build ImageMagick so that it uses libpng
1.2.
Libpng 1.5 has improved its interface so that the applications can no
longer access libpng structure members directly. This is a huge
improvement but requires that all of the using code be updated to use
the new API. Libpng 1.4 offers the new API in a transitional mode to
allow applications time to update.
Bob
--
Bob Friesenhahn
[email protected], http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer, http://www.GraphicsMagick.org/
_______________________________________________
OpenIndiana-discuss mailing list
[email protected]
http://openindiana.org/mailman/listinfo/openindiana-discuss