Difference between revisions of "Building on Debian"

From GridPACK
Jump to: navigation, search
(Created page with "Building GridPACK is relatively straightforward on [https://www.debian.org/ | Debian 9 (stretch)] systems. At the time of writing, [https://www.debian.org/ | Debian 9] was th...")
 
Line 3: Line 3:
 
== System Preparation ==
 
== System Preparation ==
  
Starting with a ''clean'', minimal installation, add contrib and non-free components of the Debian distribution need to apt sources (ParMETIS is in non-free). Edit '''/etc/apt/sources.list''' and make the main repository line look like this:
+
Starting with a ''clean'', minimal installation, add contrib and non-free components of the Debian distribution need to apt sources (ParMETIS is in non-free). Edit <code>/etc/apt/sources.list</code> and make the main repository line look like this:
  
 
  deb http://ftp.us.debian.org/debian/ stretch main contrib non-free
 
  deb http://ftp.us.debian.org/debian/ stretch main contrib non-free
Line 27: Line 27:
 
     libboost-random-dev libboost-filesystem-dev libboost-system-dev
 
     libboost-random-dev libboost-filesystem-dev libboost-system-dev
  
This will install the default MPI implementation (OpenMPI), including compiler wrappers, also.
+
This will also install the default MPI implementation (OpenMPI), including compiler wrappers.
  
 
=== PETSc ===
 
=== PETSc ===
 +
 +
Install the real-valued version of [https://www.mcs.anl.gov/petsc/ PETSc] with
 +
 +
sudo apt-get install petsc-dev
 +
 +
or the complex-valued version with
 +
 +
sudo apt-get install libpetsc3.7.5-dev
  
 
=== Global Arrays ===
 
=== Global Arrays ===
 +
 +
[http://hpc.pnl.gov/globalarrays/ Global Arrays] has lots of dependencies. Unfortunately, installing the Debian GA package (version <code>5.4~beta~r10636+dfsg-5</code>) does not enforce any of them. Installing [https://www.mcs.anl.gov/petsc/ PETSc] first will install most of them. This should complete the GA installation:
 +
 +
sudo apt-get install libglobalarrays-dev libarmci-mpi-dev
 +
 +
=== ParMETIS ===
 +
 +
Install [http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview ParMETIS] using
 +
 +
sudo apt-get install libparmetis-dev libmetis-dev
 +
 +
=== GNU Linear Programming Kit ===
 +
 +
[https://www.gnu.org/software/glpk/ GLPK] is optional and can be installed with
 +
sudo apt-get install libglpk-dev
 +
 +
== GridPACK Configuration and Build ==

Revision as of 18:07, 14 February 2018

Building GridPACK is relatively straightforward on | Debian 9 (stretch) systems. At the time of writing, | Debian 9 was the current stable distribution. There is no need to build any prerequisite software. All can be installed from Debian package repositories.

System Preparation

Starting with a clean, minimal installation, add contrib and non-free components of the Debian distribution need to apt sources (ParMETIS is in non-free). Edit /etc/apt/sources.list and make the main repository line look like this:

deb http://ftp.us.debian.org/debian/ stretch main contrib non-free
deb-src http://ftp.us.debian.org/debian/ stretch main contrib non-free

and then refresh the system package lists with

sudo apt-get update

Prerequisite Installation

General

Install a C++ compiler, CMake, and Git:

sudo apt-get install git cmake g++

Boost

Install necessary Boost libraries:

sudo apt-get install libboost-dev libboost-mpi-dev \
   libboost-random-dev libboost-filesystem-dev libboost-system-dev

This will also install the default MPI implementation (OpenMPI), including compiler wrappers.

PETSc

Install the real-valued version of PETSc with

sudo apt-get install petsc-dev

or the complex-valued version with

sudo apt-get install libpetsc3.7.5-dev

Global Arrays

Global Arrays has lots of dependencies. Unfortunately, installing the Debian GA package (version 5.4~beta~r10636+dfsg-5) does not enforce any of them. Installing PETSc first will install most of them. This should complete the GA installation:

sudo apt-get install libglobalarrays-dev libarmci-mpi-dev

ParMETIS

Install ParMETIS using

sudo apt-get install libparmetis-dev libmetis-dev

GNU Linear Programming Kit

GLPK is optional and can be installed with

sudo apt-get install libglpk-dev

GridPACK Configuration and Build