problems with libpng after using yum -- Centos 5.5 64bit

BooDaddy

Verified User
Joined
Feb 20, 2009
Messages
46
I am running Centos 5.5 X86_64 and recently after updating my server, I am having problem loading gnome. When the server boots, and begins to bring up the login screen theme, I get an error that states "Could not recognize the image file format for /usr/share/gdm/themes/TreeFlower/background.png"

I am able to login after clicking ok to this message, and using the "simplistic" login manager. But when the users desktop loads, there are several errors pertaining to "unsupported image format" and none of the icons are displaying correctly. They are just the default "curvy page" icon for an unassociated file type. Some of the icons do not even show up at all.

Another thing I noticed wierd is that when I try to view a png, nothing happens. When I try to open one using gimp, I get an "unsupported file type" error.

When I tried to click on the "add/remove software" button I get prompted for root pass, but nothing happens. So, I tried launching pirut from CLI, and I received the following error:
[root@server ~]# pirut
Traceback (most recent call last):
File "/usr/sbin/pirut", line 41, in ?
from pirut import *
File "/usr/lib/python2.4/site-packages/pirut/__init__.py", line 38, in ?
import GroupSelector
File "/usr/lib/python2.4/site-packages/pirut/GroupSelector.py", line 38, in ?
from PackageList import listEntryString
File "/usr/lib/python2.4/site-packages/pirut/PackageList.py", line 50, in ?
removepb = gtk.gdk.pixbuf_new_from_file(PIRUTPIX + "remove.png")
gobject.GError: Couldn't recognize the image file format for file '/usr/share/pirut/pixmaps/remove.png'

Could anyone give me some suggestions as to how to fix this? I am thinking its due to how DirectAdmin and Centos installs libpng. possibly path issues, but I cant get it solved.
 
Why are you using Gnome on a DirectAdmin powered webserver?

I'm going to presume the problem is because of incompatibilities between the libraries the server uses and the libraries gnome uses, but I think you've already presumed that.

Personally I consider xwindows, gnome, kde (and all other desktop windows systems) a security risk on a webserver, and I'd never install it.

If there's anyone else here who uses gnome on a DirectAdmin server maybe you'll get a better answer.

Or you can try asking on a gnome forum about specific library versions.

Jeff
 
I am using Gnome on a Directadmin powered server simply because I want to :P I think you have ridiculed me on using gnome before Jeff :)

Seriously though, this server does alot of other things beside just host sites. I use gnome quite a bit actually. Besides, gnome isn't necessarily running the entire time the server is up. Besides, some of the Jr. Admins are windows server guys. so having a GUI seems to make Linux more approachable for them. Shoot, I think its even installed by default on our enterprise boxes running RHEL5.


