[gobolinux-users] Source repositories and other suggestions
jonka750 at student.liu.se
Mon Nov 27 23:40:08 UTC 2006
On Tue, 28 Nov 2006 00:14:18 +0100, Martin Baldan <martinobal at gmail.com>
> On 11/27/06, Dan <theyranos at gmail.com> wrote:
>> > Is there a way to know what are the actual links the program is
>> > using, a file that changes every time you recompile or relink a
>> > program? I'm thinking of something like /Programs/Foo/Resources/
>> > CurrentLinks.
>> How about ldd?
>> "ldd `which amarok`" for example, gives you a fairly comprehensive
>> list of links the Amarok binary needs to run. If you want programs
>> and versions, you can use something like this bash line:
>> $ ldd `which amarok` | sed 's,.*=>,,g' | sed 's,(.*),,g' | xargs -n1
>> readlink -f
>> (I'm not sure this is what you're looking for, as I haven't been
>> really following this thread. Sorry if I'm completely off-topic.)
> Hmm, it pretty much looks like what I wanted. Still, it has a few bugs
> For instance, I got this output for Firefox:
> martin1 at martinGobo ~]ldd `which firefox`
> not a dynamic executable
Well, that depends on that Firefox is somewhat special. The executable
that resides in the /bin directory is just a script (that it is a script
has nothing to do with gobolinux. Ask the firefox devs instead). The real
binary is lib/firefox-22.214.171.124/firefox-bin (as I use 126.96.36.199). Do ldd on
> Now I'm a bit confused. It looks like the actual version number is
> picked at level below SymlinkProgram.
> I thought it was SymlinkProgram who decided which versions to link to.
> If it does, it should be easy to record its choices in a file.
Well "linked in" programs are not the same thing as "linked against"
programs. You have to separate the libraries that an application is linked
against and what libraries that are linked in in GoboLinux.
For example my firefox links against
/System/Links/Libraries/libpangocairo-1.0.so.0 (part of Pango), so I can
use any version of Pango that has that library version and the one linked
in atm is which firefox would use, as the link
/System/Links/Libraries/libpangocairo-1.0.so.0 is updated to reflect which
version of Pango that is active. So far I can select which version to use.
But say, as an example, that firefox was more version specific and linked
against libpangocairo-1.0.so.0.1101.1 (I have
libpangocairo-1.0.so.0.1101.1, part of Pango 1.11.2, and
libpangocairo-1.0.so.0.1400.2, part of Pango 1.14.2, on my system). Then
it would not matter which pango I linked in, as firefox would use the
exact version it needed and if I removed Pango 1.11.2 firefox would not
start. So until I recompiled firefox, or installed another version, I had
to keep Pango 1.11.2 installed.
Fortunatly most apps are not that specific, but problems can arise when
one makes major version upgrades.
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
More information about the gobolinux-users