Sign in to follow this  
mr BiCEPS

Strange problem running GTK apps

Recommended Posts

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?

Share this post


Link to post
Share on other sites
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!!

Share this post


Link to post
Share on other sites
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?

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
Sign in to follow this