[m-dev.] Other things to do before the release.
Tyson Dowd
trd at cs.mu.OZ.AU
Sat Sep 12 16:49:44 AEST 1998
On 12-Sep-1998, Fergus Henderson <fjh at cs.mu.OZ.AU> wrote:
> On 10-Sep-1998, Tyson Dowd <trd at cs.mu.OZ.AU> wrote:
> > - Move the following executables into a lib/bin directory so they
> > are not in the user's path:
> > mercury_update_interface mint mkfifo_using_mknod mkinit
> > (possibly more or less, this list was taken from 0.7.3).
>
> `mint' should not be moved; it was intended for use by users.
> It could be deleted, I suppose.
If intended to be used by users, it needs a man page.
>
> Anyway, moving all these is an issue of very very very minor importance;
> I don't think it is worth worrying about for this release.
It is not release critical. It is still a bug in the release.
>
> > - Possibly support use without -rpath shared libraries (install
> > libraries to /usr/lib and call ldconfig).
>
> What's the advantage of this?
>
> There are certainly disadvantages, e.g. installation would require
> root permissions.
No it wouldn't, you can always set LD_LIBRAY_PATH.
I didn't say *force* use of ldconfig, just support use of it.
Advantages:
- installation can be moved without breaking existing dynamically
linked binaries
(that is, you can re-install Mercury into a different --prefix
and your old binaries will still be able to work).
- dynamically linked binaries can be distributed and will still
work (try running a dynamically linked binary made on
hydra with a machine that has mercury installed somewhere
*other* than
/home/mercury/public/mercury-latest/i686-pc-linux-gnu).
-rpath is a hack, and a pretty brittle one at that. Really we should
be doing things the right way, and considering providing -rpath as
an alternative for those that don't have root permissions.
>
> > - Consider changing Linux default to using shared libraries.
>
> This is worth considering. If it were easy, it might be worth doing too ;-)
> I may be wrong, but I don't think it will be easy.
- Generate libraries same as usual.
- Generate all code as PIC unless specified by user.
- --no-pic or something needs to be given as a MGNUCFLAG
to turn this off.
- Use static linking if --static is defined, otherwise use
shared linking.
The picreg part of the grades would stop people accidently linking
non-PIC code with PIC libraries (at least for Mercury code).
Have I forgotten something? Perhaps we should dig up the archives
of last time we had this discussion.
--
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