Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 327175 - gnome-base/gnome-panel-2.28.0 fails to emerge after updating media-libs/libpng and deleting the old libpng12.so
Summary: gnome-base/gnome-panel-2.28.0 fails to emerge after updating media-libs/libpn...
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-07-06 17:31 UTC by Christian Asseburg
Modified: 2010-07-11 15:41 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christian Asseburg 2010-07-06 17:31:24 UTC
I updated the media-libs/libpng to 1.4.3 when it became stable on x86, then I deleted the previous libpng12.so and ran revdep-rebuild to fix the dependencies. gnome-panel is identified as broken, but it fails to rebuild. The relevant error message from the build.log is as follows.

/bin/sh ../libtool --tag=CC   --mode=link i686-pc-linux-gnu-gcc -I.. '-DDEBUG_TRAP=__asm__("int $3")' -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -I/usr/include/gtk-2.0 -
I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/in
clude/freetype2 -I/usr/include/libpng14   -I/usr/include/libglade-2.0 -I/usr/include/gtk-2.0 -I/usr/include/libxml2 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include
/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng14   -DAVAHI_INTERFACES_DI
R=\"/usr/share/avahi/interfaces/\" -O2 -march=pentium4 -pipe -fstack-protector -std=c99 -Wall -W -Wextra -pedantic -pipe -Wformat -Wold-style-definition -Wdeclaration-after-stateme
nt -Wfloat-equal -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-noreturn -Wshadow -Wendif-labels -Wpointer-arith -Wbad-function-cast -W
cast-qual -Wcast-align -Wwrite-strings -Winline  -Wl,-O1 -o avahi-discover-standalone avahi_discover_standalone-main.o  ../avahi-common/libavahi-common.la ../avahi-glib/libavahi-gl
ib.la ../avahi-core/libavahi-core.la -lglib-2.0   -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -l
fontconfig -lgobject-2.0 -lgmodule-2.0 -lglib-2.0   -lglade-2.0 -lgtk-x11-2.0 -lxml2 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpa
ngo-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lglib-2.0   
libtool: link: cannot find the library `/usr/lib/libpng12.la' or unhandled argument `/usr/lib/libpng12.la'



Reproducible: Always

Steps to Reproduce:
1. (assuming you have just done the libpng upgrade and deleted libpng12.so)
2. revdep-rebuild
3.

Actual Results:  
emerge of gnome-panel fails.

Expected Results:  
emerge of gnome-panel should work.

As discussed on the Gentoo forum at freenode, the problem is because somehow the gnome-panel build process "pulls in" the dependency on libpng12.so from the existing gnome-panel installation.
A successful workaround for this is to run first
emerge -C --deselect=n gnome-panel
and then run the revdep-rebuild again, then there is no previous gnome-panel installation and the build process picks up the correct dependency.
Comment 1 Rafał Mużyło 2010-07-06 17:46:53 UTC
Something looks wrong here - that message come from an la file,
but you claim you have run revdep-rebuild. revdep-rebuild
should have detected that.
Comment 2 Christian Asseburg 2010-07-06 17:48:39 UTC
Yes, exactly. There's something wrong in this ebuild. The lafilefixer cannot fix it, I've tried. Almost all the other ebuilds were fixed by revdep-rebuild, except this one and app-text/evince.
Comment 3 Rafał Mużyło 2010-07-06 21:34:12 UTC
For some reason, I doubt lafilefixer actually completed its run.

Unless what you've pasted was a result of high parallel make,
I don't see libpng12 explicitly listed in the link command,
so it almost certainly came from an la file.

grep for libpng12.la among la files in /usr/lib.
Comment 4 Andrew Brouwers 2010-07-07 02:47:29 UTC
Definitely from an un-finished upgrade to libpng.  Did you use the script provided in the post-install message while upgrading libpng?  It corrects the .la file issue.
Comment 5 Samuli Suominen (RETIRED) gentoo-dev 2010-07-07 05:21:54 UTC
what Andrew said.
Comment 6 Christian Asseburg 2010-07-07 07:17:29 UTC
Definitely nothing to do with lafilefixer or an unfinished emerge of anything else. Like I said, the problem is gnome-panel. I have run both lafilefixer and revdep-rebuild several times, they could not fix this problem. The problem was, however, fixed by unmerging gnome-panel and then emerging it again. Can someone reproduce this bug, as follows?

1. Install libpng12.so and not the newest libpng
2. Install gnome-panel
3. Upgrade libpng to libpng14.so
4. Delete libpng12.so
5. Run revdep-rebuild to fix everything
6. Run revdep-rebuild again to fix those things that didn't get fixed
7. Run revdep-rebuild again

