~ubuntu-branches/ubuntu/wily/acl2/wily

« back to all changes in this revision

Viewing changes to doc/HTML/installation/obtaining-and-installing.html

  • Committer: Package Import Robot
  • Author(s): Camm Maguire
  • Date: 2015-01-16 10:35:45 UTC
  • mfrom: (3.3.26 sid)
  • Revision ID: package-import@ubuntu.com-20150116103545-prehe9thgo79o8w8
Tags: 7.0-1
New upstream release

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<HTML>
2
 
<HEAD><TITLE>ACL2 Version 6.5 Installation Guide: Obtaining and Installing ACL2</TITLE></HEAD>
3
 
 
4
 
<BODY TEXT="#000000">
5
 
<BODY BGCOLOR="#FFFFFF">
6
 
 
7
 
<H1>Obtaining and Installing ACL2</A></H1>
8
 
 
9
 
<b><font>[<a href="installation.html">Back to main page of Installation Guide.</a>]</font></b>
10
 
 
11
 
<p>
12
 
 
13
 
<B>Table of Contents</B><BR>
14
 
 
15
 
<UL>
16
 
  <LI><A HREF="#Shortcuts">Pre-built Binary Distributions</A>
17
 
  <UL>
18
 
    <LI><A HREF="#Shortcut-acl2s">Linux/Mac/Windows Binaries in ACL2s</A>
19
 
    <LI><A HREF="#Shortcut-windows">Windows</A>
20
 
    <LI><A HREF="#Shortcut-MacPorts">MacPorts for Mac OS X</A>
21
 
    <LI><A HREF="#Shortcut-debian">Debian GNU Linux</A>
22
 
  </UL>
23
 
  <LI><A HREF="#Sources">Obtaining the Sources and Community Books</A>
24
 
  <LI><A HREF="#Create-Image">Creating or Obtaining an Executable Image</A>
25
 
  <UL>
26
 
<!-- The following is only for non-incremental releases. -->
27
 
    <LI><A HREF="#Pre-Built-Images">Pre-Built Images</A>
28
 
<!-- End of only for non-incremental releases. -->
29
 
    <LI><A HREF="#Other-Unix">Building an Executable image on a Unix-like System</A>
30
 
    <LI><A HREF="#Non-Unix">Building an Executable image on Other than
31
 
    a Unix-like Systems</A>
32
 
    <LI><A HREF="#Build-Particular">Building an Executable Image on Some Particular Systems</A>
33
 
    <UL>
34
 
      <LI><A HREF="#Windows-GCL">Special Case: Building an Executable Image on a Windows System using GCL</A>
35
 
      <LI><A HREF="windows-gcl-jared.html">Older instructions from Jared Davis for
36
 
      building ACL2 on Windows using mingw</A>
37
 
    </UL>
38
 
  </UL>
39
 
  <LI><A HREF="#Running">Running Without Building an Executable Image</A>
40
 
  <LI><A HREF="#Summary">Summary of Distribution</A>
41
 
  <LI><A HREF="#Bleeding-edge">Bleeding-edge Distributions via SVN</A>
42
 
</UL>
43
 
 
44
 
<p><hr size=4 noshade><p>
45
 
 
46
 
ACL2 is more than just the executable image.  In particular, it comes
47
 
with a user's manual, but you will almost certainly want to obtain the
48
 
distributed books.  Start here and we will take you through the whole
49
 
process of obtaining and installing ACL2.
50
 
 
51
 
<p>
52
 
 
53
 
First, create a directory in which to store ACL2 Version 6.5.  We will
54
 
call this directory <I>dir</I>.  For example, <I>dir</I> might be
55
 
<CODE>/home/jones/acl2/v6-5</CODE>.
56
 
 
57
 
<H3>NOTE: If you intend to obtain an incremental release (e.g. 2.9.4 as opposed
58
 
to 2.9), please see the <a href="../new.html">ACL2 News</a> for instructions.
59
 
Otherwise, continue reading here.</H3>
60
 
 
61
 
<p>
62
 
 
63
 
A collection of <em>books</em> (ACL2 input files typically including
64
 
definitions and theorems) has been developed over the years for use
65
 
with ACL2, called the "community books".  It is very useful to
66
 
obtain these books, which are distributed via SVN from the Google
67
 
Code <a href="https://code.google.com/p/acl2-books/">acl2-books
68
 
project website</a> or, as gzipped tarfiles, from
69
 
<code><a href="http://acl2.org">http://acl2.org</a></code>.
70
 
Directions are included below.
71
 
 
72
 
<BR><HR noshade size=8><BR>
73
 
<H2><A NAME="Shortcuts">Pre-built Binary Distributions</A></H2>
74
 
 
75
 
Visit the "Recent changes to this page" link on the <A
76
 
HREF="http://www.cs.utexas.edu/users/moore/acl2/">ACL2 home page</A> to see if
77
 
there are other shortcuts available.
78
 
 
79
 
<p>
80
 
 
81
 
WARNING: Some of these packages might be for old version of ACL2.  We
82
 
recommend that you use the latest version of ACL2 (Version 6.5).
83
 
 
84
 
<UL>
85
 
 
86
 
