-
Notifications
You must be signed in to change notification settings - Fork 1
/
install.txt
169 lines (126 loc) · 6.61 KB
/
install.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
This is file install.txt for Moscow ML 2.00 for Linux/Unix (June 2000)
SYSTEM REQUIREMENTS
A binary installation requires 8 MB disk space; a source installation
requires 25 MB disk space.
INSTALLING MOSCOW ML (BINARIES ONLY) UNDER LINUX
(1) For a personal installation, move to your home directory, and unpack
the Moscow ML distribution using
gzip -dc linux-mos20bin.tar.gz | tar xfv -
This creates a directory ~/mosml with subdirectories
mosml/ readme, install.txt
bin/ mosml, mosmlc, mosmllex, mosmlyac, camlrunm,
copyrght/ copyright notices
doc/ manual.pdf, mosmlref.pdf, mosmllib.pdf, ...
mosmllib/ HTML-documentation of the Moscow ML library
examples/ a few example programs
lib/ bytecode files, basis library units,
and the dynamically loadable libraries
tools/ mosmldep, Makefile.stub
(2) Edit the variables `stdlib' and `mosmlbin' in the scripts
mosml/bin/mosml
and mosml/bin/mosmlc
and mosml/bin/mosmllex
(3) Edit the file mosml/lib/header to contain the absolute location of
the camlrunm runtime system (e.g. /home/foo/mosml/bin/camlrunm or
/usr/local/mosml/bin/camlrunm).
(4*) If you intend to use libraries that use dynamic linking, such as
Gdbm, Mysql, Polygdbm, Postgres, Regex, or Socket, define
export LD_LIBRARY_PATH=${HOME}/mosml/lib (for bash)
setenv LD_LIBRARY_PATH ${HOME}/mosml/lib (for csh, tcsh)
Alternatively, if you are doing a systemwide installation,
as needed for CGI scripts, do
- log in as root
- execute cp -p ~/mosml/lib/lib*.so /usr/local/lib
- edit /etc/ld.so.conf to list /usr/local/lib on a separate line
- execute ldconfig
(5) Start Moscow ML by typing
mosml
(6*) To check that dynamic linking works, do
fun myload u =
(load u; print ("\nLoaded " ^ u ^ "\n")) handle Fail _ => ();
app myload ["Gdbm", "Mysql", "Postgres", "Regex", "Socket", "Unix"];
To quit Moscow ML, type `quit();' or control-D.
INSTALLING MOSCOW ML UNDER OTHER UNIXES
If you have Linux, FreeBSD, NetBSD, HPPA+HP/UX 9 or 10, Sparc+SunOS,
Sparc+Solaris, SGI MIPS+IRIX 5, DEC Alpha+OSF/1, and possibly other
systems, then you can install Moscow ML as follows:
(1) Choose a directory for the Moscow ML subdirectory to reside in,
such as /usr/local/ for a systemwide installation, or ${HOME}
for a personal installation.
(2) Download the Unix source files from
ftp://ftp.dina.kvl.dk/pub/mosml/mos20src.tar.gz
(3) Unpack it by executing (in /usr/local, or ${HOME})
gzip -dc mos20src.tar.gz | tar xvf -
(4) Change directory to mosml/src
(5) Edit file mosml/src/Makefile.inc to suit your system. Set
MOSMLHOME to /usr/local/mosml, or ${HOME}/mosml. Also, the
versions of /lib/cpp and other minor things differ among
operating systems; choose suitable values of the configuration
parameters for your system.
If you want the runtime system to support dynamic linking of
foreign (C) functions, further uncomment the setup for this in the
Makefile.inc file.
(6) Execute (in mosml/src)
make world
make install
Doing `make install' will also install the documentation from
mosml/src/doc, which is supplied precompiled. It is also
available from the Moscow ML homepage. If you want to rebuild the
documents (e.g. for a different papersize), then do it later, as a
separate step 9. Due to variances in LaTeX installations, you may
run into some problems.
(7) To check that the installation went well, you can try
(7.1) * change directory to mosml/src/test
* execute: make clean
* execute: make
* diff result result.ok (may differ in times)
(7.2) * change directory to mosml/src/mosmllib/test
* execute: make clean
* execute: make
* diff result result.ok (may differ in times, dates, etc)
Note that some of the test cases are suitable only for 32-bit
architectures, and will fail on 64-bit architectures (such as DEC
Alpha); this does not necessarily indicate that the Moscow ML
implementation is broken.
(8) If you want to install libraries that use dynamic linking, note
point (4*) in the instructions above. Furthermore,
- to install support for Gdbm and Polygdbm persistent
hash tables, consult mosml/src/dynlibs/mgdbm/README
- to install support for the Postgresql relational
database server, consult mosml/src/dynlibs/mpq/README
- to install support for the Mysql relational database
server, consult mosml/src/dynlibs/mmysql/README
- to install support for POSIX 1003.2 regular
expressions, consult mosml/src/dynlibs/mregex/README
- to install support for sockets, consult
mosml/src/dynlibs/msocket/README
- to install support for Thomas Boutell's gd GIF image
package, consult mosml/src/dynlibs/mgd/README
- to install support for process manipulation under Unix,
consult mosml/src/dynlibs/munix/README
AUTHOR AND CREDITS
Moscow ML was written by
Sergei Romanenko ([email protected])
Keldysh Institute of Applied Mathematics, Russian Academy of Sciences
Miusskaya Pl. 4, 125047 Moscow, Russia
and Claudio V. Russo ([email protected]), University of Cambridge.
Thanks to Don Sannella at LFCS, Division of Informatics,
University of Edinburgh for funding under EPSRC grant GR/K63795
and Peter Sestoft ([email protected]),
Department of Mathematics and Physics, Royal Veterinary and
Agricultural University, Thorvaldsensvej 40, DK-1871 Frederiksberg C,
Denmark. Much of the work was done at the Technical University of
Denmark, and while visiting AT&T Bell Laboratories, New Jersey, USA.
Moscow ML owes much to:
* the CAML Light implementation by Xavier Leroy and Damien Doligez
(INRIA, Rocquencourt, France); especially the Caml Light bytecode
generator and the runtime system;
* the ML Kit by Lars Birkedal, Nick Rothwell, Mads Tofte and David Turner
(Copenhagen University, Denmark, and Edinburgh University, Scotland);
* inspiration from the SML/NJ compiler developed at Princeton
University and AT&T Bell Laboratories, New Jersey, USA;
* the good work by Doug Currie, Flavors Technology, USA, on the
MacOS port and many improvements; and
* feedback, contributions, and useful suggestions, in particular
from Ken Friis Larsen, but also from Jonas Barklund, Mike Gordon,
Michael Norrish, Konrad Slind, and numerous other people.