[gobolinux-users] Source repositories and other suggestions

Martin Baldan martinobal at gmail.com
Thu Nov 30 02:17:16 UTC 2006


On 11/30/06, Michael Homer <gobo-users-dufus at wotfun.com> wrote:



That's untrue. XChat is linking against OpenSSL, which does not have
> backwards-compatible libraries (i.e., they're all, always, fully
> versioned). OpenSSL is a special case in that way.


OK, I stand corrected, but it doesn't affect my point: in that case, my
scheme is that Gobolinux treats every library as if it were fully versioned,
just like OpenSSL, except when two (or more) versions have been tested by
users and backwards compatibility has been verified.


Most programs will link (at runtime) against the library name -
> /lib/pango-1.0.so.0, which may be a symlink, or may be a real file
> that's replaced with new versions. They do not follow the symlinks at
> compile-time and resolve a fixed version.


No, they do it at run-time. When I said "I give it this library version" I
mean that's the one the link points to. But I begin to see your point: it
can only link to one version at a time, hence your objection that different
programs can't use different sub-versions of the same library if those
programs are all linked against the same version, because the version is a
link to a sub-version, and only one. Is that your objection? More on that
later.



> It is very rare for an application to link against a highly specific
> version like that. The libraries DO have exactly the same name, as far
> as they're concerned.


At run-time the program fetches whatever is in the adress the program is
linked against, and it uses it, that's what you mean, right?



That's not how it works. You're going to have to patch every program
> on your system to resolve symlinks and link against a specific
> version.


In a sense, yes, but the patching would be automated and it would only
happen at compile-time. Compile takes the program source, it reads what
libraries the program wants to be compiled against, then finds out which
sub-versions (actual libraries) would compy with this requirement (among
those available in Gobolinux), then queries the "tested compatibility"
database and decides which full version to use. Then, it patches the source
and compiles.

--Martin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.gobolinux.org/pipermail/gobolinux-users/attachments/20061130/78b803fd/attachment-0001.htm 


More information about the gobolinux-users mailing list