Skip to content

Releases: sourceryinstitute/OpenCoarrays

Improved Installation, Testing, and Workflow

27 Jan 04:32
1.3.0
3de5b79
Compare
Choose a tag to compare

Build Status

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

19 Dec 19:13
Compare
Choose a tag to compare

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

03 Dec 07:59
Compare
Choose a tag to compare

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

  1. 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).
  2. 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.
  3. 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

14 Nov 19:15
Compare
Choose a tag to compare

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

23 Oct 06:07
Compare
Choose a tag to compare

Fixed a bug that previously prevented invoking of the "caf" compiler wrapper in a CMake build.

OpenCoarrays 1.1.1

20 Oct 05:52
Compare
Choose a tag to compare
  • Disabled Navier-Stokes solver build on non-x86-64 systems
  • Co_reduce fix.

OpenCoarrays 1.1.0

02 Oct 09:28
Compare
Choose a tag to compare

Added support for buildcmake on OS X.

OpenCoarrays 1.0.3

01 Oct 19:13
Compare
Choose a tag to compare

New features:

  • MacPorts installation instructions.
  • Installation scripts for the OpenCoarrays prerequisites: GCC, MPICH, and CMake.

OpenCoarrays 1.0.2

30 Sep 14:28
Compare
Choose a tag to compare

Minor changes on documentation, scripts and test cases.

OpenCoarrays 1.0.1

02 Aug 01:33
Compare
Choose a tag to compare

This is a bug fix release:

  1. Corrected the behavior of co_broadcast with scalar character arguments so that it works for all string lengths.
  2. Corrected bugs in the 'caf' compiler wrapper and corrected the usage information it prints.