Releases: sourceryinstitute/OpenCoarrays
Improved Installation, Testing, and Workflow
Please download the OpenCoarrays-1.3.0.tar.gz release archive. If you wish to verify its gpg signature, then please also download OpenCoarrays-1.3.0.tar.gz.sig.
New features and development practices
- Adoption of the GitHub Flow workflow.
- A formalized change review policy, including using the Travis-CI continuous integration tool to run our test suite on Linux and OS X after every push.
- Expanded testing, including installation script testing via Travis-CI and code coverage reporting via codecov-io.
- Improved documentation, including fixed links and on-demand documentation PDF-generation on GitHub.
- Improved detection of the version number of each prerequisite.
- A gfortran version requirement of 5.3.0 in order to support the Fortran 2015
co_reduce
collective. - Fixed building of CMake on OS X when necessary.
Improvements
- Added the GCC prerequisite m4 to the dependency tree in install.sh.
- install.sh now prints download instructions for missing prerequisite packages if the platform does not have the default download mechanism (which can be ftp or wget).
As before, a default installation can be obtained simply by typing ./install.sh
with the present working directory set to the top level of the OpenCoarrays source directory. By default, the script installsany missing prerequisites inside the install_prerequisites
subdirectory and installs OpenCoarrays inside opencoarrays-install
. The script downloads, builds, and installs the following prerequisite packages only if the prerequisite is needed to build a tree ancestor:
opencoarrays
├── cmake-3.4.0
└── mpich-3.1.4
└── gcc-5.3.0
├── flex-2.6.0
│ └── bison-3.0.4
│ └── m4-1.4.17
├── gmp
├── mpc
└── mpfr
Signed tag and release archive
To verify the integrity of the release archive or the git tag first @zbeekman's public key will need to be imported. This has been added to the git repository as the tag zbeekmanpubkey
. To add it to your gpg keychain first clone the repository, then
git show zbeekmanpubkey | gpg --import
to add it to your keychain. The fingerprint is 1DB1 B5ED E321 22B2 8E56 810D CB21 118C 92A6 4702
git tag -v 1.3.0 # verify the git tag from the repository
gpg --verify OpenCoarrays-1.3.0.tar.gz.sig
to verify the git tag and release archive.This requires GnuPG, or on OS X GPGTools
Downloads
OpenCoarrays-1.3.0.tar.gz | The installation archive containing OpenCoarrays installer and source |
---|---|
OpenCoarrays-1.3.0.tar.gz.sig | The gpg signature of the installation archive. This file is only required if you wish to verify the gpg signature of the release. |
Source code (zip) | This is not the link you're looking for (always generated by GitHub) |
Source code (tar.gz) | This is not the link you're looking for (always generated by GitHub) |
Cosmetic bug fix
Eliminated an opening-screen installation error message that resulted from git's inability to track empty directories.
Known Issues
Same as for release 1.2.1.
More Robust Automatic Installation
Overview
The install.sh script now attempts to recursively detect or download, build, and install each of the software packages in the dependency tree graphed below. In particular, the script checks for the relevant packages' executable program installations from a prior execution of the script or in the users' PATH environment variable. Preference is given to prior installations by OpenCoarrays. If such installations are not found in their default paths, then the script verifies whether an installation in the users' PATH has the minimum version number as noted below (except for the files that are downloaded by a GCC configure script). If no prior installation of a suitable minimum version number is found, then the script downloads, builds, and installs the corresponding software in a subdirectory of the OpenCoarrays source directory.
opencoarrays/
├── cmake-3.4.0
└── mpich-3.1.4
└── gcc-5.1
├── flex-2.6.0
└── bison-yacc-3.0.4
├── gmp
├── mpc
└── mpfr
This release has been tested successfully on OS X 10.11 El Capitan, a 32-bit Linux Lubuntu 14 virtual machine, and a 64-bit Linux Lubuntu 12 virtual machine in various configurations ranging from no pre-installed prerequisites, all pre-installed prerequisites, and several combinations thereof.
Known Issues
- The installation script attempts to handle gracefully situations in which the prerequisite software is either missing; or present and of sufficiently recent vintage; or present but with insufficiently recent vintage. The script fails when prerequisites are present but broken (e.g., if mpif90 is present but wraps a broken gfortran build or a gfortran build for which the requisite LD_LIBRARY_PATH variable has not been set).
- The installation script fails if the platform does not have wget, subversion (svn), or m4 packages pre-installed. One workaround is to install these by your preferred mechanism, e.g., package management software or building form source. If no other mechanism is feasible, running the commands "./build wget", "./build subversion", and/or "./build m4" inside the install_prerequisites subdirectory will work on some systems after downloading the latest build script from https://github.com/sourceryinstitute/opencoarrays/blob/branch-1.0.0/install_prerequisites/build. After running any of the aforementioned "./build" commands, please add $OPENCOARRAYS_SRC_DIR /install_prerequisites/--installation/bin to your PATH if you have set the OPENCOARRAYS_SRC_DIR enviroment variable or substitute the full path to your OpenCoarrays source directory otherwise. Then restart the install.sh script.
- CMake 3.4.0 might fail to build with GCC 5.x on some platforms. A workaround could involve temporarily removing gfortran from the user's PATH in order to trigger the automatic download, build, and installation of the current pre-release GCC 6.0.0 compiler collection
A future version will address the above known issues.
OpenCoarrays 1.2.0
Introducing Automatic Installation
- New top-level install.sh script that downloads, installs, and builds the OpenCoarrays prerequisites GCC, MPICH, and CMake if necessary and then builds OpenCoarrays
- New general prerequisites "build" script that replaces the package-specific prerequisites build scripts (install.sh invokes "build" when necessary)
OpenCoarrays 1.1.2
Fixed a bug that previously prevented invoking of the "caf" compiler wrapper in a CMake build.
OpenCoarrays 1.1.1
- Disabled Navier-Stokes solver build on non-x86-64 systems
- Co_reduce fix.
OpenCoarrays 1.1.0
Added support for buildcmake on OS X.
OpenCoarrays 1.0.3
OpenCoarrays 1.0.2
Minor changes on documentation, scripts and test cases.
OpenCoarrays 1.0.1
This is a bug fix release:
- Corrected the behavior of co_broadcast with scalar character arguments so that it works for all string lengths.
- Corrected bugs in the 'caf' compiler wrapper and corrected the usage information it prints.