~ubuntu-branches/debian/squeeze/maxima/squeeze

« back to all changes in this revision

Viewing changes to doc/maximabook/install/install.tex

  • Committer: Bazaar Package Importer
  • Author(s): Camm Maguire
  • Date: 2006-10-18 14:52:42 UTC
  • mto: (1.1.5 upstream)
  • mto: This revision was merged to the branch mainline in revision 4.
  • Revision ID: james.westby@ubuntu.com-20061018145242-vzyrm5hmxr8kiosf
ImportĀ upstreamĀ versionĀ 5.10.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
\section{Requirements}
2
 
 
3
 
Your basic needs are a computer running Windows, Linux or MacOSX and a
4
 
supported Lisp implimentation.  Currently on Linux Maxima will build on CMUCL (18e 
5
 
recommended), GCL (2.5.0 or greater) and CLisp (2.29, 2.31 or greater - 2.30 won't work
6
 
properly).  On Windows builds have been achieved with Clisp and GCL - GCL is used
7
 
in the standard binary.  On MacOSX Maxima is compiled using OpenMCL. Note that Lisp choice 
8
 
is not an either/or situation - if you have
9
 
multiple lisp implimentations available you can build on all of them and
10
 
select at runtime which Lisp you would like to use.  While it is possible
11
 
to build your own Windows or Mac OS X binary, it is quite difficult to do
12
 
so (especially on Windows) and unless there is a real need we recommend you
13
 
use the provided binaries for those platforms.  For Windows a Wizard based install
14
 
has been created using InnoSetup which should look and feel very familiar to most
15
 
Windows users.  On MacOSX you need to use either the DarwinPorts? or Other way?
16
 
tools to download the binaries.
17
 
 
18
 
\section{Source Based Installation on Linux}
19
 
 
20
 
Note:  we assume here that your machine has development libraries and tools
21
 
installed.  If you get file/feature not found failures during configure it 
22
 
is probably because your distribution doesn't have the development libraries
23
 
and tools you need installed.
24
 
 
25
 
\index{Compiling!Linux}
26
 
 
27
 
\subsection{Configure}
28
 
 
29
 
(Note - this discussion assumes you are using Maxima 5.9.0 or greater to
30
 
build with.  Older versions have a terrible build system and are no longer]
31
 
supported.)
32
 
 
33
 
Your first task (assuming you are in the top level directory of the maxima
34
 
source file hierchy) is to determine which version(s) of Lisp you intend to
35
 
build on.  If you are building with multiple Lisps, you should specify which
36
 
one you want to be your default Lisp (the Lisp Maxima will run with if you do
37
 
not tell it otherwise.)
38
 
 
39
 
In the example below, options are given to enable building on all three Lisps
40
 
supported by Maxima 5.9.0.  The default Lisp of CLisp is selected.
41
 
\index{Compiling!Linux!CMUCl}\index{Compiling!Linux!GCL}\index{Compiling!Linux!Clisp}
42
 
 
43
 
\vspace{3ex}
44
 
 
45
 
 
46
 
\texttt{./configure --enable-gcl --enable-cmucl --enable-clisp }
47
 
 
48
 
\texttt{--with-default-lisp=clisp}
49
 
 
50
 
\vspace{3ex}
51
 
 
52
 
 
53
 
You should see some output scroll by and then a summary similar to the 
54
 
following:
55
 
 
56
 
\vspace{3ex}%
57
 
 
58
 
Summary:
59
 
 
60
 
clisp enabled. Executable name: "clisp"
61
 
 
62
 
CMUCL enabled. Executable name: "lisp"
63
 
 
64
 
GCL enabled. Executable name: "gcl"
65
 
 
66
 
default lisp: clisp
67
 
 
68
 
wish executable name: "wish"
69
 
 
70
 
\vspace{3ex}%
71
 
 
72
 
The wish executable is related to Tcl/Tk used for the Xmaxima gui.  If you 
73
 
encounter a case where a Lisp executable name is not found or you wish to
74
 
use a different version of a particular lisp, you can specify the location
75
 
of the executible you wish to use.  For example, if you have a different 
76
 
copy of CMUCL you wish to use with an executable name of cmulisp instead of
77
 
lisp, you can specify that with the following:
78
 
 
79
 
 
80
 
\vspace{3ex}
81
 
 
82
 
\texttt{./configure --enable-gcl --enable-cmucl --enable-clisp}
83
 
 
84
 
\texttt{--with-cmucl=/usr/local/bin/cmulisp --with-default-lisp=clisp}
85
 
 
86
 
\vspace{3ex}
87
 
 
88
 
Summary:
89
 
 
90
 
clisp enabled. Executable name: "clisp"
91
 
 
92
 
CMUCL enabled. Executable name: "\texttt{/usr/local/bin/cmulisp}"
93
 
 
94
 
GCL enabled. Executable name: "gcl"
95
 
 
96
 
default lisp: clisp
97
 
 
98
 
wish executable name: "wish"
99
 
 
100
 
\vspace{3ex}
101
 
 
102
 
 
103
 
There are other options available for configure, but these should be enough
104
 
to get you started on a standard Linux system.  If you need more options, check
105
 
the output from
106
 
 
107
 
\vspace{3ex}
108
 
 
109
 
\texttt{./configure --help}
110
 
 
111
 
\subsection{Make}
112
 
 
113
 
Once you have configured the program to your satisfaction, simply type make.
114
 
You will see a very long series of outputs as Maxima is compiled on each Lisp
115
 
platform you have selected.  This is a long process even on fairly fast 
116
 
machines.
117
 
 
118
 
