aboutsummaryrefslogtreecommitdiff
path: root/INSTALL
blob: b6ea0ff16a650fc486310864f72e05cbb3441637 (plain)
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
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
Requirements
============

OpenAxiom currenly requires a Lisp system for its runtime support.
OpenAxiom is known to build with the GNU Common Lisp (GCL versions 2.6.7
or 2.6.8), Steel Bank Common Lisp (SBCL version 1.0.22 or higher),
CLisp (version 2.44.x or higher), and ECL (version 0.9l or higher).  
So, if you already have any of the above mentioned Lisp systems, your
are good to go.  Otherwise, you would need to download a dependency
tarball from OpenAxiom's download web site.  See instructions below. 

OpenAxiom needs `noweb' for extracting its source codes.  If you don't
have running `noweb' utilities, you would need to either download the
dependency tarball from OpenAxiom's download web site, or separately
install them, and then proceed with configuration as detailed below.

Note that GCL or SBCL or CLisp, and `noweb' are needed only to build
OpenAxiom.  They are not needed once the system is installed.

Finally, you would need a working GNU C compiler.  It is also recommended
that you install X11 development headers and libraries, especially
Xpm.  Windows (MingW/MSYS) users do not need X11 components.  They
still need a working GNU C compiler though.

Ah, one more note:  OpenAxiom requires GNU Make.

1. Lisp and noweb prerequisites
   ----------------------------

If any of GCL or noweb is missing from your build environment, then
you need to either separately install them, or download the dependency
tarball 

    open-axiom-1.2.x-dep.tar.bz2

from the SourceForge download site

http://voxel.dl.sourceforge.net/sourceforge/open-axiom/open-axiom-1.2.x-dep.tar.bz2

Please, notice that GCL and noweb are needed only to *build*
OpenAxiom.  If you plan to build OpenAxiom often, then it probably is
a good idea to separately build and install those tools once for all.


If you already have GCL and noweb installed, please go to step 2.
Note however that if you want to build OpenAxiom with the GCL from
the dependency tarball (assuming you have unpacked it as explained
in step 1.b.), and you have other Lisp systems available in the build 
environment, then you should add the option --enable-gcl to the 
configure command line.  In short, add --enable-gcl if you
specifically insist on GCL as the base Lisp runtime system.

1.a. Download the dependency tarball open-axiom-1.2.x-dep.tar.bz2

1.b. Decompress the dependency tarball

      tar jxfv open-axiom-1.2.x-dep.tar.bz2


    That should decompress the dependency tarball in a directory
named open-axiom-1.2.x.  Rename it to open-axiom-1.3.0, e.g.:

       mv open-axiom-1.2.x open-axiom-1.3.0

2. Building OpenAxiom
   ------------------

It is assumed you have already downloaded open-axiom source tarball,
e.g. open-axiom-1.3.0.tar.bz2.  

Note: If you don't have GCL or noweb in the build environment, please
make sure that you have either followed the instructions in step 1.,
or have separately installed them before proceeding.

2.a. Decompress the OpenAxiom source tarball

      tar jfxv open-axiom-1.3.0.tar.bz2

2.b. Configure OpenAxiom

It is highly recommended that you build OpenAxiom in a directory
different from the one that contains the sources.  For example, you
may create a directory sibling to open-axiom-1.3.0 and build the
system from there:

      mkdir build-oa
      cd build-oa
      ../open-axiom-1.3.0/configure

It is possible to tell configure where to put the final OpenAxiom
executables.  By default, when you just type in configure like above,
it will configure the system with prefix /usr/local.  You can instead
say where you want it to be installed, let's say /banana/space.  You
would then have typed

     ../open-axiom-1.3.0/configure --prefix=/banana/space


If you want to compile OpenAxiom with a specific Lisp system (not
necessarily GCL), then you should supply the option

         --with-lisp=<your-lisp>

where <your-lisp> stands for the executable name of the Lisp of your
choice.  For example, you might want to add

         --with-lisp=sbcl

to the configuration line if you plan to use the SBCL system; or you
can specify 

         --with-lisp=ecl

if you want to use the ECL system.

Note also that OpenAxiom can coexist with other flavours of AXIOM.

2.c. Make the system

Just type

       make

or

       make 2>&1 | tee build.log

if you would like to inspect the build messages later on -- but most
users probably don't.

2.d.  Have some coffee

2.e.  Have more coffee

It can take from 25min to 2 hours to build, depending on the
compute power of the build machine.

3. Installing OpenAxiom   
   --------------------

Once the build (step 2.) has gone successfully, you may optionally try
to regress-test the system -- it can take hours.

3.a. [optional]

       make check 2>&1 | tee tests.log

3.b. The system is ready to install

If you configured the system to install in a place that needs special
privilege, e.g. /usr/local that requires administrator write, please
make sure that you've gained the adequate privileges.  Then, type:

      make install

3.c. The system is ready for use

After step 3.b., your should have a script called `open-axiom', in
/usr/local/bin or /banana/space/bin or /whichever/prefix/you/used/bin,
ready for use.  

4.  Enjoy
    -----

We would like to hear from you.  Send us comments and suggestions at

           open-axiom-help@lists.sf.net


About Make
==========

OpenAxiom build system requires GNU Make.  It might theoretically be
possible to cram the Makefiles so that they can work with a large set 
of Make programs.  However, doing so will not be cost effective.  GNU 
Make has been ported to virtually any system current OpenAxiom can build
one.  In particular, OpenAxiom uses GCL, which in turns requires GCC.
GCC requires GNU Make.  GCL too requires GNU Make.  Consequently,
the GNU Make requirement is not a stringent requirement.  It just
reflects reality.

So, if you're using a system where "make" is not GNU Make, then try
"gmake" instead. 

Gabriel Dos Reis