Anyways, I am thinking that its a problem with where Directadmin and Centos Repos installs the libraries too. For example, here is a listing of all file locations for libpng:
/usr/bin/libpng-config
/usr/bin/libpng12-config
/usr/include/libpng12
/usr/include/libpng12/png.h
/usr/include/libpng12/pngconf.h
/usr/lib/libpng.so.3
/usr/lib/libpng.so.3.10.0
/usr/lib/libpng12.so.0
/usr/lib/libpng12.so.0.10.0
/usr/lib/vmware/lib/libpng12.so.0
/usr/lib/vmware/lib/libpng12.so.0/libpng12.so.0
/usr/lib64/libpng.a
/usr/lib64/libpng.so
/usr/lib64/libpng.so.3
/usr/lib64/libpng.so.3.10.0
/usr/lib64/libpng12.a
/usr/lib64/libpng12.so
/usr/lib64/libpng12.so.0
/usr/lib64/libpng12.so.0.10.0
/usr/lib64/gthumb/modules/libpngexporter.la
/usr/lib64/gthumb/modules/libpngexporter.so
/usr/lib64/pkgconfig/libpng.pc
/usr/lib64/pkgconfig/libpng12.pc
/usr/local/bin/libpng-config
/usr/local/bin/libpng12-config
/usr/local/directadmin/custombuild/libpng-1.2.44.tar.gz
/usr/local/include/libpng
/usr/local/include/libpng12
/usr/local/include/libpng/libpng12
/usr/local/include/libpng12/png.h
/usr/local/include/libpng12/pngconf.h
/usr/local/lib/libpng.a
/usr/local/lib/libpng.so
/usr/local/lib/libpng.so.3
/usr/local/lib/libpng.so.3.1.2.44
/usr/local/lib/libpng12.a
/usr/local/lib/libpng12.so
/usr/local/lib/libpng12.so.0
/usr/local/lib/libpng12.so.0.1.2.44
/usr/local/lib/pkgconfig/libpng.pc
/usr/local/lib/pkgconfig/libpng12.pc
/usr/local/man/man3/libpng.3
/usr/local/man/man3/libpngpf.3
/usr/share/doc/libpng-1.2.10
/usr/share/doc/libpng-1.2.10/CHANGES
/usr/share/doc/libpng-1.2.10/LICENSE
/usr/share/doc/libpng-1.2.10/README
/usr/share/doc/libpng-1.2.10/TODO
/usr/share/doc/libpng-1.2.10/example.c
/usr/share/doc/libpng-1.2.10/libpng.txt
/usr/share/man/man3/libpng.3.gz
/usr/share/man/man3/libpngpf.3.gz
 
I am using Gnome on a Directadmin powered server simply because I want to :P I think you have ridiculed me on using gnome before Jeff :)
I'm sorry if you think I'm ridiculing you. I'm not. I'm explaining that I believe running Gnome (and X) on a webserver creates too many opportunities for attacks on the server.
Seriously though, this server does alot of other things beside just host sites.
I'd say that doing so creates too many opportunities for attacks on the server as well, but this time the other way around; a webserver is extremely open to the Internet by design. There are certainly other apps you can run on a webserver, but I'd be careful with what I run as the server by default is much more open to the 'net than servers not doing webhosting.
I use gnome quite a bit actually. Besides, gnome isn't necessarily running the entire time the server is up. Besides, some of the Jr. Admins are windows server guys. so having a GUI seems to make Linux more approachable for them.
While in and of itself this is probably acceptable, especially with very restrictive firewalling, it's not something that most of us would want to support. Good luck. DirectAdmin installation instructions point out that DirectAdmin should be installed on a basic Linux installation with almost nothing else installed.
Shoot, I think its even installed by default on our enterprise boxes running RHEL5.
My recollection is that RHEL (and CentOS) by default go to a graphic installation if you've got a mouse plugged in when you install it. I don't recall if the installation without the mouse automatically installs X, but I always uncheck everything to get a basic install.

I'm guessing (educated guess, by understaning the Red Hat business model) that Red Hat, in an attemt to be in direct competition with Microsoft, creates a similar experience. And don't forget that not all Red Hat servers are on the 'net. In fact, I'd be surprised if more than 10% of them are open to the 'net except with extreme firewalling. In fact, just look at the default Red Hat Firewall installation; they open almost nothing by default.
Anyways, I am thinking that its a problem with where Directadmin and Centos Repos installs the libraries too. For example, here is a listing of all file locations for libpng:
You've got more than one copy of libpng. I don't know how to fix that for gnome to still work; hopefully someone else will.

An exclude line for the yum configuration file is available on these forums. Do you have the same exclude line? If not, you may need to revert some of your updates.

I'd ask on a Red Hat forum or (since you're using Red Hat Enterprise Linux) ask their support team how to solve the problem, while at the same time using a hosting stack installed from source rather than from their RPM repositories.

Jeff
 
I'm sorry if you think I'm ridiculing you. I'm not. I'm explaining that I believe running Gnome (and X) on a webserver creates too many opportunities for attacks on the server.

