LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (http://www.linuxquestions.org/questions/linux-software-2/)
-   -   numerous gtk/gnome, etc. problems, one specific undefined symbol (http://www.linuxquestions.org/questions/linux-software-2/numerous-gtk-gnome-etc-problems-one-specific-undefined-symbol-567644/)

Peterius 07-08-2007 03:54 PM

numerous gtk/gnome, etc. problems, one specific undefined symbol
 
I've had problems with gtk/gdk gnome, etc. for months. Basically some package management stuff installed some things I usually compile and install from source when I wasn't looking and they're conflicting somehow with stuff that I did install from source.

Everyone either suggests I reinstall my operating system which is a pain because I really don't use any of these libraries for more than a few apps, I just hate having all this broken stuff on my machine, or they suggest I use some other configuration utility that's probably bound to make things worse.

The most clean specific error that I have that might point the way to a solution is I downloaded acrobat reader today which is a binary and it won't run because it says:

symbol lookup error: /usr/local/lib/libgtk-x11-2.0.so.0: undefined symbol: gdk_screen_set_resolution

I have the latest gtk libraries, the very latest version as of today, latest pango, latest glib, latest cups?!? I just reinstalled them to fix this, I even deleted all the older gtk libraries that were a few minor versions older just in case it was somehow using those though the link clearly points to the latest one.

No luck, same error. What would cause this? Is this really an error in an X11 library that's manifesting in this way? Why did gtk compile in this case?

If anyone knows how these things are supposed to compile and work together as opposed to how to follow the yellow brick road of package management to its clearly marked destination, I would much appreciate it.

hansalfredche 07-10-2007 08:40 AM

With packet management software you better don't touch underlying software like glib, pango, GTK+ and all the others. Trouble is preprogrammed otherwise, as you had to experience.

I don't know what exactly you did with your machine, how much modifications you made, what you are doing with it, but you either fall back to older versions that your packet management software uses by reinstalling them (if only some packages affected), or then do a fresh install. First possibility means giving back control to the packet management software.

GregLee 07-10-2007 01:03 PM

Check that you have only one libgtk-x11-2.0.so.0. If there is also one in /usr/lib or /lib, the dynamic loader may be linking up to the wrong one. The fix is to remove the old ones (they're just soft links). In case that is the problem, check any other libraries you've recompiled, like glib.

Peterius 07-10-2007 03:21 PM

In response to the first post, I do not have "packet management" software of any kind and I do not like to use package management software for various reasons. The only downside to not using package management software is that, while one can consider that individual software packages installed from source are stable, they may not be stable with other software not tested with that software. But then this should produce bugs so it doesn't seem to be a problem.

As for having one version of libgtk-x11, I do, unless the linker can find shared libraries in my home directories and use them even though those directories aren't in the linker path.

Given that there is only one libgtk-x11, how can I track the source of that undefined symbol error?

GregLee 07-10-2007 06:59 PM

Just to triple-check you're linking to the right library, examine the output of "ldd <acrobatbinary>". To see if the apparently missing symbol is in the library, try "nm libgtk-x11-2.0.so |grep gdk_screen".

Edit: On my system, I found the symbol with "nm libgdk-x11-2.0.so.0|grep _screen_set" (ldd shows that libgtk-x11-2.0.so links to libgdk-x11-2.0.so.0).

Peterius 07-11-2007 03:16 AM

Ah, thanks, "nm", I knew there was something like that but I'd forgotten it.

I did test that and found that that symbol was in that library. I think I'll use that to test some of the other gnome issues with undefined symbols.

But the bug I'm getting that's just the single undefined symbol is from acroread (Adobe Acrobat Reader) which is weird because now I know that that symbol is definitely there from the nm. But its too much of a coincidence, perhaps that's what's breaking the other gtk stuff. ldd complains that acroread is not a dynamic library but it was compiled with only the gtk-x11 lib with that symbol so I don't know what the problem could possibly be.

GregLee 07-11-2007 12:39 PM

On my system, /usr/bin/acroread is a shell script. The binary acroread is in /usr/lib/Adobe/Acrobat7.0/Reader/intellinux/bin/ . (I haven't gotten it to work from the Firefox plugin and haven't tried it directly.)

hansalfredche 07-11-2007 01:43 PM

Quote:

I've had problems with gtk/gdk gnome, etc. for months. Basically some package management stuff installed some things I usually compile and install from source when I wasn't looking and they're conflicting somehow with stuff that I did install from source.
Then ...

Quote:

In response to the first post, I do not have "packet management" software of any kind and I do not like to use package management software for various reasons.
It's not my fault if you were not very precise in your first post. I assumed you installed compiled stuff on a regular rpm/deb system overwritting files managed by a package management software.

Actually, I had also problems with Acrobat, but I don't remember what didn't work back then. I never tried to install that software since. So let us know if you get to fix it.

Peterius 07-11-2007 10:08 PM

Actually, what I said was what I meant. I generally don't use package management stuff but debian install put a bunch of stuff on my system and now I can't figure out what's conflicting. But I have compiled and installed things on a regular debian system.

acroread does work on another system I have with a similar configuration but I have a lot more control over what is running there. I should probably strace that and see what the difference is. Perhaps it has something to do with an update to libc or something, that its actually the loader.

I did find another error though, glade_module_register_widgets is an undefined symbol in libgnome-2.0... so I think I must have the wrong version of glade or something. I checked and it really isn't there. But in order to compile glade I have to compile libgnomeui as well as libgnomecanvas. There's a package gnome-libs that presumably is the stable source distribution but it requires gtk-config which I don't have even though I have gtk. I thought pkg-config was the standard, why is there a gtk-config. I've also seen glib-config and had problems with that. Strange stuff.

If I could figure out where to get gtk-config, I think its just some simple pkg-config like script, then maybe I could compile the gnome-libs and recompile glade and install that and that might be the cause of all these errors or at least improve them.

GregLee 07-12-2007 12:32 AM

gtk-config is old, old -- it hales from an era before pkg-config. The reason gnome-libs requires gtk-config is that gnome-libs is old, old, also. The most recent version in the Gnome ftp repository is from August 2002. It's a dead letter. glade_register_widget is in libglade.


All times are GMT -5. The time now is 12:54 AM.