Peter Tanski wrote:
Now each GHC-Haskell-based program installer would search /usr/local/lib
for, say, libHSrts_dyn-6.6.1.dylib and install that version if
necessary. What happens on uninstall? The same thing you get on
Windows when you have another program using a particular .DLL--the
uninstall of that version of the library would fail but for unix systems
_only_ if you also have another program using at while you are doing the
uninstall. So if you did not break everything on each install,
eventually you have a complete mess of different versions of GHC
libraries in /usr/local/lib that may have no current use but at one time
were used for several GHC-Haskell-based programs that have now been
upgraded to use something different. Hopefully those who distributed
the binary programs adopted a convention of using the full version of
the library instead of symlinking libHSrts_dyn-6.6.1 to libHSrts_dyn, or
as a user several of your older programs might break after a later one
installed a new version of the library and symlinked that the new
version...
That is why I think your idea was good: put everything into distinct
directories.
We are not intending to build-in any particular knowledge about where shared
libraries are to be installed - that's up to the packager.
With one exception - we have to pick a default for the .tar.bz2 binary
distributions (and 'make install'), and the only default that makes sense is to
install the shared libraries in the standard location, /usr/local/lib.
Otherwise the system will not find them, and GHC itself will not run (assuming
it is dynamically linked). You don't get good uninstall support, but that's
always been the way if you don't use the system package manager.
Cheers,
Simon
_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users