<LI><B><A NAME="Shortcut-acl2s">Linux/Mac/Windows Binaries in ACL2s</A></B>
87
 
 
88
 
<p>
89
 
 
90
 
The <a href="http://acl2s.ccs.neu.edu/acl2s/doc/">ACL2 Sedan</a>
91
 
(ACL2s) is an Eclipse-based IDE for ACL2 that is distributed with pre-certified
92
 
books and pre-built binaries.  If you
93
 
  use an alternative development environment (such as Emacs), you
94
 
can still <a href="http://acl2s.ccs.neu.edu/acl2s/src/acl2/">fetch a
95
 
tarball</a> for your x86-based Linux/Mac/Windows system that contains a
96
 
pre-built binary of (pure) ACL2, using the following instructions
97
 
based on information kindly provided by Harsh Raju Chamarthi.
98
 
Just extract the
99
 
appropriate tarball (using <code>tar xfz</code> on Linux or Mac
100
 
and <code>unzip</code> on Windows)
101
 
under a path with <i>no</i> spaces.
102
 
Then run the script you will
103
 
find, <code>run_acl2</code> on Linux or Mac
104
 
and <code>run_acl2.exe</code> on Windows, to start an ACL2 session.
105
 
(Note that The first time you execute that command,
106
 
the certificate (<code>.cert</code>) files are automatically
107
 
fixed, according to the full pathname of your <code>books/</code> directory.)
108
 
Also see
109
 
the <a href="http://www.cs.utexas.edu/users/moore/acl2/v6-5/combined-manual/index.html?topic=ACL2____ACL2-SEDAN">ACL2
110
 
documentation topic on the ACL2 Sedan</a>.
111
 
 
112
 
 
113
 
<LI><B><A NAME="Shortcut-windows">Windows</A></B>
114
 
 
115
 
<p>
116
 
 
117
 
In the past, a Windows Installer for ACL2 has included a Unix
118
 
environment, pre-certified standard and workshop books, and a copy of
119
 
Gnu Emacs.  This capability has largely been superseded
120
 
by <a href="#Build-Particular">the section on Building an Executable
121
 
Image on Some Particular Systems</a> and
122
 
the Shortcut using the ACL2 Sedan, <a href="#Shortcut-acl2s">above</a>.
123
 
See also <a href="../distrib/windows/">information about ACL2 on
124
 
Windows</a>.
125
 
 
126
 
<LI><B><A NAME="Shortcut-MacPorts">MacPorts for Mac OS X</A></B>
127
 
 
128
 
<p>
129
 
 
130
 
ACL2 versions have sometimes been made available under MacPorts.  If
131
 
  we learn that an up-to-date version is available, we will add
132
 
  instructions here.
133
 
 
134
 
<LI><B><A NAME="Shortcut-debian">Debian GNU Linux</A></B>
135
 
 
136
 
<p>
137
 
 
138
 
A Debian Gnu Linux package is available, which is likely to work on
139
 
other Linux systems as well.  Thanks to Camm Maguire for maintaining
140
 
this package, and for pointing out that as Debian packages are simply
141
 
ar and tar archives, they can be unpacked on any linux system, and who
142
 
has said: "If someone is running Debian, all they want to do is
143
 
'apt-get install acl2', doing likewise for any optional add-on package
144
 
they wish as well, e.g. emacs, infix, etc."  Alternatively, Debian GNU
145
 
Linux users may wish
146
 
to <A HREF="http://packages.qa.debian.org/a/acl2.html">download the
147
 
Debian package for Linux</A>.  Or, see following annotated log,
148
 
provided by Camm Maguire, to see another way to proceed.
149
 
 
150
 
<pre>
151
 
     camm@localhost:~$ cd /tmp
152
 
     camm@localhost:/tmp$ mkdir a
153
 
     camm@localhost:/tmp$ cd a
154
 
     camm@localhost:/tmp/a$ wget ftp://ftp.debian.org/debian/pool/main/a/acl2/acl2*5.0*_{i386,all}*b
155
 
 
156
 
     ;;; or ftp, use browser, etc.  I.e. download the .deb files.  Replace
157
 
     ;;; i386 above with amd64 if the target is a 64bit Ubuntu machine.
158
 
     ;;; Other target names should be self explanatory.  The 'all'
159
 
     ;;; designation refers to binary independent data. 
160
 
 
161
 
     camm@localhost:/tmp/a$ ls
162
 
     acl2_5.0-1_i386.deb           acl2-books-certs_5.0-1_all.deb   acl2-doc_5.0-1_all.deb    acl2-infix_5.0-1_i386.deb        acl2-source_5.0-1_all.deb
163
 
     acl2-books_5.0-1_i386.deb  acl2-books-source_5.0-1_all.deb  acl2-emacs_5.0-1_all.deb  acl2-infix-source_5.0-1_all.deb
164
 
     camm@localhost:/tmp/a$ for i in *b; do ar x $i; tar zxf data.tar.gz; done
165
 
 
166
 
     ;;; unpack files in current directory
167
 
 
168
 
     camm@localhost:/tmp/a$ sed -e 's,usr,tmp/a/usr,g' usr/bin/acl2 &gt;tmp && chmod 755 tmp && mv tmp usr/bin/acl2
