No icons/ thumbnails in Gnome

I ended up seriously breaking some libraries and Gnome itself trying to update Firefox on my computer. Finally got Gnome working, however I do not have any icons. Icons either come up blank or use a default black square type icon. Not seeing any errors displayed. I did however try to take a screenshot as an example, and did get
Code:
Fatal error in PNG image file: Incompatible libpng version in application and library
I imagine a broken libpng and/or libjpeg is responsible, however I'm not sure how to fix these.

Pointers on how to fix will be well appreciated!
 
I want to try a reinstall of libpng by doing a make clean in /usr/ports/graphics/png, however I'm kind of iffy as last time I uninstalled it for an update and tried reinstalling, it failed I believe due to some dependency. However, as far as I can tell I don't see any dependencies for libpng in the ports updates file.

Any suggestions for my situation?
 
You can find broken ports due to missing/incompatible libraries by running pkg_libchk command from bsdadminscripts port. You need to build the broken ports with portupgrade.
 
Sweet, this sounds like exactly what I need. However, I installed bsdadminscripts but it doesn't look like I got pkg_libchk with it:

Code:
hardlinking: /usr/local/sbin/rcstart -> /usr/local/sbin/rcstatus
hardlinking: /usr/local/sbin/rcstart -> /usr/local/sbin/rcstop
hardlinking: /usr/local/sbin/rcstart -> /usr/local/sbin/rcrestart
hardlinking: /usr/local/sbin/rcstart -> /usr/local/sbin/rconestart
hardlinking: /usr/local/sbin/rcstart -> /usr/local/sbin/rconestatus
hardlinking: /usr/local/sbin/rcstart -> /usr/local/sbin/rconestop
hardlinking: /usr/local/sbin/rcstart -> /usr/local/sbin/rconerestart
hardlinking: /usr/local/sbin/portconfig -> /usr/local/sbin/portbuild
hardlinking: /usr/local/sbin/portconfig -> /usr/local/sbin/portclean
hardlinking: /usr/local/sbin/portconfig -> /usr/local/sbin/portfetch
hardlinking: /usr/local/sbin/portconfig -> /usr/local/sbin/portpackage
hardlinking: /usr/local/sbin/portconfig -> /usr/local/sbin/portconfig-recursive
hardlinking: /usr/local/sbin/portconfig -> /usr/local/sbin/portfetch-recursive
===>   Registering installation for bsdadminscripts-6.1.1
pit87# pkg_libchk
pkg_libchk: Command not found.
 
Woops nevermind, it was installed, found it in /usr/local/sbin/pkg_libchk. I'll see what I can do from here, thanks!
 
Ok, so here's the deal. pkg_libchk found missing .so files for libpng, libjpeg, libgcrypt, and libintl. I realize that portupgrade can be used to fix the actual ports, however I don't believe the actual ports are broken.

To fix the broken libraries, can I copy over the missing .so files from /usr/local/lib/compat/pkg/ to /usr/local/lib/? For instance, libchk said:
Code:
yelp-2.28.1_1: /usr/local/bin/yelp misses libpng.so.5

So will copying /usr/local/lib/compat/pkg/libpng.so.5 to /usr/local/lib solve this problem?
 
I want to try a reinstall of libpng ... however I'm kind of iffy as last time I uninstalled it for an update and tried reinstalling, it failed I believe due to some dependency.
You might have several problems on your system, not just one. Generally, dependency problems are something you do not want. cd to /usr/ports, then:
# make clean -C graphics/png
just cleans out the build folders for that port
# make missing -C graphics/png
Will give you list of missing depends. You can even try to build & install the port:
# make -C graphics/png
only builds the port, does not install it
# make install -C graphics/png
This will try to install, but will stop with the message "cannot install, please de-install the port before trying to re-instal it", or something to that effect. But this last command will start to install all missing depends BEFORE it gets to the fail point, thereby completing the missing.
You should really read through ports(7)().
will copying /usr/local/lib/compat/pkg/libpng.so.5 to /usr/local/lib solve this problem
Trying it wont break anything, if it does not work, just remember to undo whatever you did. You don't have to copy it you can soft-link it (ln -s). However, you seem to have overlooked this:
Incompatible libpng version
Just to be sure, look for all libpng.so*. Let's see if there is a libpng.so.6 or libpng.so.4 anywhere...
# find /usr -name "libpng.so*"
Also check what your environment has for path:
# echo $PATH
 
skeelol said:
Ok, so here's the deal. pkg_libchk found missing .so files for libpng, libjpeg, libgcrypt, and libintl.

Somebody has not been reading /usr/ports/UPDATING.

I realize that portupgrade can be used to fix the actual ports, however I don't believe the actual ports are broken.

To fix the broken libraries, can I copy over the missing .so files from /usr/local/lib/compat/pkg/ to /usr/local/lib/? For instance, libchk said:
Code:
yelp-2.28.1_1: /usr/local/bin/yelp misses libpng.so.5

So will copying /usr/local/lib/compat/pkg/libpng.so.5 to /usr/local/lib solve this problem?

No. Or rather, it will fix it temporarily in a way that will come back to haunt you later. Don't copy in obsolete libraries or symlink them unless it's an emergency. Instead, rebuild the programs that need those old libraries so that they use the new ones. When that is needed, the procedure needed is shown in /usr/ports/UPDATING. From above, rebuild yelp, but it's not going to be just that one.
 
Back
Top