Skip to content

Commit 9ab99ab

Browse files
committed
Update Windows build & installation instructions
1 parent 084e1ae commit 9ab99ab

File tree

1 file changed

+69
-0
lines changed

1 file changed

+69
-0
lines changed

INSTALL.md

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,71 @@ source.
125125

126126
### Windows ###
127127

128+
Windows installation support has recently been enhanced. The new installation
129+
method doesn't require Cygwin or WSL and relies only a light weight git/bash
130+
distribution like Git-Bash, and the Intel OneAPI base distribution as well as
131+
the Intel OneAPI HPC Toolkit. This allows native and redistributable statically
132+
linked binaries to be built if you use the appropriate compiler flags. Clients
133+
will only require the free redistributable Intel MPI runtime.
134+
135+
#### New and Recommended Windows Installation ####
136+
137+
Please follow these instructions, this is the recommended way to install
138+
OpenCoarrays on Windows.
139+
140+
##### Pre-requisits #####
141+
142+
* [CMake]
143+
* [Git-Bash]
144+
* [GCC, GFortran, Unix Make]
145+
* [Intel OneAPI Base] and [Intel OneAPI HPC toolkit]
146+
147+
##### Installation Procedure #####
148+
149+
1. Ensure all the prerequisites have been installed following the directions of
150+
the provider.
151+
2. Launch the 64-bit Intel OneAPI developer shell. This will either be in the
152+
start menu, or you may need to figure out how to launch it manually. See the
153+
note below for help.
154+
3. Ensure that cmake, git-bash, gfortran, gcc, make are available on your default
155+
path. The installers should have taken care of this for you.
156+
5. Launch a Git-Bash bash shell from the OneAPI environment, or ensure Git-Bash's
157+
`bash.exe` is first on your path by either:
158+
1. Typing `git-bash` from within the windows `CMD.exe` style OneAPI shell, or
159+
2. Editing your system wide `%PATH%` variable, or updating it in the local shell
160+
so that git-bash's `bin` subdirectory (containing `bash.exe`) is at the front
161+
of your `PATH`: `set PATH=C:\path\to\Git-Bash\bin;%PATH%`.
162+
6. At this point typing `bash --version` should show you you're using Git-Bash, *AND*
163+
typing `bash -c pwd` should match the current directory. __`bash` provided with
164+
WSL will show the directory as your home directore, something like `/home/username`
165+
and this WILL cause problems later__
166+
7. cd to the extracted OpenCoarrays source directory (obtained by downloading a
167+
release archive, or, for advanced useres, cheked out with git etc.)
168+
8. Create a build directory and change to it with something like:
169+
`mkdir build` and `cd build`
170+
9. Set GCC and GFortran as the default C and Fortran compilers with something like:
171+
`set FC=gfortran` and `set CC=gcc`
172+
10. Check that Intel's MPI is setup correctly by typing `mpifc -show` which should
173+
show you how the compiler wrapper script is planning to build MPI programs.
174+
(It's fine if this shows `ifort` being used as the compiler instead of `gfortran`
175+
at this point.)
176+
11. Configure Open-Coarrays with CMake and specify the installation directory you would
177+
like to use. (If this is not a user-writable location, you will have to open a new
178+
shell later as an administrator to perform the installation step.) Run:
179+
`cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="C:\path\to\desired\install\location" ".\path\to\opencoarrays-source-dir"`
180+
The quotes ensure paths with spaces are handled properly. You may omit them if there
181+
are no spaces.
182+
12. When the configuration completes, build with:
183+
`cmake --build . -j <ncores>`
184+
13. Install OpenCoarrays: `cmake --build . -j <ncores> -t install`
185+
14. Optionally run the test suite. There are a few known failures on Windows.
186+
Also, a large numberof firewall warnings will pop up.
187+
`cmake --build . -t check`
188+
189+
#### Old Procedure ####
190+
191+
__NOTE: Use this method at your own risk, it is no longer officially supported!__
192+
128193
Windows users may run the [`install.sh`] script inside the Windows Subsystem
129194
for Linux ([WSL]). The script uses Ubuntu's [APT] package manager to build
130195
[GCC] 5.4.0, [CMake], and [MPICH]. Windows users who desire a newer version
@@ -448,6 +513,10 @@ file.
448513
[INSTALL.pdf]: https://md2pdf.herokuapp.com/sourceryinstitute/OpenCoarrays/blob/master/INSTALL.pdf
449514
[INSTALL.md]: https://github.com/sourceryinstitute/OpenCoarrays/blob/master/INSTALL.md
450515
[CMake]: https://cmake.org
516+
[Git-Bash]: https://gitforwindows.org/
517+
[GCC, GFortran, Unix Make]: http://www.equation.com/servlet/equation.cmd?fa=programminglog
518+
[Intel OneAPI Base]: https://www.intel.com/content/www/us/en/developer/tools/oneapi/base-toolkit.htm
519+
[Intel OneAPI HPC toolkit]: https://www.intel.com/content/www/us/en/developer/tools/oneapi/hpc-toolkit.html
451520
[Sourcery Institute Store]: http://www.sourceryinstitute.org/store/c1/Featured_Products.html
452521
[VirtualBox]: https://www.virtualbox.org
453522
[download and installation instructions]: http://www.sourceryinstitute.org/uploads/4/9/9/6/49967347/overview.pdf

0 commit comments

Comments
 (0)