-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update the installation instructions. #125
Merged
Merged
Changes from 1 commit
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
4e17391
Update the installation instructions.
kape1395 0cc875c
Cygwin is not supported currently.
kape1395 cba4808
Merge remote-tracking branch 'origin/main' into docs-install
kape1395 ed54ce0
Use macos version that supports x86 architecture.
kape1395 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -21,158 +21,33 @@ | |
<h2>Generic Instructions</h2> | ||
|
||
<p>These instructions apply to any UNIX-like system, including | ||
GNU/Linux, most BSD variants, Solaris, Cygwin on Windows, | ||
GNU/Linux, most BSD variants, Solaris, WSL and Cygwin on Windows, | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Do we want to remove mention of Cygwin here and focus on WSL support? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thanks, I removed the mention of Cygwin. |
||
MacOSX, etc.</p> | ||
<p>Notes for Windows users:</p> | ||
<ul> | ||
<li>TLAPS requires Cygwin 3.0.7 or later. At this time it works only | ||
with the 32-bit version of cygwin.</li> | ||
<li>The following Cygwin packages are required for the | ||
instructions below: <code>gcc4</code>, <code>make</code>, | ||
<code>wget</code>, <code>perl</code>. Install them using | ||
Cygwin's <code>setup.exe</code>.</li> | ||
</ul> | ||
<p>Notes for Windows users: TLAPS requires WSL (Windows Subsystem for Linux).</p> | ||
|
||
<p> TLAPS tarball: | ||
<a href="https://github.com/tlaplus/tlapm/archive/v1.4.5.tar.gz">tlaps-1.4.5.tar.gz</a></p> | ||
|
||
|
||
<h3>1. Unpack TLAPS tarball</h3> | ||
<div class="hr"></div> | ||
|
||
<p>You can unpack TLAPS by running the following command:</p> | ||
|
||
<div class="terminal">$ tar -xzf tlaps-1.4.5.tar.gz</div> | ||
|
||
<p>This creates a directory named <code>tlaps-1.4.5</code> that | ||
contains four subdirectories: <code>tlapm</code>, <code>zenon</code>, | ||
<code>isabelle</code> and <code>emacs</code>.</p> | ||
|
||
<h3>2. Install OCaml</h3> | ||
<div class="hr"></div> | ||
|
||
<p>TLAPS is implemented in OCaml and requires version 4.04.2 or | ||
higher. You can follow any of the suggestions | ||
on <a href="https://ocaml.org/docs/install.html">the offical | ||
OCaml release page</a> to install OCaml. On Windows/Cygwin, OCaml | ||
can be installed directly from Cygwin's <code>setup.exe</code>. | ||
On most modern | ||
GNU/Linux distributions, OCaml is already packaged. Here are the | ||
commands for the common Linux distributions:</p> | ||
|
||
<table style="margin-left: 2em;"> | ||
<tbody> | ||
<tr> | ||
<td style="padding-right: 3em;">Debian, Ubuntu, etc.</td> | ||
<td><code>apt-get install ocaml</code></td> | ||
</tr> | ||
<tr> | ||
<td valign="top">Redhat, Fedora, SuSe,<br /> Mandriva, CentOS, etc.</td> | ||
<td valign="top"><code>yum install ocaml</code></td> | ||
</tr> | ||
<tr> | ||
<td valign="top">Gentoo</td> | ||
<td valign="top"><code>emerge ocaml</code></td> | ||
</tr> | ||
<tr> | ||
<td valign="top">Arch Linux</td> | ||
<td valign="top"><code>pacman install ocaml</code></td> | ||
</tr> | ||
</tbody> | ||
</table> | ||
|
||
<p> On MacOSX, you can use the package | ||
managers <a href="http://brew.sh/">Homebrew</a> | ||
(<code>brew install objective-caml</code>) | ||
or <a href="http://www.macports.org">MacPorts</a> | ||
(<code>port install ocaml</code>).</p> | ||
|
||
<p>If you want to install OCaml from source, consider | ||
using <a href="http://opam.ocaml.org">OPAM</a>.</p> | ||
|
||
<h3>3. Compile and Install Zenon</h3> | ||
<div class="hr"></div> | ||
|
||
<p>Run the following commands.</p> | ||
|
||
<div class="terminal">$ pushd tlaps-1.4.5/zenon<br/> | ||
$ ./configure && make && make install<br/> | ||
$ popd</div> | ||
|
||
<p>By default, the above will try to install | ||
in <code>/usr/local</code>. If you don't have write access to that | ||
directory, or would rather install Zenon elsewhere, such as | ||
in <code>$HOME/bin</code>, run the following:</p> | ||
|
||
<div class="terminal">$ pushd tlaps-1.4.5/zenon<br/> | ||
$ ./configure --prefix $HOME && make && make install<br/> | ||
$ popd</div> | ||
|
||
<h3>4. Install Isabelle2011-1</h3> | ||
<h3>1. Obtain source code</h3> | ||
<div class="hr"></div> | ||
|
||
<p>Follow the | ||
<a href="http://isabelle.in.tum.de/website-Isabelle2011-1/download.html">instructions</a> | ||
on the Isabelle Web site. TLAPS actually does not need the full | ||
Isabelle2011-1 distribution. If you want only the necessary | ||
components, run the following commands:</p> | ||
|
||
<div class="terminal" style="width:95%">$ wget http://isabelle.in.tum.de/website-Isabelle2011-1/dist/Isabelle2011-1.tar.gz<br/> | ||
$ wget http://isabelle.in.tum.de/website-Isabelle2011-1/dist/polyml-5.4.0.tar.gz<br/> | ||
$ tar -xzf -C /usr/local Isabelle2011-1.tar.gz<br/> | ||
$ tar -xzf -C /usr/local polyml-5.4.0.tar.gz</div> | ||
|
||
<p style="position:relative; top:10px">You may | ||
replace <code>/usr/local</code> above by any other directory. For | ||
example, to install Isabelle2011-1 in your <code>$HOME</code>, | ||
use <code> -C $HOME </code> instead of <code> -C /usr/local </code>.</p> | ||
|
||
<p>Note that the <code>isabelle</code> | ||
and <code>isabelle-process</code> executables (found | ||
in <code>/usr/local/Isabelle/bin</code> | ||
or <code>$HOME/Isabelle/bin</code>), or symbolic links to them, must | ||
be in your <code>$PATH</code> for TLAPS to work.</p> | ||
|
||
<p>You may delete the <code>Isabelle2011-1.tar.gz</code> and | ||
<code>polyml-5.4.0.tar.gz</code> files after the above steps.</p> | ||
|
||
<h3>5. Compile Isabelle/TLA+</h3> | ||
<div class="hr"></div> | ||
|
||
<p>Run the following commands.</p> | ||
|
||
<div class="terminal">$ pushd /usr/local/Isabelle/src/Pure<br/> | ||
$ isabelle make<br/> | ||
$ popd<br/> | ||
$ pushd tlaps-1.4.5/isabelle<br/> | ||
$ make<br/> | ||
$ popd</div> | ||
|
||
<p>(Replace <code>/usr/local</code> above with wherever you | ||
installed Isabelle in the previous step.)</p> | ||
|
||
<h3>6. Compile the <strong>TLA</strong><sup>+</sup> | ||
<p>TLAPS source code can be obtained as a release tarball or cloned from the <code>git</code> repository. | ||
<ol type="A"> | ||
<li> | ||
<p>Download the tarball: <a href="https://github.com/tlaplus/tlapm/archive/refs/tags/202210041448.tar.gz">202210041448.tar.gz</a></p> | ||
<p>You can unpack TLAPS by running the following command:</p> | ||
<div class="terminal">$ tar -xzf 202210041448.tar.gz</div> | ||
</li> | ||
<li> | ||
<p>Clone the repository</p> | ||
<div class="terminal">$ git clone https://github.com/tlaplus/tlapm/</div> | ||
</li> | ||
</ol> | ||
</p> | ||
|
||
<h3>2. Compile the <strong>TLA</strong><sup>+</sup> | ||
<strong>P</strong>roof <strong>M</strong>anager (TLAPM)</h3> | ||
<div class="hr"></div> | ||
|
||
<p>Run the following commands.</p> | ||
|
||
<div class="terminal">$ pushd tlaps-1.4.5/tlapm<br/> | ||
$ ./configure && make all<br/> | ||
$ sudo make install<br/> | ||
$ popd</div> | ||
|
||
<p>By default, the above will try to install TLAPM | ||
in <code>/usr/local</code>. If you don't have write access to that | ||
directory, or would rather install the <code>TLAPM</code> elsewhere, | ||
such as in <code>$HOME/bin</code>, run the following:</p> | ||
|
||
<div class="terminal">$ pushd tlaps-1.4.5/tlapm<br/> | ||
$ ./configure --prefix $HOME && make all<br/> | ||
$ make install<br/> | ||
$ popd</div> | ||
<p>See instructions at <a href="https://github.com/tlaplus/tlapm/blob/main/INSTALL.md">INSTALL.md</a>.</p> | ||
|
||
<h3>7. Verify the installation</h3> | ||
<h3>3. Verify the installation</h3> | ||
<div class="hr"></div> | ||
|
||
<p>Run the following command:</p> | ||
|
@@ -183,7 +58,7 @@ <h3>7. Verify the installation</h3> | |
and <code>isabelle</code> you installed in earlier steps.</p> | ||
|
||
<p>You can also test the <code>TLAPS</code> on any of the examples | ||
in the <code>/usr/local/lib/tlaps/examples</code> directory (which | ||
in the <code>examples</code> directory (which | ||
you can easily refer to using the option <code>-I +examples</code> | ||
to <code>tlapm</code>). For instance:</p> | ||
|
||
|
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In the (near) future when we switch to a rolling release model I suppose we will want to use the /latest/ tag along with a link to a binary that does not have the version in the name.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree. This will have to be changed in the future.
For now, I just wanted to keep links valid after a new release is made.