[SOLVED] Undefined Symbol Error in GTK+ Applications
Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I’ve really done it this time. Somehow I’ve managed to break all of my GTK+ applications. Many of them are returning undefined symbol errors when I try to open them in Terminal. For example:
Firefox
Code:
Segmentation fault
Synaptic
Code:
synaptic: symbol lookup error: /usr/lib/libgtk-x11-2.0.so.0: undefined symbol: gdk_add_option_entries_libgdk_only
Chromium
Code:
/user/lib/chromium-browser: symbol lookup error: /usr/lib/chromium-browser/chromium-browser: undefined symbol: gdk_pixbuf_flip
Audacity
Code:
audacity: symbol lookup error: /usr/lib/libgtk-x11-2.0.so.0: undefined symbol: gdk_add_option_entries_libgdk_only
Gedit
Code:
gedit: symbol lookup error: /usr/lib/libgtk-x11-2.0.so.0: undefined symbol: gdk_add_option_entries_libgdk_only
I think the problem started when I tried to compile GTK+ 2.0 on my machine even though I already had it installed (yes, I’m an idiot). It failed to compile, but I think the configure script may have messed up the symbol definitions somehow. I’ve tried purging and reinstalling GTK and all its dependant packages (including libgdk, since that seems to be the main source of the problem) to no avail. How can I remedy this massive screw-up of mine?
Just running 'configure' shouldn't touch your system at all.
The only suggestions that come to mind.
Did you run ldconfig after building and installing new Gtk?
If you still have the original sources you built and installed, you could do 'make uninstall' and then re-install a binary dist of gtk for your distro (you didn't mention which distro you use). Don't forget to re-run ldconfig after.
If you are going to build your own Gtk from sources, remember the following...
[**] Applications normally rely on a minimum, and sometimes a maximum, version of Gtk, depending on the changes and deprecation in the gtk source. So, try and find the version that best suits the applications already installed. You may have to rebuild the odd rebel app that won't play ball.
[**] There is a dependency on Glib as well, and here you have to be really careful, as a LOT of apps rely on glib......no.....really.....a LOT! So tread carefully. Try and choose a version of Gtk that's still compatible with you installed GLib.
[**] You've probably noticed by now that Gtk consists of man different parts, so make sure you build all the modules that you need.
If all fails, I have gotten to the point where I just updated my my distro as it was going to be quicker for me and I get the bonus of a some new features. This option is not always applicable though.
GTK never actually compiled and installed--it failed when I ran make--so I don't see how that could have touched my system either. Full disclosure is that I was trying to compile another program for which only the source code was available, and it depended on the GTK dev package, which I didn't have installed. (I should have realized that and installed it instead of going off and trying to compile something I already had.) But if configure shouldn't have done anything, and make failed, I don't know what could have caused it. I ran sudo ldconfig, and it didn't change anything. I'm currently on Kubuntu 11.04, so do you think this might get fixed if I upgraded to the newest 11.10 release? I've put off upgrading because it would take hours on my slow connection, but if that would fix my problem, it would be worth it.
Gotta go to work now, maybe this afternoon, we'll need to have a look at what version of packages you have on there and what should be on there to make sure your packages are in order. If nothing built and nothing installed, that your system should be as you left it before you started, which means something else had to have gone wrong elsewhere. Any ubuntu boys out there with advice?
Right! This might be useful to you. I noticed on one of the forums you were worried about not being able to manage your packages, because synaptic doesn't run. Now, synaptic isn't actually your package manager, it's a front-end to your package manager, so there are many more ways to manage your packages.
Now, I did manage to find this little nugget a moment ago and it appears to explain everything you'll ever need to manage your packages in various ways.
Well, if it wasn't that, I guess it must be either the GTK dev files I got from the repo or one of the dependencies for the program I was trying to compile, because those programs were working until I started doing that. I'll try uninstalling them one by one and report back here.
In regard to your second post, thanks for the link. That was just a misunderstanding I had with the guy that responded.
For anyone who finds this, I never did figure out how to fix the problem. I ended up just re-installing Kubuntu. Here's hoping you have better results!
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.