[m-dev.] Other things to do before the release.

Tyson Dowd trd at cs.mu.OZ.AU
Sat Sep 19 01:48:04 AEST 1998


On 18-Sep-1998, Fergus Henderson <fjh at cs.mu.OZ.AU> wrote:
> 
> Well, for `mercury-latest' you shouldn't expect it to work anyway,
> unless you're using exactly the same versions on both machines.

True, but irrelevant.  For 0.8 it would be nice if I could compile
a program and give it to someone else and have it work.

Using LD_LIBRARY_PATH or ldconfig, this is possible, not matter
where the Mercury system is installed, no matter what your
user level is.

Using -rpath, it is not possible in many cases.

> 
> If you just use the same prefix on all machines,
> e.g. the default prefix of /usr/local/mercury-<version>, then
> you can transport dynamically linked binaries between those machines.

We cannot even meet this requirement in the department!  We have
to use /home/mercury/public because it's not likely we will be
allowed to install in /usr/local on all machines. 

If you want Mercury integrated with a system, it will not go in
/usr/local, it will go in /usr (this is the case with Debian for
instance).  So automatically you have an incompatibility between
those systems where Mercury is installed by the vendor, and
those where it is installed by the local admins.  And a further
incompatability arises when you install as a user.

> So I don't think it buys that much.  It does buy a bit, though,
> so this is a nice idea for the wish list.  I don't think it is
> release-critical.

Like the other things, it's not critical.  Only show-stoppers
are critical.  But it is fairly useful, and eventually will need
to be addressed.  So perhaps "before the release" was a bad subject
line.

> 
> One difficulty with implementing it is that the naming scheme for
> libraries will probably need to change so that it includes the version
> number and the grade.  Currently these are part of the directory
> path rather than the file name.  A related difficulty is that
> some systems don't allow `.' in the names of shared libraries
> (except for shared library major & minor version numbers, which
> are different from Mercury version numbers).

Well, I don't think we need to worry about supporting it too much
on all platforms -- people with obscure or "big" systems are used
to having all software being difficult to install because their
operating systems lack features.

But we should make it easy on people with mainstream platforms, and I
think Linux is the biggest example of this (although I suspect a few
other systems have much the same feature set).

-- 
Those who would give up essential liberty to purchase a little temporary
safety deserve neither liberty nor safety.     - Benjamin Franklin

Tyson Dowd   <tyson at tyse.net>   http://tyse.net



More information about the developers mailing list