@@ -26,39 +26,39 @@ source code.
26
26
### OS X###
27
27
</a >
28
28
29
- We have developed a Portfile that we will submit for inclusion into the
30
- [ MacPorts] package management software after posting the OpenCoarrays 1.0.0
31
- tar ball online. Once the OpenCoarrays Portfile has been incorporated into
32
- MacPorts, users can install OpenCoarrays on OS X by installing MacPorts and
33
- then typing the following:
29
+ OS X users might find it easiest to install OpenCoarrays using the [ MacPorts]
30
+ package management system. After installing MacPorts, type the following:
34
31
35
32
sudo port selfupdate
36
33
sudo port upgrade outdated
37
34
sudo port install opencoarrays
38
35
39
- Administrator privileges are required for issuing the above "sudo" commands.
40
- Also, the first two steps above are required only if your MacPorts ports
41
- were last updated prior to the incorporation of the OpenCoarrays Portfile
42
- into MacPorts. The above process can be repeated to obtain updates in the
43
- form of future OpenCoarrays releases .
36
+ where the "sudo" command requires Administrator privileges and where the first
37
+ two steps above are required only if the MacPorts ports were last updated prior
38
+ to 30 September 2015, when the OpenCoarrays port was incorporated into MacPorts.
39
+ Repeating the first two steps above will also update OpenCoarrays to the latest
40
+ release .
44
41
45
42
<a name =" windows " >
46
43
### Windows ###
47
44
</a >
48
45
Windows users will find it easiest to download the Lubuntu Linux virtual
49
- machine from the [ Sourcery Store] . The virtual machine boots inside the
50
- open-source [ VirtualBox] virtualization package. In addition to containing
46
+ machine from the [ Sourcery Institute Store] . The virtual machine boots inside
47
+ the open-source [ VirtualBox] virtualization package. In addition to containing
51
48
GCC 4.9, 5.2, and 6.0, MPICH, OpenMPI, and OpenCoarrays, the virtual machine
52
49
contains dozens of other open-source software packages that support software
53
50
development in modern Fortran. See the [ download and installation instructions]
54
51
for a partial list of the included packages.
55
52
53
+ Alternatively, if you desire to use OpenCoarrays under Cygwin, please submit a
54
+ feature request via our [ Issues] page.
55
+
56
56
<a name =" linux " >
57
57
### Linux ###
58
58
</a >
59
59
60
60
Linux users who prefer not to build OpenCoarrays from source might access
61
- OpenCoarrays via the the Lubuntu Linux virtual machine from the [ Sourcery Store]
61
+ OpenCoarrays via the the Lubuntu Linux virtual machine from the [ Sourcery Institute Store]
62
62
after installing the version of [ VirtualBox] that is suitable for the relevant
63
63
Linux distribution.
64
64
@@ -82,6 +82,18 @@ install the following:
82
82
Fortran and C compilers (preferably the [ MPICH] or [ MVAPICH] implementations for
83
83
robustness and high performance)
84
84
85
+ The [ install_prerequisites] directory contains experimental [ buildgcc] , [ buildmpich] , and
86
+ [ buildcmake] bash shell scripts that can download and build any one of several versions of the
87
+ [ GCC] C, C++, and Fortran compilers; the [ CMake] build sytem; and the [ MPICH] communication
88
+ library. (Because newer parts of the GNU Fortran compiler gfortran are written in C++,
89
+ installing the GNU Fortran compiler from source requires also installing the GNU C++ compiler
90
+ g++.) The CMake scripts that build OpenCoarrays also copy [ buildgcc] , [ buildmpich] , and
91
+ [ buildcmake] into the "bin" directory of the OpenCoarrays installation for later use.
92
+
93
+ We have tested the build scripts on OS X and Linux. Please submit suggestions for improving
94
+ the scripts to our [ Issues] page or preferably suggeste edits by forking a copy of the
95
+ [ OpenCoarrays] repository, making the suggested edits, and submitting a pull request.
96
+
85
97
If installing the above prerequisites is infeasible, then a limited coverage of CAF
86
98
features is available via the OpenCoarrays "caf" compiler wrapper and the
87
99
[ opencoarrays] module, for which the installation prerequisites are the following:
@@ -128,7 +140,7 @@ Advanced options (most users should not use these):
128
140
-DLEGACY_ARCHITECTURE=OFF enables the use of FFT libraries that employ AVX instructions
129
141
-DHIGH_RESOLUTION_TIMER=ON enables timers that tick once per clock cycle
130
142
-DCOMPILER_SUPPORTS_ATOMICS enables support for the proposed Fortran 2015 events feature
131
- -DUSE_EXTENSIONS builds the [ opencoarrys ] module for use with non-OpenCoarrays-aware compilers
143
+ -DUSE_EXTENSIONS builds the [ opencoarrays ] module for use with non-OpenCoarrays-aware compilers
132
144
133
145
The first two flags above are not portable and the third enables code that is incomplete as
134
146
of release 1.0.0. The fourth is set automatically by the CMake scripts based on the compiler
@@ -160,34 +172,27 @@ system settings. For example, you might need to remove the "-Werror" option fro
160
172
compiler flags or name a different compiler. In order to activate efficient strided-array
161
173
transfer support, uncomment the -DSTRIDED flag inside the [ make.inc] file.
162
174
163
- ## <a name =" obtaingcc " >Obtaining GCC</a > ##
175
+ ## <a name =" obtaingcc " >Obtaining GCC, MPICH, and CMake </a > ##
164
176
165
- [ GCC ] 5 binary builds are available at [ https://gcc.gnu.org/wiki/GFortranBinaries ] . Also,
177
+ [ GFortran Binaries ] 5 binary builds are available at [ https://gcc.gnu.org/wiki/GFortranBinaries ] . Also,
166
178
the Lubuntu Linux virtual machine available for download in the [ Sourcery Store] includes
167
- builds of GCC 4.9, 5.2, and 6.0 as well as a rudimentary script (/opt/sourcery/bin/buildgcc)
168
- that builds [ GCC] from source on Linux and OS X.
179
+ builds of GCC 4.9, 5.2, and 6.0.
169
180
170
- To build the most up-to-date version of GCC from source manually, you might first try the
171
- steps employed in the buildgcc script :
181
+ To build all prerequisites from source, including the current development branch of GCC,
182
+ you might first try the running the provided scripts in a manner similar to the following :
172
183
173
- svn co svn://gcc.gnu.org/svn/gcc/trunk
174
- cd trunk
175
- ./contrib/download_prerequisites
176
- cd ..
177
- mkdir -p trunk-build
184
+ cd install_prerequisites
185
+ ./buildgcc trunk
178
186
cd trunk-build
179
- ../trunk/configure --prefix=${PWD} --enable-languages=c,c++,fortran,lto --disable-multilib --disable-werror
180
- make -j 2 bootstrap
181
187
make install
188
+ CC=gcc FC=gfortran CXX=g++ ./buildmpich default
189
+ make install
190
+ ./buildcmake default
182
191
183
- where the "2" in the penultimate line launches a multi-threaded build with 2 threads. Use more
184
- threads for additional speedup, depending on your platform.
185
-
186
- See the [ GFortran Binaries] web page for additional details and the [ Installing GCC] page
187
- for an exhaustive description of the build process and options.
188
192
189
193
[ End-User Installation ] : #end-user-installation
190
194
[ OS X ] : #os-x
195
+ [ ticket ] : https://trac.macports.org/ticket/47806
191
196
[ Windows ] : #windows
192
197
[ Linux ] : #linux
193
198
[ Building from Source ] : #building-from-source
@@ -196,13 +201,18 @@ for an exhaustive description of the build process and options.
196
201
[ Make ] : #make
197
202
[ Obtaining GCC ] : #obtaining-gcc
198
203
[ Sourcery Store ] : http://www.sourceryinstitute.org/store
204
+ [ Sourcery Institute Store ] : http://www.sourceryinstitute.org/store
199
205
[ Virtualbox ] : http://www.virtualbox.org
200
206
[ download and installation instructions ] : http://www.sourceryinstitute.org/uploads/4/9/9/6/49967347/overview.pdf
201
207
[ yum ] : http://yum.baseurl.org
202
208
[ apt-get ] : https://en.wikipedia.org/wiki/Advanced_Packaging_Tool
203
209
[ Issues ] : https://github.com/sourceryinstitute/opencoarrays/issues
204
210
[ make.inc ] : ./src/make.inc
205
211
[ opencoarrays ] : ./src/extensions/opencoarrays.F90
212
+ [ install_prerequisites ] : ./install_prerequisites
213
+ [ buildgcc ] : ./install_prerequisites/buildgcc
214
+ [ buildmpich ] : ./install_prerequisites/buildmpich
215
+ [ buildcmake ] : ./install_prerequisites/buildcmake
206
216
[ MPICH ] : http://www.mpich.org
207
217
[ MVAPICH ] :http://mvapich.cse.ohio-state.edu
208
218
[ Macports ] : http://www.macports.org
0 commit comments