INSTALL
author wenzelm
Wed, 20 Sep 2000 14:59:19 +0200
changeset 10038 839340b78fc8
parent 10029 b889474af53f
child 10081 352412857003
permissions -rw-r--r--
tuned rpm command lines;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2759
79def3619417 Isabelle installation notes;
wenzelm
parents:
diff changeset
     1
8809
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
     2
Isabelle installation and compilation notes
6486
wenzelm
parents: 6416
diff changeset
     3
===========================================
2759
79def3619417 Isabelle installation notes;
wenzelm
parents:
diff changeset
     4
8809
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
     5
1) User installation
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
     6
--------------------
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
     7
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
     8
Here we assume that Isabelle has already been installed at your site.
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
     9
Otherwise see 2) below of how to get the Isabelle system installed in
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    10
the first place.
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    11
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    12
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    13
1a) Running the Isabelle binaries
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    14
---------------------------------
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    15
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    16
The Isabelle binaries (isatool, isabelle, Isabelle) may be invoked
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    17
directly from their location within the distribution directory
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    18
[ISABELLE_HOME] like this:
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    19
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    20
  [ISABELLE_HOME]/bin/isabelle HOL
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    21
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    22
This starts an interactive Isabelle session within your current text
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    23
terminal.  You may want to put [ISABELLE_HOME]/bin into your shell's
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    24
search PATH, but this is not strictly necessary.
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    25
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    26
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    27
Please do *not* copy (or link) the Isabelle scripts anywhere else ---
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    28
they just won't work!  If you really want to install independent
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    29
Isabelle binaries somewhere else then do it like this:
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    30
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    31
  [ISABELLE_HOME]/bin/isatool install -p ~/bin
2759
79def3619417 Isabelle installation notes;
wenzelm
parents:
diff changeset
    32
8809
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    33
Your site-wide Isabelle installation may already provide Isabelle
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    34
executables in some global bin directory (such as /usr/bin).
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    35
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    36
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    37
1b) Isabelle as KDE application
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    38
-------------------------------
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    39
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    40
Isabelle may be installed as application icon on the KDE desktop like
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    41
this:
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    42
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    43
  [ISABELLE_HOME]/bin/isatool install -k
2759
79def3619417 Isabelle installation notes;
wenzelm
parents:
diff changeset
    44
10029
b889474af53f updated;
wenzelm
parents: 9927
diff changeset
    45
You may have to refresh the KDE desktop in order to see the new icon.
b889474af53f updated;
wenzelm
parents: 9927
diff changeset
    46
Clicking on Isabelle will invoke the interface wrapper script (capital
b889474af53f updated;
wenzelm
parents: 9927
diff changeset
    47
Isabelle), which is usually configured to run Proof General (see also
b889474af53f updated;
wenzelm
parents: 9927
diff changeset
    48
the ISABELLE_INTERFACE setting).  Additional options may be passed to
b889474af53f updated;
wenzelm
parents: 9927
diff changeset
    49
Isabelle by editing the application's command line using the standard
b889474af53f updated;
wenzelm
parents: 9927
diff changeset
    50
KDE desktop functionality.
8809
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    51
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    52
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    53
2) System installation
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    54
----------------------
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    55
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    56
The Isabelle distribution is available both as traditional source-only
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    57
tar.gz archives, and as binary packages (currently only RPM for
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    58
Linux/x86).  In any case, the resulting Isabelle installation always
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    59
contains the full sources, thus any part of the system be recompiled
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    60
later, too.
2759
79def3619417 Isabelle installation notes;
wenzelm
parents:
diff changeset
    61
79def3619417 Isabelle installation notes;
wenzelm
parents:
diff changeset
    62
8809
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    63
2a) Binary installation
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    64
----------------------
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    65
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    66
Ready-to-go RPM packages are provided for the ML compiler and runtime
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    67
system, the Isabelle sources, and some major object-logics.  These
10029
b889474af53f updated;
wenzelm
parents: 9927
diff changeset
    68
