Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 1730

Summary: libpng-1.0.12 and libpng-1.2.1 conflict with abiword
Product: Gentoo Linux Reporter: Pierre-Henri Jondot <Pierre-Henri.Jondot>
Component: New packagesAssignee: Spider (RETIRED) <spider>
Status: RESOLVED FIXED    
Severity: normal    
Priority: High    
Version: 1.1a   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Pierre-Henri Jondot 2002-04-13 11:33:23 UTC
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 !
Comment 1 Garry Roseman 2002-04-13 16:55:05 UTC
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. 
Comment 2 Seemant Kulleen (RETIRED) gentoo-dev 2002-04-14 16:01:27 UTC
What happens if you unmerge the old libpng, remerge the new one, and then
recompile abiword and/or evo?
Comment 3 Pierre-Henri Jondot 2002-04-15 02:37:41 UTC
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...
Comment 4 Pierre-Henri Jondot 2002-04-15 07:28:29 UTC
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 !
Comment 5 Spider (RETIRED) gentoo-dev 2002-04-15 13:29:57 UTC
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.



Comment 6 Pierre-Henri Jondot 2002-04-15 14:51:45 UTC
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. 
Comment 7 Pierre-Henri Jondot 2002-04-15 15:35:27 UTC
Ahem,

the binary built tonight (with the two libpng's installed but with gdk-pixbuf,
imlib updated) works fine...

So that was it...
Comment 8 Spider (RETIRED) gentoo-dev 2002-04-15 20:04:19 UTC
Good to that this was the issue.