You are not logged in.
For years I've thought that when ldd lists the libraries needed by a dynamic executable, it lists things that appear as "-lgconf -lORBit2". When such linker flags are used by a compiler this is usually because the program in question (abiword in this case) uses functions from gconf and orbit2. If abiword uses functions from gconf and orbit2 then gconf and orbit2 MUST BE INSTALLED when you build it... correct? Otherwise the executable produced won't know where to look for those symbols.
So I just uninstalled gconf and orbit2 from my system. They were not anywhere on it. Then I build abiword and the build completed. I installed abiword and I can run it just fine. However when I run "ldd /usr/bin/abiword" I see "not found" beside gconf and orbit2.
I am very confused. The fact that it runs means abiword is not linked against these libraries and to me that means ldd should not mention them at all. Where am I missing part of the picture? Thanks.
6EA3 F3F3 B908 2632 A9CB E931 D53A 0445 B47A 0DAB
Great things come in tar.xz packages.
Offline
My guess is that it is linking to something else that needs those libraries. Instead of using ldd, use "readelf -d". That will show you only what abiword links to and not its whole link chain.
Offline
Thanks alot... this is a useful command which I should've used instead of ldd many times. When I use it, gconf and orbit indeed do not appear. What's more strange is that if I proceed to run readelf -d on all the libraries that do appear and follow the link chain myself, I STILL never run into gconf and orbit. So I will just stop trusting ldd altogether. It seems like instead of listing the libraries that are needed, it sometimes lists libraries that *could've been needed* had I built the package in a different way.
6EA3 F3F3 B908 2632 A9CB E931 D53A 0445 B47A 0DAB
Great things come in tar.xz packages.
Offline