packages should work on any major Linux/x86 platform based on RPM
b889474af53f updated;
wenzelm
parents: 9927
diff changeset
    69
package management.
8809
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    70
10029
b889474af53f updated;
wenzelm
parents: 9927
diff changeset
    71
A minimal installation would work like this (executed as root):
b889474af53f updated;
wenzelm
parents: 9927
diff changeset
    72
10038
839340b78fc8 tuned rpm command lines;
wenzelm
parents: 10029
diff changeset
    73
  rpm -i --prefix /usr/share polyml.i386.rpm
839340b78fc8 tuned rpm command lines;
wenzelm
parents: 10029
diff changeset
    74
  rpm -i --prefix /usr/share isabelle.rpm
839340b78fc8 tuned rpm command lines;
wenzelm
parents: 10029
diff changeset
    75
  rpm -i --prefix /usr/share isabelle-HOL.i386.rpm
8809
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    76
10038
839340b78fc8 tuned rpm command lines;
wenzelm
parents: 10029
diff changeset
    77
Note that installed RPMs may be removed like this:
839340b78fc8 tuned rpm command lines;
wenzelm
parents: 10029
diff changeset
    78
839340b78fc8 tuned rpm command lines;
wenzelm
parents: 10029
diff changeset
    79
  rpm -e isabelle-HOL isabelle polyml
839340b78fc8 tuned rpm command lines;
wenzelm
parents: 10029
diff changeset
    80
839340b78fc8 tuned rpm command lines;
wenzelm
parents: 10029
diff changeset
    81
The install prefix given above may be changed.  By default the ML
10029
b889474af53f updated;
wenzelm
parents: 9927
diff changeset
    82
system (and other contributed packages) are expected in either of the
b889474af53f updated;
wenzelm
parents: 9927
diff changeset
    83
following three locations:
b889474af53f updated;
wenzelm
parents: 9927
diff changeset
    84
b889474af53f updated;
wenzelm
parents: 9927
diff changeset
    85
  1) [ISABELLE_HOME]/contrib
b889474af53f updated;
wenzelm
parents: 9927
diff changeset
    86
  2) [ISABELLE_HOME]/..
b889474af53f updated;
wenzelm
parents: 9927
diff changeset
    87
  3) /usr/share
b889474af53f updated;
wenzelm
parents: 9927
diff changeset
    88
  4) /usr/local
b889474af53f updated;
wenzelm
parents: 9927
diff changeset
    89
10038
839340b78fc8 tuned rpm command lines;
wenzelm
parents: 10029
diff changeset
    90
This may be changed further by editing [ISABELLE_HOME]/etc/settings
839340b78fc8 tuned rpm command lines;
wenzelm
parents: 10029
diff changeset
    91
manually.
8809
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    92
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    93
Note that isabelle.rpm and isabelle-pdfdocs.rpm already contain all of
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    94
Isabelle as platform independent sources.  Precompiled object-logics
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    95
are provided for convenience.
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    96
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    97
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
    98
Recompiling logics
3263
wenzelm
parents: 3117
diff changeset
    99
------------------
2759
79def3619417 Isabelle installation notes;
wenzelm
parents:
diff changeset
   100
8809
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
   101
Some people prefer to be able to reconstruct the full system from the
10029
b889474af53f updated;
wenzelm
parents: 9927
diff changeset
   102
sources, rather than installing precompiled packages blindly.  We do
b889474af53f updated;
wenzelm
parents: 9927
diff changeset
   103
not provide source RPMs, yet any parts of Isabelle may be recompiled
b889474af53f updated;
wenzelm
parents: 9927
diff changeset
   104
after installation of the main isabelle.rpm package (which contains
b889474af53f updated;
wenzelm
parents: 9927
diff changeset
   105
only sources anyway).
8809
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
   106
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
   107