169
 
 
170
 
     ;;; Edit shell script wrapper to refer to the local path
171
 
 
172
 
     camm@localhost:/tmp/a$ usr/bin/acl2
173
 
     GCL (GNU Common Lisp)  2.6.7 CLtL1    Aug 22 2012 15:25:31
174
 
     Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl)
175
 
     Binary License:  GPL due to GPL'ed components: (XGCL READLINE UNEXEC)
176
 
     Modifications of this banner must retain notice of a compatible license
177
 
     Dedicated to the memory of W. Schelter
178
 
 
179
 
     Use (help) to get some basic information on how to use GCL.
180
 
     Temporary directory for compiler files set to /tmp/
181
 
 
182
 
      ACL2 Version 5.0 built August 25, 2012  11:53:08.
183
 
      Copyright (C) 2012  University of Texas at Austin
184
 
      ACL2 comes with ABSOLUTELY NO WARRANTY.  This is free software and you
185
 
      are welcome to redistribute it under certain conditions.  For details,
186
 
      see the GNU General Public License.
187
 
 
188
 
      Initialized with (INITIALIZE-ACL2 'INCLUDE-BOOK *ACL2-PASS-2-FILES*).
189
 
      See the documentation topic note-5-0 for recent changes.
190
 
      Note: We have modified the prompt in some underlying Lisps to further
191
 
      distinguish it from the ACL2 prompt.
192
 
 
193
 
     ACL2 Version 5.0.  Level 1.  Cbd "/tmp/a/".
194
 
     System books directory "/tmp/a/usr/share/acl2-5.0/books/".
195
 
     Type :help for help.
196
 
     Type (good-bye) to quit completely out of ACL2.
197
 
 
198
 
     ACL2 !&gt;
199
 
</pre>
200
 
 
201
 
</UL>
202
 
 
203
 
<BR><HR noshade size=8><BR>
204
 
<H2><A NAME="Sources">Obtaining the Sources and Community Books</A></H2>
205
 
 
206
 
Obtain the sources and place them in directory
207
 
<I>dir</I> as follows.
208
 
 
209
 
<p>
210
 
 
211
 
(First, a note for Windows users only: we suggest that you obtain a
212
 
Unix-like environment or, at least, download a utility such as
213
 
<code>djtarnt.exe</code> to use with the <code>-x</code> option on
214
 
gzipped tarfiles.  WARNING: At least one user experienced CR/LF issues
215
 
when using WinZIP, but we have received the suggestion that people
216
 
untarring with that utility should probably turn off smart cr/lf
217
 
conversion.)
218
 
 
219
 
<UL>
220
 
 
221
 
<LI>Save <A HREF="http://www.cs.utexas.edu/users/moore/acl2/v6-5/distrib/acl2.tar.gz">
222
 
    acl2.tar.gz</A> on directory <I>dir</I>.  (You can
223
 
    run <code>md5sum</code> and compare
224
 
    with <A HREF="http://www.cs.utexas.edu/users/moore/acl2/v6-5/distrib/acl2-tar-gz-md5sum">
225
 
    acl2-tar-gz-md5sum</A> if you wish to verify the transmission.)
226
 
  </LI>
227
 
<BR>
228
 
 
229
 
<LI>Execute the following four Unix commands.  (<b>Note</b>:
230
 
Gnu tar is preferred, as there have been some problems with long file
231
 
names when using tar provided by SunOS.  You may want to use the -i
232
 
option, "<code>tar xpvfi acl2.tar</code>", if you have problems with
233
 
other than Gnu tar.  You can see if you have Gnu tar by running
234
 
"<code>tar -v</code>".)
235
 
 
236
 
<BR><BR>
237
 
<CODE>cd <I>dir</I></CODE><BR>
238
 
<CODE>tar xfz acl2.tar.gz</CODE><BR>
239
 
<CODE>rm acl2.tar.gz</CODE><BR>
240
 
<CODE>cd acl2-sources</CODE><BR>
241
 
<BR>
242
 
</LI>
243
 
 
244
 
<LI><A NAME="Obtaining-books"</A>We strongly suggest that you now
245
 
       install the community books,
246
 
       using <b><font color="red">one</font></b> of the following
247
 
       methods, while still connected to the new <acl2-sources/>
248
 
       directory.
249
 
       <BR><BR>
250
 
 
251
 
<UL>
252
 
 
253
 
  <li><b>Easy download.</b>  Fetch a gzipped tarfile of the community
254
 
    books
255
 
    from <code><a href="http://acl2.org">http://acl2.org</a></code>,
256
 
    and then extract as follows to create a <code>books/</code>
257
 
    subdirectory:<BR>
258
 
 
259
 
    <code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tar xfz books-6.5.tar.gz</code>
260
 
  </li>
261
 
 
262
 
  <li><b><font color="red">OR</font></b>, obtain a read-only copy
263
 
    using SVN to be placed in a new subdirectory, <code>books/</code>:<br>
264
 
 
265
 
      <code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;svn checkout http://acl2-books.googlecode.com/svn/branches/6.5 books</code>
266
 
  </li>
267
 
        
268
 
  <li><b><font color="red">OR</font></b>, for read-write access,
269
 
    become a member of the acl2-books project by contacting one of the
270
 
    project administrators
271
 
    (see <a href="https://code.google.com/p/acl2-books/">the
272
 
    acl2-books project page</a>). Then:<br>
273
 
          
274
 
    <code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;svn checkout https://acl2-books.googlecode.com/svn/branches/6.5 books --username &lt;name&gt;</code>
275
 
  </li>
276
 
  <BR>
277
 
 
278
 
</UL>
279
 
 
280
 
<B><font color="red">NOTE</font></B>:  The second and third methods
281
 
provide all of the community books, but the first omits the
282
 
<code>workshops/</code> subdirectories of these <code>books/</code>,
283
 
which contains books contributed in support of papers presented at
284
 
ACL2 workshops.  You can fetch the gzipped tarball for
285
 
the <code>workshops/</code> directory
286
 
from <code><a href="http://acl2.org">http://acl2.org</a></code>.  Then
287
 
put that gzipped tarfile in the <CODE>acl2-sources/books/</CODE>
288
 
directory, connect to that directory, and extract to create
289
 
a <CODE>workshops/</CODE> subdirectory:<BR>
290
 
 
291
 
<CODE>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tar xfz workshops-6.5.tar.gz</CODE><BR>
292
 
 
293
 
</UL>
294
 
 
295
 
<BR><HR noshade size=8><BR>
296
 
<H2><A NAME="Create-Image">Creating or Obtaining an Executable Image</A></H2>
297
 
 
298
 
The next step is to create an executable image.  The common approach is to
299
 
build that image from the sources you have already obtained.
300
 
<!-- The following is only for non-incremental releases. -->
301
 
However, you may
302
 
be able to <A HREF="#Pre-Built-Images">take a short cut by downloading an
303
 
ACL2 image</A>, in which case you can skip ahead to <A HREF="#Summary">Summary of
304
 
Distribution</A>.  Otherwise you should click on one of the links just below.
305
 
<!-- End of only for non-incremental releases. -->
306
 
Choose the last option if you are using a Common Lisp on which you cannot save
307
 
an image (e.g., a trial version of Allegro Common Lisp).
308
 
 
309
 
<P>
310
 
PLEASE NOTE: The available memory for ACL2 is determined by the underlying
311
 
Common Lisp executable.  If you need more memory, refer to your Common Lisp's
312
 
instructions for building an executable.
313
 
 
314
 
<UL>
315
 
<LI><A HREF="#Other-Unix">Building an Executable Image on a Unix-like System</A>
316
 
<LI><A HREF="#Non-Unix">Building an Executable Image on Other than a
317
 
    Unix-like System</A>
318
 
<LI><A HREF="#Running">Running Without Building an Executable Image</A>
319
 
</UL>
320
 
 
321
 
<!-- The following is only for non-incremental releases. -->
322
 
 
323
 
<BR><HR><BR>
324
 
<H3><A NAME="Pre-Built-Images">Short Cut:  Pre-Built ACL2 Images</A></H3>
325
 
 
326
 
The site <a
327
 
href="http://www.cs.utexas.edu/users/moore/acl2/v6-5/distrib/images/Readme.html">http://www.cs.utexas.edu/users/moore/acl2/v6-5/distrib/images/Readme.html</a>
328
 
contains links to ACL2 executables and packages.  Each <code>-md5sum</code> file
329
 
was created using <code>md5sum</code>.  We may add additional
330
 
links from time to time.
331
 
 
332
 
<p>
333
 
 
334
 
Now proceed to <A HREF="using.html">Using ACL2</A>.
335
 
 
336
 
<!-- End of only for non-incremental releases. -->
337
 
 
338
 
<BR><HR><BR>
339
 
<H3><A NAME="Other-Unix">Building an Executable Image on a Unix-like System</A></H3>
340
 
 
341
 
We assume you have obtained ACL2 and placed it in directory <I>dir</I>, as
342
 
described <A HREF="#Sources">above</A>.
343
 
<!-- The following is only for non-incremental releases. -->
344
 
If you downloaded a <A
345
 
HREF="#Pre-Built-Images">pre-built ACL2 image</A>, you may skip this section.
346
 
<!-- End of only for non-incremental releases. -->
347
 
Connect to <I>dir</I> as above and execute <BR><BR> <CODE>cd
348
 
acl2-sources</CODE><BR> <CODE>make LISP=</CODE><I>xxx</I><BR>
349
 
<BR>
350
 
where <I>xxx</I> is the command to run your local Common Lisp.
351
 
<P>
352
 
By default, if no <CODE>LISP=</CODE><I>xxx</I> is specified,
353
 
<CODE>LISP=ccl</CODE> is used.  On our hosts, <CODE>ccl</CODE> is the name of
354
 
Clozure Common Lisp (CCL), which can be obtained as explained <a
355
 
href="requirements.html#Obtaining-CCL">in the Requirements document</a>.
356
 
 
357
 
<P>
358
 
 
359
 
This will create executable <code>saved_acl2</code> in the
360
 
<code>acl2-sources</code> directory.
361
 
 
362
 
<P>
363
 
 
364
 
The time taken to carry out this process depends on the host processor
365
 
but may be only a few minutes for a fast processor.  The size of the
366
 
resulting binary image is dependent on which Lisp was used, but it may
367
 
a couple hundred megabytes or so.
368
 
 
369
 
<P>
370
 
This <CODE>make</CODE> works for the Common Lisp implementations listed
371
 
in <A HREF="requirements.html">Requirements document</A> on systems we
372
 
have tested.  See the file <CODE>acl2-sources/GNUmakefile</CODE> for
373
 
further details.  If this <CODE>make</CODE> command does not work for
374
 
you, please see the instructions below for <A HREF="#Non-Unix">other
375
 
than Unix-like systems</A>.
376
 
 
377
 
<P>
378
 
You can now skip to <A HREF="using.html">Using ACL2</A>.
379
 
<P>
380
 
 
381
 
<BR><HR><BR>
382
 
<H3><A NAME="Non-Unix">Building an Executable Image on Other than a
383
 
    Unix-like System</A></H3>
384
 
 
385
 
Next we describe how to create a binary image containing ACL2 without
386
 
using the `<code>make</code>' utility.  If you are using a <B>trial
387
 
version</B> of Allegro Common Lisp, then you may not be able to save
388
 
an image.  In that case, skip to <A href="#Running">Running Without
389
 
Building an Executable Image</A>.
390
 
 
391
 
<P>
392
 
 
393
 
See also <a href="#Build-Particular">Building an Executable Image on Some Particular
394
 
Systems</a>, in case you want to skip directly to the instructions in one of
395
 
its subtopics.
396
 
 
397
 
<P>
398
 
 
399
 
Otherwise, proceed as follows.
400
 
 
401
 
<P>
402
 
 
403
 
Your Common Lisp should be one of those listed in
404
 
<A HREF="requirements.html">Requirements document</A>.  Filenames
405
 
below should default to the <I>dir</I><CODE>/acl2-sources</CODE>
406
 
directory; please connect to that directory before continuing.
407
 
 
408
 
<OL>
409
 
<P><LI> Remove file <CODE>nsaved_acl2</CODE> if it exists.</LI>
410
 
 
411
 
<P><LI> Start up Common Lisp in the <CODE>acl2-sources</CODE> directory
412
 
and submit the following sequence of commands.
413
 
 
414
 
<PRE>
415
 
  ; Compile
416
 
  (load "init.lisp")
417
 
  (in-package "ACL2")
418
 
  (compile-acl2)
419
 
</PRE>
420
 
 
421
 
  The commands above will compile the ACL2 sources and create compiled object
422
 
  files on your <CODE>acl2-sources</CODE> subdirectory.
423
 
</LI>
424
 
 
425
 
<P><LI> Now exit your Common Lisp and invoke a fresh copy of it (mainly to avoid
426
 
  saving an image with the garbage created by the compilation process). Again
427
 
  arrange to connect to the <CODE>acl2-sources</CODE> subdirectory. In the
428
 
  fresh Lisp <a name="initialization-first-pass">type</a>:
429
 
 
430
 
<PRE>
431
 
  ; Initialization, first pass
432
 
  (load "init.lisp")
433
 
  (in-package "ACL2")
434
 
  (load-acl2)
435
 
  (initialize-acl2)
436
 
</PRE>
437
 
 
438
 
  This will load the new object files in the Lisp image and bootstrap ACL2 by
439
 
  reading and processing the source files. But the attempt at initialization
440
 
  will end in an error saying that it is impossible to finish because a certain
441
 
  file was compiled during the processing, thus dirtying the image yet again.
442
 
  (If however the attempt ends with an error during compilation of file
443
 
  <code>TMP1.lisp</code>, see the first troubleshooting tip <a
444
 
  href="#troubleshooting-TMP1">below</a>.)
445
 
</LI>
446
 
 
447
 
<P><LI> So now exit your Common Lisp and invoke a fresh copy of it (again arranging
448
 
  to connect to your <CODE>acl2-sources</CODE> subdirectory). Then, in the
449
 
  fresh Lisp type:
450
 
 
451
 
<PRE>
452
 
  ; Initialization, second pass
453
 
  (load "init.lisp")
454
 
  (in-package "ACL2")
455
 
  (save-acl2 (quote (initialize-acl2))
456
 
             "saved_acl2")
457
 
</PRE>
458
 
 
459
 
  You have now saved an image.  Exit Lisp now.  Subsequent steps will put the
460
 
  image in the right place.
461
 
 
462
 
<P><LI> Remove <CODE>osaved_acl2</CODE> if it exists.
463
 
 
464
 
<P><LI> <b>IF</b> <CODE>saved_acl2</CODE> and <CODE>saved_acl2.dxl</CODE> both exist <b>THEN</b>:
465
 
<ul>
466
 
     <li>move <CODE>saved_acl2.dxl</CODE> to <CODE>osaved_acl2.dxl</CODE></li>
467
 
     <li>move <CODE>saved_acl2</CODE> to <CODE>osaved_acl2</CODE>
468
 
         and edit <CODE>osaved_acl2</CODE>, changing <CODE>saved_acl2.dxl</CODE>
469
 
         (at end of line) to <CODE>osaved_acl2.dxl</CODE></li>
470
 
</ul>
471
 
     <b>ELSE IF</b> <CODE>saved_acl2</CODE> exists <b>THEN</b>:
472
 
<ul>
473
 
     <li>move <CODE>saved_acl2</CODE> to <CODE>osaved_acl2</CODE></li>
474
 
</ul>
475
 
</LI>
476
 
 
477
 
<P><LI> Move <CODE>nsaved_acl2</CODE> to <CODE>saved_acl2</CODE>.</LI>
478
 
 
479
 
<P><LI> For some Common Lisps, a
480
 
     file <CODE>nsaved_acl2.</CODE><em>suffix</em> is created for some
481
 
     <em>suffix</em>.
482
 
     Move it to: <CODE>saved_acl2.</CODE><em>suffix</em></LI>
483
 
 
484
 
<P><LI> Make sure <CODE>saved_acl2</CODE> is executable.  For Windows
485
 
this involves two mini-steps:
486
 
 
487
 
<blockquote>
488
 
 
489
 
(a) Remove the <code>"$*"</code> from the <code>saved_acl2</code>
490
 
script (because Windows does not understand <code>$*</code>).
491
 
Consequently, any arguments you pass to ACL2 via the command line will
492
 
be ignored.
493
 
 
494
 
<p>
495
 
 
496
 
(b) Rename <code>saved_acl2</code> to <code>saved_acl2.bat</code>, for
497
 
example by executing the following command.<br><br>
498
 
<code>rename saved_acl2 saved_acl2.bat</code>
499
 
 
500
 
</blockquote>
501
 
</LI>
502
 
 
503
 
</OL>
504
 
 
505
 
<BR><HR><BR>
506
 
<H3><A NAME="Build-Particular">Building an Executable Image on Some Particular Systems</A></H3>
507
 
 
508
 
Subtopics of this section are as follows.
509
 
 
510
 
    <UL>
511
 
      <LI><A HREF="#Windows-GCL">Special Case: Building an Executable Image on a Windows System using GCL</A>
512
 
      <LI><A HREF="windows7.html">Instructions from David Rager
513
 
      for building ACL2 on Windows</A>
514
 
      <LI><A HREF="windows-gcl-jared.html">Older instructions from Jared Davis for
515
 
      building ACL2 on Windows using mingw</A>
516
 
    </UL>
517
 
 
518
 
<BR><HR><BR>
519
 
<H3><A NAME="Windows-GCL">Special Case: Building an Executable Image on a Windows System using GCL</A></H3>
520
 
 
521
 
You may want to skip this section and instead read <A
522
 
HREF="windows7.html">Instructions from David Rager for building ACL2
523
 
on Windows</A>.
524
 
 
525
 
<!-- The following is only for non-incremental releases. -->
526
 
Or, you may be able to <a href="#Pre-Built-Images">download a pre-built ACL2 image</a>
527
 
for Windows instead of reading this section.
528
 
<!-- End of only for non-incremental releases. -->
529
 
 
530
 
<p>
531
 
 
532
 
Otherwise here are steps to follow.
533
 
 
534
 
<ol>
535
 
<li><b>FIRST</b> get GCL running on your Windows system using <b>ONE</b> of the
536
 
following two options.  Note that GCL can be unhappy with spaces in filenames,
537
 
so you should probably save the GCL distribution to a directory whose path is
538
 
free of spaces.
539
 
 
540
 
<ul>
541
 
<li><b>OR</b>, obtain GCL for Windows systems from <code><a
542
 
href="ftp://ftp.gnu.org/gnu/gcl/">ftp://ftp.gnu.org/gnu/gcl/</a></code>
543
 
or as explained <a href="#Obtaining-GCL">above</a>.  You
544
 
may wish to pick a <code>.zip</code> file from the <code>cvs/</code>
545
 
subdirectory (containing pre-releases) that has "<code>mingw32</code>" in the
546
 
name.
547
 
 
548
 
<li><b>OR ELSE</b>, perhaps you can build GCL on your Windows system from the
549
 
sources.  The mingw tools and the cygnus bash shell have been used to build
550
 
distributed GCL executables.
551
 
 
552
 
</ul>
553
 
 
554
 
<li><b>SECOND</b>, create an appropriate GCL batch file.  When we tried running
555
 
the script <code>gclm/bin/gclm.bat</code> that came with
556
 
<code>gcl-cvs-20021014-mingw32</code> from the above ftp site, a separate
557
 
window popped up, and with an error.  Many ACL2 users prefer running in an
558
 
emacs shell buffer.  (We obtained emacs for Windows from <code><a
559
 
href="ftp://ftp.gnu.org/gnu/windows/emacs/21.2/emacs-21.2-fullbin-i386.tar.gz">ftp://ftp.gnu.org/gnu/windows/emacs/21.2/emacs-21.2-fullbin-i386.tar.gz</a></code>.)
560
 
The following modification of <code>gclm.bat</code> seemed to solve the problem
561
 
(your pathnames may vary).
562
 
<pre>
563
 
@
564
 
% do not delete this line %
565
 
@ECHO off
566
 
set cwd=%cd%
567
 
path C:\gcl\gclm\mingw\bin;%PATH%
568
 
C:\gcl\gclm\lib\gcl-2.6.2\unixport\saved_gcl.exe -dir C:/gcl/gclm/lib/gcl-2.6.2/unixport/ -libdir  C:/gcl/gclm/lib/gcl-2.6.2/ -eval "(setq si::*allow-gzipped-file* t)" %1 %2 %3 %4 %5 %6 %7 %8 %9
569
 
</pre>
570
 
 
571
 
<li><b>THIRD</b>, follow the <A HREF="#Non-Unix">instructions for
572
 
    other than Unix-like systems</A> above, though the resulting file
573
 
    may be called
574
 
<code>saved_acl2.exe</code> rather than <code>saved_acl2</code>.
575
 
 
576
 
<!-- NOTE to developers: v6-5 below indicates a normal release, which is OK. -->
577
 
<!-- Do not edit that for incremental releases. -->
578
 
 
579
 
<li><b>FINALLY</b>, create a file <code>acl2.bat</code> as explained in
580
 
<code><a href="http://www.cs.utexas.edu/users/moore/acl2/v6-5/distrib/images/Readme.html#acl2-bat">
581
 
http://www.cs.utexas.edu/users/moore/acl2/v6-5/distrib/images/Readme.html</a></code>.
582
 
 
583
 
</ol>
584
 
 
585
 
<p>
586
 
 
587
 
We hope that the above simply works.  If you experience
588
 
problems, the following hints may help.
589
 
 
590
 
<p>
591
 
 
592
 
<b>TROUBLESHOOTING:</b>
593
 
<ul>
594
 
 
595
 
<li><a name="troubleshooting-TMP1">We</a> tried building ACL2 on Windows XP on
596
 
top of GCL, our attempt broke at the end of the "<a
597
 
href="#initialization-first-pass">Initialization, first pass</a>" step, while
598
 
compiling <code>TMP1.lisp</code>.  That was easily remedied by starting up a
599
 
fresh GCL session and invoking <code>(compile-file "TMP1.lisp")</code> before
600
 
proceeding to the next step.
601
 
 
602
 
<li>Yishai Feldman has provided some nice instructions at <code><a
603
 
href="http://www.faculty.idc.ac.il/yishai/reasoning/win-install.htm">http://www.faculty.idc.ac.il/yishai/reasoning/win-install.htm</a></code>,
604
 
some of which we have tried to incorporate here.  A useful point made there is
605
 
that when you want to quit ACL2, use <code>:good-bye</code> (or
606
 
<code>(good-bye)</code> which works even in raw Lisp).  Or you can use
607
 
<code>(user::bye)</code> in raw Lisp.  The point is:  Avoid <code>control-c
608
 
control-d</code>, even thought that often works fine in emacs under
609
 
Unix-like systems.
610
 
 
611
 
<li>If the above batch file does not work for some reason, an alternate
612
 
approach may be to set environment variables.  You may be able to add to the
613
 
<code>PATH</code> variable <i>gcl-dir</i><code>\gcc\bin</code>, where
614
 
<i>gcl-dir</i> is the directory where GCL is installed.  To get to the place to
615
 
set environment variables, you might be able to go to the control panel, under
616
 
system, under advanced.  Alternately, you might be able to get there by opening
617
 
<code>My Computer</code> and right-clicking to get to <code>Properties</code>,
618
 
then selecting the <code>Advanced</code> tab.  At one time, when GCL/Windows
619
 
was release as Maxima, Pete Manolios suggested adding the system variable
620
 
LD_LIBRARY_PATH with the value "maxima-dir\gcc\i386-mingw32msvc\include"; this
621
 
may or may not be necessary for your GCL installation (and the path would of
622
 
course likely be different).
623
 
 
624
 
</ul>
625
 
 
626
 
<BR><HR noshade size=8><BR>
627
 
 
628
 
<H2><A NAME="Running">Running Without Building an Executable Image</A></H2>
629
 
 
630
 
The most convenient way to use ACL2 is first to install an executable image as
631
 
described above for <A HREF="#Other-Unix">Unix-like systems</A> and <A
632
 
HREF="#Non-Unix">other</A> platforms.  However, in some cases this is not
633
 
possible, for example if you are using a trial version of Allegro Common Lisp.
634
 
In that case you should follow the steps below each time you want to start up
635
 
ACL2.
636
 
 
637
 
<P>
638
 
 
639
 
We assume you have obtained ACL2 and placed it in directory <I>dir</I>, as
640
 
described above for <A HREF="#Sources">Unix-like systems</A> or <A
641
 
HREF="#Sources-Non-Unix">other</A> platforms.
642
 
<!-- The following is only for non-incremental releases. -->
643
 
(If you downloaded a <A
644
 
HREF="#Pre-Built-Images">pre-built ACL2 image</A>, then you may skip this section.)
645
 
<!-- End of only for non-incremental releases. -->
646
 
Connect to subdirectory <CODE>acl2-sources</CODE> of <I>dir</I>,
647
 
start up your Common Lisp, and compile by executing the following forms.
648
 
<I>This sequence of steps need only be performed once.</I>
649
 
 
650
 
<PRE>
651
 
  (load "init.lisp")
652
 
  (in-package "ACL2")
653
 
  (compile-acl2)
654
 
</PRE>
655
 
 
656
 
Now each time you want to use ACL2, you need only execute the following forms
657
 
after starting up Common Lisp in subdirectory <CODE>acl2-sources</CODE> of
658
 
<I>dir</I>.
659
 
 
660
 
<PRE>
661
 
  (load "init.lisp")
662
 
  (in-package "ACL2")
663
 
  (load-acl2)
664
 
  (initialize-acl2)
665
 
</PRE>
666
 
 
667
 
<I>Note.</I> The resulting process includes the ACL2 documentation, and hence
668
 
will probably be considerably larger (perhaps twice the size) than the result
669
 
of running an executable image created as described <A
670
 
HREF="#Create-Image">above</A>.
671
 
 
672
 
<P>
673
 
 
674
 
Now proceed to read more about <A HREF="using.html">Using ACL2</A>.
675
 
 
676
 
<BR><HR noshade size=8><BR>
677
 
<H2><A NAME="Summary">Summary of Distribution</A></H2>
678
 
 
679
 
The ACL2
680
 
    distribution, <code><A HREF="http://www.cs.utexas.edu/users/moore/acl2/v6-5/distrib/acl2.tar.gz">
681
 
    acl2.tar.gz</A></code>, includes the ACL2 source files as well as
682
 
    the following files and directories (and a few others not
683
 
    mentioned here).  Note that a <code>books/</code> directory
684
 
    is <b>not included</b>; see instructions above to fetch the community
685
 
    books.
686
 
<PRE>
687
 
  LICENSE       ; ACL2 license file
688
 
  GNUmakefile   ; For GNU make
689
 
  TAGS          ; Handy for looking at source files with emacs
690
 
  doc/          ; ACL2 documentation
691
 
  emacs/        ; Some helpful emacs utilities
692
 
  installation/ ; Installation instructions (start with installation.html)
693
 
</PRE>
694
 
 
695
 
Also available are the following.
696
 
 
697
 
<ul>
698
 
 
699
 
<li><code><a href="http://www.cs.utexas.edu/users/moore/acl2/v6-5/distrib/images/">images/</a></code>:
700
 
Some gzip'd tar'd executables; see <code><a href="http://www.cs.utexas.edu/users/moore/acl2/v6-5/distrib/images/Readme.html">images/Readme.html</a></code></li>
701
 
 
702
 
<li><code><a href="http://www.cs.utexas.edu/users/moore/acl2/v6-5/distrib/split/">split/</a></code>: The result of splitting up <code>acl2.tar.gz</code></li>
703
 
 
704
 
</ul>
705
 
 
706
 
<P>
707
 
We estimate that the entire <code>acl2.tar.gz</code> consists of
708
 
approximately 4 MB, which extracts to about 15 MB, and the size of
709
 
gzipped tarfile <code>books-6.5.tar.gz</code> (obtained as described
710
 
<a href="#Obtaining-books">above</a>) is about 15 MB, which extracts
711
 
to about 87 MB.  (Gzipped tarfile <code>workshops-6.5.tar.gz</code>
712
 
and corresponding directory <code>workshops</code>, which are
713
 
mentioned above, have sizes of about 37 MB and 58 MB, respectively.)
714
 
Additional space is required to build an image, perhaps 50 to 300
715
 
megabytes depending on the platform (including the host Lisp); and
716
 
more will be required to <A HREF="using.html#Certifying">certify
717
 
books</A>.
718
 
 
719
 
<p>
720
 
 
721
 
<b><font size="+2">[<a href="installation.html">Back to Installation Guide.</a>]</font></b>
722
 
 
723
 
<BR><HR noshade size=8><BR>
724
 
<H2><A NAME="Bleeding-edge">Bleeding-edge Distributions via SVN</A></H2>
725
 
 
726
 
We strongly recommend that ACL2 users update their local copies of the
727
 
system and community books at each ACL2 release.  While that should
728
 
suffice for many ACL2 users, nevertheless for those who prefer to
729
 
obtain the latest developments, the ACL2 source code and community
730
 
books have been made available between ACL2 releases, by way of
731
 
revision control using SVN.
732
 
<i>The authors of ACL2 consider SVN distributions to be experimental;
733
 
while they will likely be fully functional in most cases, they could
734
 
however be incomplete, fragile, and unable to pass our own
735
 
regression.</i> If you decide to use SVN versions of either the ACL2
736
 
or the community books, then you should use both, as they tend to be
737
 
kept in sync.  See the project
738
 
websites, <code><A HREF="http://acl2-books.googlecode.com/">acl2-books</A></code>
739
 
and <code><A HREF="http://acl2-devel.googlecode.com/">acl2-devel</A></code>,
740
 
for the ACL2 community books and development sources, respectively.
741
 
 
742
 
<BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>
743
 
 
744
 
</BODY>
745
 
</HTML>