Skip to content

Commit f73f102

Browse files
committed
Updated INSTALL.md in preparation for release 1.2.0
1 parent ec64ab1 commit f73f102

File tree

1 file changed

+49
-30
lines changed

1 file changed

+49
-30
lines changed

INSTALL.md

Lines changed: 49 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
# [Installing OpenCoarrays](#installing-opencoarrays)
66

77
* [End-User Installation]
8+
* [Installation Script]
89
* [OS X]
910
* [Windows]
1011
* [Linux]
@@ -18,9 +19,35 @@
1819
## End-User Installation ##
1920
</a>
2021

21-
This section explains the options most end users will find simplest to obtain
22-
OpenCoarrays on OS X, Windows, or Linux without building OpenCoarrays from its
23-
source code.
22+
<a name="installation-script">
23+
### Installation Script###
24+
</a>
25+
26+
As of release 1.2.0, users might consider installing by downloading and uncompressing
27+
an [OpenCoarrays release file] and running the installation script in the top-level
28+
source directory:
29+
30+
tar xvzf opencoarrays-x.y.z.tar.gz
31+
cd opencoarrays
32+
./install.sh
33+
34+
Before installing OpenCoarrays, the above bash script will attempt to detect the presence
35+
of the default prequisite packages: [GCC], [MPICH] , and [CMake] packges. If any of the
36+
aforementioned packages appears to be absent from the user's PATH environment variable,
37+
the [install.sh] script will attempt to download, build, and install any missing packages
38+
after asking permission to do. The script has been tested on Linux and OS X. Please
39+
submit any related problems or questions to our [Issues] page.
40+
41+
A complete installation should result in the creation of the following directories
42+
inside the installation path (.e.g, inside "build" in the above example):
43+
44+
* bin: contains the compiler wrapper (caf), program launcher (cafun), and prerequisites builder (build)
45+
* mod: contains the "opencoarrays.mod" module file for use with non-OpenCoarrays-aware compilers
46+
* lib: contains the "libcaf_mpi.a" static library to which codes link for CAF support
47+
48+
The remainder of this document explains other options that many end users will find
49+
simplest to obtain OpenCoarrays on OS X, Windows, or Linux without building OpenCoarrays
50+
from its source code.
2451

2552
<a name="os-x">
2653
### OS X###
@@ -65,13 +92,13 @@ feature request via our [Issues] page.
6592
### Linux ###
6693
</a>
6794

68-
Linux users who prefer not to build OpenCoarrays from source might access
69-
OpenCoarrays via the the Lubuntu Linux virtual machine from the [Sourcery Institute Store]
70-
after installing the version of [VirtualBox] that is suitable for the relevant
71-
Linux distribution.
72-
73-
Alternatively, if you desire to install using Linux package management software
74-
such as [yum] or [apt-get], please submit a feature request via our [Issues] page.
95+
The [Arch Linux] distribution provides an [aur package] for installing OpenCoarrays.
96+
Users of other Linux distributions who prefer not to build OpenCoarrays from source might
97+
access OpenCoarrays via the the Lubuntu Linux virtual machine from the
98+
[Sourcery Institute Store] after installing the version of [VirtualBox] that is suitable
99+
for the relevant Linux distribution. Alternatively, if you desire to install using other
100+
Linux package management software such as [yum] or [apt-get], please submit a feature
101+
request via our [Issues] page.
75102

76103
<a name="buildingfromsource">
77104
## Building from source ##
@@ -124,13 +151,8 @@ OpenCoarrays, install OpenCoarrays, build the tests, run the tests, and report t
124151

125152
tar xvzf opencoarrays.tar.gz
126153
cd opencoarrays
127-
<<<<<<< HEAD
128-
mkdir build
129-
cd build
130-
=======
131154
mkdir opencoarrays-build
132155
cd opencoarrays-build
133-
>>>>>>> a0474e8
134156
CC=mpicc FC=mpif90 cmake .. -DCMAKE_INSTALL_PREFIX=${PWD}
135157
make
136158
make install
@@ -141,23 +163,13 @@ and the final part of the same line defines the installation path as the present
141163
working directory ("opencoarrays-build"). Please report any test failures via the
142164
OpenCoarrays [Issues] page.
143165

144-
A complete installation should result in the creation of the following directories
145-
inside the installation path (.e.g, inside "build" in the above example):
146-
147-
* bin: contains the compiler wrapper (caf), program launcher (cafun), and prerequisites builder (build)
148-
* mod: contains the "opencoarrays.mod" module file for use with non-OpenCoarrays-aware compilers
149-
* lib: contains the "libcaf_mpi.a" static library to which codes link for CAF support
150-
151166
Advanced options (most users should not use these):
152167

153168
-DLEGACY_ARCHITECTURE=OFF enables the use of FFT libraries that employ AVX instructions
154169
-DHIGH_RESOLUTION_TIMER=ON enables timers that tick once per clock cycle
155170
-DCOMPILER_SUPPORTS_ATOMICS enables support for the proposed Fortran 2015 events feature
156171
-DUSE_EXTENSIONS builds the [opencoarrays] module for use with non-OpenCoarrays-aware compilers
157-
<<<<<<< HEAD
158172
-DCOMPILER_PROVIDES_MPI is set automatically when building with the Cray Compiler Environment
159-
=======
160-
>>>>>>> a0474e8
161173

162174
The first two flags above are not portable and the third enables code that is incomplete as
163175
of release 1.0.0. The fourth is set automatically by the CMake scripts based on the compiler
@@ -196,18 +208,23 @@ the Lubuntu Linux virtual machine available for download in the [Sourcery Store]
196208
builds of GCC 4.9, 5.2, and 6.0.
197209

198210
To build all prerequisites from source, including the current development branch of GCC,
199-
you might first try the running the provided scripts in a manner similar to the following:
211+
you might first try the running the provided [install.sh] script as described above in
212+
the [Installation Script] section. Or try building each prerequisite from source as
213+
follows:
200214

201215
cd install_prerequisites
202-
./buildgcc trunk
203-
cd trunk-build
204-
make install
205-
CC=gcc FC=gfortran CXX=g++ ./buildmpich default
216+
CC=gcc FC=gfortran CXX=g++ ./build flex
217+
./build gcc
218+
CC=gcc FC=gfortran CXX=g++ ./build mpich
219+
./build cmake
206220
make install
207221
./buildcmake default
208222

223+
where the second line builds the flex package that is required for building gcc from source.
209224

210225
[End-User Installation]: #end-user-installation
226+
[Installation Script]: #installation-script
227+
[install.sh]: ./install.sh
211228
[OS X]: #os-x
212229
[ticket]: https://trac.macports.org/ticket/47806
213230
[Windows]: #windows
@@ -237,4 +254,6 @@ you might first try the running the provided scripts in a manner similar to the
237254
[TS18508 Additional Parallel Features in Fortran]: http://isotc.iso.org/livelink/livelink?func=ll&objId=17181227&objAction=Open
238255
[GFortran Binaries]: https://gcc.gnu.org/wiki/GFortranBinaries#FromSource
239256
[Installing GCC]: https://gcc.gnu.org/install/
257+
[Arch Linux]: https://www.archlinux.org
258+
[aur package]: https://aur.archlinux.org/packages/opencoarrays/
240259

0 commit comments

Comments
 (0)