Advertisement

Strange problem running GTK apps

Started by October 15, 2004 05:04 PM
5 comments, last by Winograd 20 years, 1 month ago
Hello! I recently upgraded GTK to the latest version, from 2.0. I did this so I could use some newer apps that won't work with the older version. The new version along with all required libs, gdk etc were installed over the old versions in /usr/lib Now, when I try to start a gtk app from KDE (the alt+f2 way), nothing really happens. Let's say i try to start the gimp2. This app was compiled against the freshly installed GTK. Starting up, nothing visible happens. Looking at ~/.xsession_errors reveals: gimp2: relocation error: /usr/lib/libgtk-x11-2.0.so.0: undefined symbol: g_type_class_add_private And here's the really fishy part... If I fire up a kterm and start gimp2 from there, it works! What's going on here?
what version of glibc do you have? I've heard of this problem occuring with version 2.3.3 and can usually be fixed by going back to 2.3.2
Advertisement
Is this problem also present in old versions? I have glibc 2.2.5... Maybe it's time to upgrade ;-)
How is glibc (GNU Lib C) related to this? I assume you meant glib. Perhaps you have two sets of the libs. The old one and the new one in different paths. This may happen if you compiled you libs from source and used different --prefix options. Other lib might be in /usr/lib and the other in /usr/local/lib or /usr/X11R6/lib or /opt/lib etc. This can be fixed by pointing the symbolic link of the libs (for example /usr/lib/libgtk-x11-2.0.so.0) to the newest lib.

And remember to run ldconfig after changes. If you haven't yet done so then run it before you change anything and try if it fixed your problem. TAKE BACK-UPS BEFORE YOU MESS UP YOUR SYMLINKS!!
If I were to guess that this was slackware, would I be right?
Quote: Original post by C-Junkie
If I were to guess that this was slackware, would I be right?


Afraid not, Mandrake 9.0 actually. Somehow I always fall behind on the distro upgrade train. :P Anyways, I searched my lib dirs carefully, to see if i forgot to specify the prefix on some libs while installing GTK and could only find one instance of each. All in /usr/lib like they are supposed to. I probably have run ldconfig at least 10 times since I installed it all a few weeks ago, and did it again now just in case, but it didn't help. Thx for the input, everyone. Any more ideas?
Advertisement
Run "ldd /usr/bin/gimp". It gives you libs your app is linked against. Check that gimp is really linked against your new libs (yes I know you don't have old lib lying around, but still).

If everything is a ok run "objdump -t /usr/lib/libgtk-x11-2.0.so.0 | grep g_type_class_add_private". It will dump line if that sym (g_type..) was found in your lib.

If it doesn't then you might have compiled gimp against old gtk header files. Check the timestamp of you gtk headers and gtk libs.

This topic is closed to new replies.

Advertisement