Skip to content

Bash shell script for installing xSDK and other IDEAS packages

License

Notifications You must be signed in to change notification settings

jwillenbring/installxSDK

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Installer for the xSDK toolkit

A goal of the xSDK is to simplify the process of working with various xSDK packages in combination. Thus, the installation script will, by default, download and install four xSDK numerical libraries (hypre, PETSc, SuperLU_dist, and Trilinos) as well as some commonly needed external packages (boost, HDF5, NetCDF, exodusii, METIS, and ParMETIS).

  • To use an already installed package, add the argument --with-xxx-dir=/dir, for example, --with-boost-dir=/usr/local
  • To prevent downloading a particular package, add the argument --download-xxx=0, for example, --download-trilinos=0
  • To install a subset of packages, you must turn off all packages you do not want.

##Obtaining the installation script

  git clone https://github.com/xsdk-project/installxSDK.git   or

  curl https://raw.githubusercontent.com/xsdk-project/installxSDK/master/installxSDK.sh > installxSDK.sh

##Usage

  sh ./installxSDK --prefix="installation directory" [other configure options]

##Example

  sh ./installxSDK --prefix=/usr/local/xSDK --with-mpicc=/usr/local/mpich/bin/mpicc --with-mpicxx=/usr/local/mpich/bin/mpicxx --with-mpif90=/usr/local/mpich/bin/mpif90

##Useful Options

--download-mpich  Useful if you do not have an MPI installed on your machine.

--with-blaslapack-dir="directory to locate BLAS and LAPACK"   Usually you should not need this.

--with-git=0 Do not use git to download any of the packages; use the tarballs instead.

--disable-debug  Build optimized version of libraries (debug is the default).

--with-boost-dir="directory where boost is installed"  Boost takes forever to install so this is a good option to use if you have boost installed already.

--with-trilinos=0   Intall xSDK except for Trilinos (Boost is also not installed since it is needed only by Trilinos).

--download-xxx=/directoryname Add your own package to be automatically downloaded and  
installed. /directoryname/xxx.py should contain a subclass of config.package.GNUPackage,  
config.package.CMakePackage, or config.package.Package containing specific information  
about your package, its download location and dependencies. See, for example,  
http://www.mcs.anl.gov/petsc/petsc-dev/config/BuildSystem/config/packages/hypre.py, 
http://www.mcs.anl.gov/petsc/petsc-dev/config/BuildSystem/config/packages/metis.py, or 
http://www.mcs.anl.gov/petsc/petsc-dev/config/BuildSystem/config/packages/triangle.py. 
This functionality was suggested by Ethan Coon.

##Application-Specific Installs

Work in the xSDK is motivated by large-scale scientific applications, including use-cases in environmental system science. The xSDK includes the Alquimia geochemistry package, which in turn uses PFlotran as a chemistry engine. The script can install these application-specific packages, as indicated below. The script can also install external packages that are needed by the Amanzi application.

Options for Application-Specific Installs

--download-alquimia  --download-pflotran    Install Alquimia and PFlotran.

--download-ideas   Install xSDK packages and external software needed by Amanzi.

##Notes

Use a different prefix for debug and optimized builds.

Except for a couple of minor exceptions, this script will NOT rebuild packages that  
have not changed between calls to the script. Thus, calling it a second time with the  
same prefix will be much faster.

This script has very little automatic management of dependencies or version management.

About

Bash shell script for installing xSDK and other IDEAS packages

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 100.0%