I'd say that doing so creates too many opportunities for attacks on the server as well, but this time the other way around; a webserver is extremely open to the Internet by design. There are certainly other apps you can run on a webserver, but I'd be careful with what I run as the server by default is much more open to the 'net than servers not doing webhosting.

While in and of itself this is probably acceptable, especially with very restrictive firewalling, it's not something that most of us would want to support. Good luck. DirectAdmin installation instructions point out that DirectAdmin should be installed on a basic Linux installation with almost nothing else installed.

My recollection is that RHEL (and CentOS) by default go to a graphic installation if you've got a mouse plugged in when you install it. I don't recall if the installation without the mouse automatically installs X, but I always uncheck everything to get a basic install.

I'm guessing (educated guess, by understaning the Red Hat business model) that Red Hat, in an attemt to be in direct competition with Microsoft, creates a similar experience. And don't forget that not all Red Hat servers are on the 'net. In fact, I'd be surprised if more than 10% of them are open to the 'net except with extreme firewalling. In fact, just look at the default Red Hat Firewall installation; they open almost nothing by default.

You've got more than one copy of libpng. I don't know how to fix that for gnome to still work; hopefully someone else will.

An exclude line for the yum configuration file is available on these forums. Do you have the same exclude line? If not, you may need to revert some of your updates.

I'd ask on a Red Hat forum or (since you're using Red Hat Enterprise Linux) ask their support team how to solve the problem, while at the same time using a hosting stack installed from source rather than from their RPM repositories.

Jeff

No problem. I completely understand the security risks involved in running a windowing system on the machine, and I can agree with where you are coming from. I think the difference between our points is that I this particular system is not my main server. In fact its a personal 2U that I co-locate with www.joesdatacenter.com for personal use. I do host about 32 domains on it, but most of those are non-profits that I donate space to. The rest of the domains belong to friends who contribute to the hosting bill. So, in essence, its not a "full production" box. Its running CentOS with CentOS repos, while at work, we are running full blown RHEL installations. I would never install any of the stuff I have installed on this machine on a production box. I use this machine as a sandbox alot of times.

I have asked the same question in a few other forums as well, but since the machine is running CentOS and not RHEL I do not have any official Redhat support :(

The hosting stack I am using is default CentOS out of box from CentOS repos. Once I had the OS installed and running baseline, Joes Datacenter did the DirectAdmin install since they offer a free license with thier co-location.

Adding the exclude line in the yum conf is a good idea, and I will do that.
I also think it might be a good idea to roll back the libpng updates since that seemed to be what broke it. unfortunately, I do not know how to roll back the updates. There are several dependancies for libpng, and using yum will remove those dependancies.

Can you suggest a possible argument to supply to yum (or even using rpm) that will simply uninstall all instances of libpng so that I can install a version that was known to work?
 
Last edited:
Now that I understand you're using X/Gnome across the 'net, I suppose you should know that some (many?) OS distributions are planning on moving away from X-windows and replacing it with Wayland (wikipedia.org) which will not work across the 'net.
The reason Wayland is so simple and feasible at all is that I'm sidestepping this big task [defining a remote rendering API] and pushing it to the clients. It's ... essentially orthogonal to what Wayland tries to achieve.
I'm not in favor of this removal of functionality, but since it won't affect me directly I haven't been keeping updated on it. But perhaps you'll want to follow the arguments.

You write:
The hosting stack I am using is default CentOS out of box from CentOS repos
I can't tell with certainty because I'm not looking into your server. But I believe you're wrong; Joe told me he does a standard DirectAdmin install, and a standard DirectAdmin install removes the CentOS hosting stack before doing the standard DirectAdmin installation.

If I recall correctly you can remove libpng with the rpm command using command line options to ignore the dependencies. However you're probably on your own if that breaks anything.

Jeff
 
Joe does indeed do a standard DA install. I wasn't aware it removed the CentOS hosting stack.

Yeah, ive been keeping up with the move towards wayland. Ubuntu us going to go that route in the next couple releases (I think the 4-11 release). I honestly am not sure what to think about it. I have never used wayland, so I dont know how it performs, but I am willing to give it a chance on a few test boxes :) I am very partial to X though. I think Redhat has been working on their own type of remote environment called SPICE, but right now its really geared towards thier virtualization engines.

