Through the emerging of several packages, I've had both libpng-1.0.12 and libpng-1.2.1 installed. Abiword doesn't like it and stops with the error message : libpng warning: Application was compiled with png.h from libpng-1.0.12 libpng warning: Application is running with png.c from libpng-1.2.1 libpng error: Incompatible libpng version in application and library gdk_imlib ERROR: Cannot load image: /usr/share/AbiSuite/icons/abiword_48.png All fallbacks failed. Warning loading PNG: Application was compiled with png.h from libpng-1.0.12 Warning loading PNG: Application is running with png.c from libpng-1.2.1 Fatal error loading PNG: Incompatible libpng version in application and library libpng error: Incompatible libpng version in application and library ** WARNING **: Failed to begin progressive load **** (1) Assert **** **** (1) m_image at gr_UnixGnomeImage.cpp:211 **** **** (1) Continue ? (y/n) [y] : ...................................................... (N.B. : when I answer yes to all the questions, abiword does work, some pixmaps are missing yet...) ldd /usr/bin/AbiWord_d says, about libpng : libpng.so.3 => /usr/lib/libpng.so.3 (0x4025e000) (I guess it corresponds to libpng-1.2.1, and that the libpng.so.2 corresponds to libpng-1.0.12) I did the following test (dirty...) : ln -sf /usr/lib/libpng.so.2 /usr/lib/libpng.3 to force abiword to use the old version of libpng, and it answers : 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 (it does not seem very clear which library was used in the compilation !) but, nevertheless, it works fine !
Gnome Evolution 1.0.3 makes similar complaints about being compiled with one version of libpng and running with another; evolution then segfaults. Recompiling evolution does not allow it to run with the new slotted libpng. Galeon 1.2.0 also stopped working but will run after a recompile, although with copious warnings about being compiled with one png version and finding itself running with another and being unable to load images.
What happens if you unmerge the old libpng, remerge the new one, and then recompile abiword and/or evo?
removing old library, remerging new one and recompiling abiword works. But I guess I'll have to recompile much... (Don't know about evolution but I suppose the same applies...) Some binary only packages will be broken this way : opera for instance (well it's still possible to force its starting with a libpng.so.3 -> libpng.so.2 link, but the fact is it can't use the normal buttons for example and comes back to old ones. And what happens when trying to open .png images on the net ?) I'll try the scripts libng-update... of which spider is speaking in a recent message to gentoo-user and when my libraries and binaries are (most of them anyway) linked against new libraries, I'll reinstall both of them to see if it is only a compilation problem or a linking problem...
Here are the results of my tests : Having unmerged libpng-1.0.12 and remerged libpng-1.2.1, compiled then abiword, then merged again libpng-1.0 and libpng-1.2, abiword still works fine. So it is a building-related problem... I would presume that a header file from the old library might be present and not replaced with the new one but, having compared the two CONTENTS, it seems it is not the case, as the only files that are not replaced by the old library are the shared .so.2.*** library and the documentation ! So it seems that the presence of the old libpng.so.2 is enough to confuse the building process and produce broken binaries. Can't think of a decent workaround at this point !
hmm, are you sure this is really abiword? > gdk_imlib ERROR: Cannot load image: /usr/share/AbiSuite/icons/abiword_48.png that line means it is gdk_pixbuf that has the problem, and a gdk-pixbuf recompile should fix it (there is a newer version with updated libpng dependencies in it as well) If abiword then uses both gdk (imlib?) and its own libpng linking then that would explain the confusion in abiwords case, but this shouldn't be it.
I am not sure of anything, because I did indeed re-emerge gdk-pixbuf, imlib, (along with avifile and gnome-libs), but if my memory is correct, I did build a working abiword binary before updating those libs... So with abiword linked with the new library, imlib and gdk-pixbuf with the old, nevertheless it seemed the binary worked. To be sure yet, my computer having nothing better to do this night, I'll emerge abiword with the two libraries libpng installed and report the results of my tests.
Ahem, the binary built tonight (with the two libpng's installed but with gdk-pixbuf, imlib updated) works fine... So that was it...
Good to that this was the issue.