Polynomial-C wrote:Now tho the -lpng14 problem. I ran the following command to get rid of those:
Code: Select all
emerge -1av $(find /usr -name "*.la" -exec grep -H png14 {} \; | cut -d : -f 1 | xargs qfile -Cq | sort | uniq)
(qfile belongs to app-portage/portage-utils package so make sure to have it installed before running this command).
Now simply run the revdep-rebuild command again and all should be settled. If no more compile errors occur you may remove the old
/usr/lib64/libpng14.so.14 from your system.
First - thanks for posting this and the tip!
Second, - I did my normal every other week upgrade world process. This came back with approximately 50 packages to upgrade. The resulting 'emerge @preserved-rebuild' directive came back with 125 packages to rebuild. I used 'emerge --keep-going @preserved-rebuild'.
A number of packages still failed with '-libpng14' failures.
When I run the command you suggest, the following packages on my system are selected:
Code: Select all
rebuild R ] gnome-base/libgnomecanvas-2.30.3 USE="-doc -glade -test" 0 kB
[ebuild R ] dev-libs/guiloader-c++-2.21.0 USE="nls" LINGUAS="-ru" 0 kB
[ebuild R ] app-pda/gnome-pilot-2.32.1 USE="eds -debug" 0 kB
[ebuild R ] dev-cpp/libsexymm-0.1.9 USE="-debug -doc" 0 kB
[ebuild R ] dev-cpp/pangomm-2.28.2 USE="-doc" 0 kB
[ebuild R ] dev-libs/gdl-3.0.2 USE="introspection -doc" 0 kB
[ebuild R ] dev-python/pygoocanvas-0.14.1 USE="-doc -examples" 0 kB
[ebuild R ] dev-python/pygtksourceview-2.10.1 USE="-debug -doc" 0 kB
[ebuild R ] dev-vcs/giggle-0.5 USE="eds -debug" 0 kB
[ebuild R ] games-board/ggz-gtk-client-0.0.14.1 USE="-debug" 0 kB
[ebuild R ] gnome-base/libgnomekbd-2.32.0 USE="-test" 0 kB
[ebuild R ] gnome-extra/bug-buddy-2.32.0-r2 USE="eds" 0 kB
[ebuild R ] gnome-extra/gnome-media-2.32.0-r1 USE="pulseaudio" 0 kB
[ebuild R ] gnome-extra/gtkhtml-4.0.2 0 kB
[ebuild NS ] x11-libs/goocanvas-2.0.0 [1.0.0] USE="-doc -examples" 0 kB
[ebuild R ] x11-libs/gtksourceview-3.0.5-r1 USE="introspection -doc -glade -test" 0 kB
[ebuild R ] gnome-base/libgnomeui-2.24.5 USE="-doc -test" 0 kB
[ebuild R ] x11-libs/gtkglext-1.2.0 USE="-debug" 0 kB
[ebuild R ] dev-cpp/libgnomecanvasmm-2.26.0 USE="-debug -doc -examples" 0 kB
[ebuild R ] dev-util/crow-designer-2.21.0 USE="nls" LINGUAS="-ru" 0 kB
[ebuild R ] dev-cpp/gtkglextmm-1.2.0-r1 USE="-debug -doc" 0 kB
[ebuild R ] net-print/gnome-cups-manager-0.33-r2 USE="samba" 0 kB
When I tried to compile several of these individually, the individual packages I tried still failed with -lpng14 errors. Running this never got past the 'dev-libs/guiloader-c++-2.21.0' package.
However, if I may be so bold, perhaps a small modification {add the '--keep-going' option} to your tip is in order:
Code: Select all
emerge -1av --keep-going $(find /usr -name "*.la" -exec grep -H png14 {} \; | cut -d : -f 1 | xargs qfile -Cq | sort | uniq)
Depending on installed packages and individual existing installation issues there is, I believe, potential for circular dependency or ordering issues which will make any given packages installation success problematic.
What I did was take the above generated list and started attempting to install each one individually, the ones earlier in the list which failed would then be able to succeed.
More specificially, once I manually completed the libraries dealing with memory management ('mm' and 'canvas') packages, then packages like 'guiloader-c++' would complete whereas simply running the recommended order of packages would always fail. Just guessing, but perhaps pangomm and sexymm in particular?
Because 'emerge' selects random order when the correct emerge order can't be determined {due to conflicting/circular dependency issues}, different people will experience differing degrees of success. I will also note that this especially seems to be a problem with the 'gnome' universe of packages. {le sigh} So the above is not a surprise to me whatsoever.
In other words, because emerge order can't always be correctly determined, Polynomial-C's tip should probably be modified as suggested and don't be surprised if you need to run re-iteratively 1 or 2 additional times.
edit
I ended up executing:
Code: Select all
emerge -1q "<x11-libs/gtksourceview-3" dev-python/pygtksourceview
emerge -1av --keep-going $(find /usr -name "*.la" -exec grep -H png14 {} \; | cut -d : -f 1 | xargs qfile -Cq | sort | uniq)
emerge -1av --keep-going $(find /usr -name "*.la" -exec grep -H png14 {} \; | cut -d : -f 1 | xargs qfile -Cq | sort | uniq)
emerge -1av --keep-going $(find /usr -name "*.la" -exec grep -H png14 {} \; | cut -d : -f 1 | xargs qfile -Cq | sort | uniq)
I still have one package left with -lpng14' failure:
Code: Select all
>>> Failed to emerge dev-python/pygoocanvas-0.14.1
libtool: link: x86_64-pc-linux-gnu-gcc -shared .libs/goocanvasmodule_la-goocanvasmodule.o .libs/goocanvasmodule_la-goocanvas.o /usr/lib64/libgoocanvas.so -L/usr/lib64 -lresolv -lpixman-1 /usr/lib64/libdirectfb.so -lpng14 /usr/lib64/libXrender.so -lexpat -lEGL /usr/lib64/libfusion.so /usr/lib64/libdirect.so -lX11 -lxcb /usr/lib64/libXau.so /usr/lib64/libXdmcp.so -ldl -lz -lGL -lm -lgtk-x11-2.0 -lgdk-x11-2.0 /usr/lib64/libatk-1.0.so -lpthread -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -lcairo -lpython2.7 -pthread -march=opteron -Wl,-O1 -Wl,--as-needed -Wl,-O1 -pthread -pthread -Wl,-soname -Wl,goocanvasmodule.so -Wl,-version-script -Wl,.libs/goocanvasmodule.ver -o .libs/goocanvasmodule.so
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lpng14
Not being a programmer, I'm still trying different search strategies to stomp on this one. Suggestions welcome.
People whom think M$ is mediocre, don't know the half of it.