This problem is more of an annoyance than anything. The machine still runs great, its just that any icons or graphics that are .png will not display. I was hoping it to be a more common problem since alot of people are running centos and DA.
 
Yeah, ive been keeping up with the move towards wayland. Ubuntu us going to go that route in the next couple releases (I think the 4-11 release). I honestly am not sure what to think about it.
Probably you mean 11.4 release :). Wayland won't implement using graphic interface over the Internet; if they don't give you the option of X, then you won't be able to use gnome or other over the 'net, if what I've read is accurate.
This problem is more of an annoyance than anything. The machine still runs great, its just that any icons or graphics that are .png will not display. I was hoping it to be a more common problem since alot of people are running centos and DA.
Perhaps the next update will break something else :(. I still don't recommend X on a webserver ;).

Jeff
 
Well, I am getting stuck on this. When I try to remove the gtk2 package I get this:
error: "gtk2" specifies multiple packages


Which package specifically do we need to remove?
 
Ok, I got bother the 32 bit and 64 bit versions uninstalled of gtk2. I used the proper way to remove them by doing:
rpm -e --nedeps gtk2.i386
and
rpm -e --nodeps gtk2.x86_64

I downloaded the following for my 64 bit CentOS:
ftp://ftp.pbone.net/mirror/ftp.centos.org/5.5/os/x86_64/CentOS/gtk2-2.10.4-20.el5.x86_64.rpm

and when I tried to install it by using the rpm -ivh command, I got the following errors:


rpm -ivh gtk2-2.10.4-20.el5.x86_64.rpm
Preparing... ########################################### [100%]
1:gtk2 ########################################### [100%]
g_module_open() failed for /usr/lib64/gtk-2.0/2.10.0/loaders/libpixbufloader-png.so: /usr/local/lib/libpng12.so.0: undefined symbol: inflateReset
/usr/bin/gtk-query-immodules-2.0-64: /usr/local/lib/libpng12.so.0: no version information available (required by /usr/lib64/libcairo.so.2)

The 32 bit version of gtk2 installed without the error above.
So, I am not able to resolve my problem. Were you running 32 bit or 64 bit CentOS?
 
WOW!! Thanks so much!
Here is what I did to fix my broke 64 bit CentOS

Switch to root to perform all commands (use su - )
Code:
rpm -e --nodeps gtk2.i386
rpm -e --nodeps gtk2.x86_64
rm /usr/local/lib/libpng*
cd /tmp
wget ftp://ftp.pbone.net/mirror/ftp.centos.org/5.5/os/x86_64/CentOS/gtk2-2.10.4-20.el5.i386.rpm
wget ftp://ftp.pbone.net/mirror/ftp.centos.org/5.5/os/x86_64/CentOS/gtk2-2.10.4-20.el5.x86_64.rpm
rpm -ivh gtk2-2.10.4-20.el5.i386.rpm
rpm -ivh gtk2-2.10.4-20.el5.x86_64.rpm

I also added an exclude line to my /etc/yum.conf so as to avoid this problem in the future. Just add gtk2* to the end of your exclude line in the /etc/yum.conf
As an example of what I am talking about here is what my exclude line looks like:
exclude=apache* httpd* mod_* mysql* MySQL* da_* *ftp* exim* sendmail* php* bind-chroot* gtk2*

Please note, this will be for 64bit versions of CentOS running DirectAdmin.

Thanks to everyone who helped with this!
 
Back
Top