Assuming proper configuration of the underlying ML system, Isabelle
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
   108
object-logics may be recompiled like this:
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
   109
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
   110
  [ISABELLE_HOME]/build HOL FOL
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
   111
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
   112
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
   113
Source installation
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
   114
-------------------
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
   115
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
   116
Traditional tar.gz archives are provided for the full Isabelle sources
10029
b889474af53f updated;
wenzelm
parents: 9927
diff changeset
   117
and documentation as well.  Make sure your ML system (e.g. Poly/ML
8809
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
   118
etc.) has already been installed properly; then proceed as follows.
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
   119
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
   120
* Unpacking the archives.  After unpacking the Isabelle distribution
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
   121
archives (using tar and gzip) you are left with some directory
10029
b889474af53f updated;
wenzelm
parents: 9927
diff changeset
   122
IsabelleYY-X.
8809
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
   123
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
   124
* Auto configuration.  There are some minor adaptions to be made of
10029
b889474af53f updated;
wenzelm
parents: 9927
diff changeset
   125
the Isabelle distribution to your system environment (locations of
b889474af53f updated;
wenzelm
parents: 9927
diff changeset
   126
bash and perl).  Simply do it like this:
2759
79def3619417 Isabelle installation notes;
wenzelm
parents:
diff changeset
   127
79def3619417 Isabelle installation notes;
wenzelm
parents:
diff changeset
   128
  cd [ISABELLE_HOME]
79def3619417 Isabelle installation notes;
wenzelm
parents:
diff changeset
   129
  ./configure
79def3619417 Isabelle installation notes;
wenzelm
parents:
diff changeset
   130
8809
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
   131
Note that this does not store any references to [ISABELLE_HOME].  You
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
   132
may safely move the system later, without having to run ./configure
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
   133
again.
6258
1f85c03fb3df no deps on compile time sources;
wenzelm
parents: 5396
diff changeset
   134
8809
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
   135
* ML system settings and compilation.  Before actual compilation you
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
   136
have to tell Isabelle about your Standard ML system.  These settings
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
   137
reside in ./etc/settings, which may be also overridden by
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
   138
~/isabelle/etc/settings. There are already various sample
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
   139
configurations in ./etc/settings commented out.
2759
79def3619417 Isabelle installation notes;
wenzelm
parents:
diff changeset
   140
3117
wenzelm
parents: 2772
diff changeset
   141
To build the core Isabelle/Pure and the default object-logic, just
8809
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
   142
type
2759
79def3619417 Isabelle installation notes;
wenzelm
parents:
diff changeset
   143
79def3619417 Isabelle installation notes;
wenzelm
parents:
diff changeset
   144
  ./build
79def3619417 Isabelle installation notes;
wenzelm
parents:
diff changeset
   145
8809
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
   146
More object-logics can be made in a similar fashion:
2759
79def3619417 Isabelle installation notes;
wenzelm
parents:
diff changeset
   147
79def3619417 Isabelle installation notes;
wenzelm
parents:
diff changeset
   148
  ./build FOL HOL
79def3619417 Isabelle installation notes;
wenzelm
parents:
diff changeset
   149
9927
wenzelm
parents: 8809
diff changeset
   150
Explicit make targets may be given as follows:
wenzelm
parents: 8809
diff changeset
   151
wenzelm
parents: 8809
diff changeset
   152
  ./build -m HOL-Real HOL
wenzelm
parents: 8809
diff changeset
   153
8809
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
   154
After successful compilation you are ready to run the system, see 1)
85539b33be03 updated;
wenzelm
parents: 6486
diff changeset
   155
above for more information.
2759
79def3619417 Isabelle installation notes;
wenzelm
parents:
diff changeset
   156
79def3619417 Isabelle installation notes;
wenzelm
parents:
diff changeset
   157
79def3619417 Isabelle installation notes;
wenzelm
parents:
diff changeset
   158
$Id$