Once this process is done, you should run make check.  This will run each build
119
 
of Maxima through a series of mathematical tests to ensure your Maxima build
120
 
succeeded.  You will see something similar to the following, depending on
121
 
which Lisp(s) you compiled with. (Plus some make
122
 
related output about checking directories for tasks which doesn't matter):
123
 
 
124
 
\vspace{3ex}
125
 
 
126
 
\texttt{make[1]: Entering directory `/home/user/maxima/tests'}
127
 
 
128
 
\texttt{echo "Running test suite with clisp..."; \ }
129
 
 
130
 
\vspace{2ex}
131
 
 
132
 
\texttt{/bin/sh ../maxima-local --lisp=clisp --batch-lisp=tests.lisp > tests-clisp.log <}
133
 
 
134
 
\texttt{ /dev/null 2>\&1; \ }
135
 
 
136
 
\texttt{./summarize-log tests-clisp.log}
137
 
 
138
 
\texttt{Running test suite with clisp...}
139
 
 
140
 
\vspace{2ex}
141
 
 
142
 
\texttt{*** Summary results for tests recorded in}
143
 
 
144
 
\texttt{*** log file tests-clisp.log:}
145
 
 
146
 
\texttt{Error summary:}
147
 
 
148
 
\texttt{Error(s) found in rtest15.mac: (4)}
149
 
 
150
 
\vspace{2ex}
151
 
 
152
 
\texttt{Expected failures (known bugs in this version of Maxima):}
153
 
 
154
 
\texttt{rtest15.mac: (4)}
155
 
 
156
 
\vspace{2ex}
157
 
 
158
 
\texttt{Timing:}
159
 
 
160
 
\texttt{Real time: 9.218797 sec.}
161
 
 
162
 
\texttt{Run time: 9.01 sec.}
163
 
 
164
 
\texttt{GC: 60, GC time: 0.64 sec.}
165
 
 
166
 
\texttt{*** end of summary for tests-clisp.log}
167
 
 
168
 
\vspace{2ex}
169
 
 
170
 
\texttt{echo "Running test suite with cmucl..."; \ }
171
 
 
172
 
\texttt{/bin/sh ../maxima-local --lisp=cmucl --batch-lisp=tests.lisp > tests-cmucl.log < }
173
 
 
174
 
\texttt{ /dev/null 2>\&1; \ }
175
 
 
176
 
\texttt{./summarize-log tests-cmucl.log}
177
 
 
178
 
\texttt{Running test suite with cmucl...}
179
 
 
180
 
\vspace{2ex}
181
 
 
182
 
\texttt{*** Summary results for tests recorded in}
183
 
 
184
 
\texttt{*** log file tests-cmucl.log:}
185
 
 
186
 
\texttt{Error summary:}
187
 
 
188
 
\texttt{Error(s) found in rtest15.mac: (4)}
189
 
 
190
 
\vspace{2ex}
191
 
 
192
 
\texttt{Expected failures (known bugs in this version of Maxima):}
193
 
 
194
 
\texttt{rtest15.mac: (4)}
195
 
 
196
 
\vspace{2ex}
197
 
 
198
 
\texttt{Timing:}
199
 
 
200
 
\texttt{;   3.91f0 seconds of real time}
201
 
 
202
 
\texttt{;   3.34f0 seconds of user run time}
203
 
 
204
 
\texttt{;   0.49f0 seconds of system run time}
205
 
 
206
 
\texttt{;   [Run times include 0.21f0 seconds GC run time]}
207
 
 
208
 
\texttt{*** end of summary for tests-cmucl.log}
209
 
 
210
 
\vspace{2ex}
211
 
 
212
 
\texttt{echo "Running test suite with gcl..."; \ }
213
 
 
214
 
\texttt{/bin/sh ../maxima-local --lisp=gcl --batch-lisp=tests.lisp > tests-gcl.log < /de}
215
 
 
216
 
\texttt{v/null 2>\&1; \ }
217
 
 
218
 
\texttt{./summarize-log tests-gcl.log}
219
 
 
220
 
\texttt{Running test suite with gcl...}
221
 
 
222
 
\vspace{2ex}
223
 
 
224
 
\texttt{*** Summary results for tests recorded in}
225
 
 
226
 
\texttt{*** log file tests-gcl.log:}
227
 
 
228
 
\texttt{Error summary:}
229
 
 
230
 
\texttt{Error(s) found in rtest15.mac: (4)}
231
 
 
232
 
\vspace{2ex}
233
 
 
234
 
\texttt{Expected failures (known bugs in this version of Maxima):}
235
 
 
236
 
\texttt{rtest15.mac: (4)}
237
 
 
238
 
\vspace{2ex}
239
 
 
240
 
\texttt{Timing:}
241
 
 
242
 
\texttt{real time : 8.690 secs}
243
 
 
244
 
\texttt{run time  : 7.160 secs}
245
 
 
246
 
\texttt{*** end of summary for tests-gcl.log}
247
 
 
248
 
 
249
 
\vspace{3ex}
250
 
 
251
 
If all these tests are passed and the number of expected
252
 
failures is the same as the number of known failures,
253
 
everything has tested out correctly and you can proceed to the
254
 
install, which is simply the standard make install.  Getting
255
 
advanced features like the Emacs modes to work may require a
256
 
little extra work - see the documentation on those specific
257
 
modes for details about making them work.
258
 
 
259
 
\section{Source Based Installation on Windows}
260
 
 
261
 
Someone want to write this one up?  I am most definitely not qualified.
262
 
 
263
 
\section{Source Based Installation on MacOSX}
264
 
 
265
 
Someone who has done it?