In 5,6,7, gnome-panel is identified, and it always fails to emerge. If you keep doing revdep-rebuild, gnome-panel is always found and fails emerging.

It works if you do
8. emerge -C gnome-panel && emerge gnome-panel

Please reconsider validity of this bug. Maybe it's not a priority bug because I am providing a workaround but it is clearly an annoying bug. As an inexperienced gnome user, I thought revdep-rebuild would always fix everything, but in this case it is a problem with the gnome-panel.
Comment 7 Christian Asseburg 2010-07-07 07:18:19 UTC
Sorry, forgot to mention lafilefixer, add it in the above list at 5.
Comment 8 Samuli Suominen (RETIRED) gentoo-dev 2010-07-07 19:53:28 UTC
Just ignore everything except Comment #4 from this bug and read the postinst message from libpng like Andrew pointed out.
Comment 9 Christian Asseburg 2010-07-07 20:57:32 UTC
I did exactly what it says in the postinst message from libpng. (Copied for information below this message.)

The gnome-panel build fails emerging, even when following all the steps indicated in the libpng message and running revdep-rebuild multiple times. If gnome-panel was installed while libpng12.so was present and you follow all the steps as described, it fails to emerge. The current build of gnome-panel has to be unmerged before it will install again successfully, after the upgrade to libpng14.

I will stop moaning now, but for future reference, I think it is good keep this bug record open, to point out to other users that they may need to unmerge gnome-panel if they want to make it use the new libpng.

The postinst message from libnpg:

WARN: postinst
Old versions of installed libraries were detected on your system.
In order to avoid breaking packages that depend on these old libs,
the libraries are not being removed.  You need to run revdep-rebuild
in order to remove these old dependencies.  If you do not have this
helper program, simply emerge the 'gentoolkit' package.
 
  # revdep-rebuild --library libpng12.so.0
 
Once you've finished running revdep-rebuild, it should be safe to
delete the old libraries.  Here is a copy & paste for the lazy:
  # rm '/usr/lib/libpng12.so.0'

Comment 10 Samuli Suominen (RETIRED) gentoo-dev 2010-07-08 00:06:23 UTC
(In reply to comment #9)
> The postinst message from libnpg:
> 
> WARN: postinst
> Old versions of installed libraries were detected on your system.
> In order to avoid breaking packages that depend on these old libs,
> the libraries are not being removed.  You need to run revdep-rebuild
> in order to remove these old dependencies.  If you do not have this
> helper program, simply emerge the 'gentoolkit' package.
> 
>   # revdep-rebuild --library libpng12.so.0
> 
> Once you've finished running revdep-rebuild, it should be safe to
> delete the old libraries.  Here is a copy & paste for the lazy:
>   # rm '/usr/lib/libpng12.so.0'

This is not the complete message from the upgrade, it also tells you to run "/usr/sbin/libpng-1.4.x-update.sh" which will fix the problem in Comment #0:

libtool: link: cannot find the library `/usr/lib/libpng12.la' or unhandled
argument `/usr/lib/libpng12.la'

No emerge -C was required, only reading the postinst message and running the update script.

Anyway, I'm glad to hear you got it finally solved. Better run the script now or other pkgs might fail the same way.
Comment 11 Christian Asseburg 2010-07-08 06:30:23 UTC
Dear experts - I had run that command too, after people in the Gentoo forum had told me about it. (Don't ask me why it did not appear in the message I got from libpng updater...)
The command does not fix this problem I am describing. There is something wrong in the gnome-panel ebuild and, even after running that command and the revdep-rebuild, it keeps pulling in the dependency on libpng12 from the existing gnome-panel installation.
The workaround is to unemerge gnome-panel and then emerge it again.
I leave it up to you to reopen and investigate this bug. Has anybody actually tried reproducing this, or did you just close the bug regardless?
Comment 12 C D 2010-07-11 15:41:15 UTC
(In reply to comment #11)
> Dear experts - I had run that command too, after people in the Gentoo forum had
> told me about it. (Don't ask me why it did not appear in the message I got from
> libpng updater...)
> The command does not fix this problem I am describing. There is something wrong
> in the gnome-panel ebuild and, even after running that command and the
> revdep-rebuild, it keeps pulling in the dependency on libpng12 from the
> existing gnome-panel installation.
> The workaround is to unemerge gnome-panel and then emerge it again.
> I leave it up to you to reopen and investigate this bug. Has anybody actually
> tried reproducing this, or did you just close the bug regardless?

I have been having the same problem with libpng.
But, I solved it by using the 'libpng-1.4.x-update.sh' and the 'lafilefixer --justfixit'.
libpng is my worst enemy with Gentoo builds.