Skip to content

More Robust Automatic Installation

Compare
Choose a tag to compare
@rouson rouson released this 03 Dec 07:59

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.