Difference between revisions of "Building on Ubuntu"
(→Building and Testing GridPACK) |
|||
Line 1: | Line 1: | ||
− | This | + | GridPACK is relatively easy to build on Ubuntu Linux systems. This example was performed on a [https://www.virtualbox.org/ Virtual Box] instance running a clean install of [http://www.ubuntu.com/ Ubuntu Linux] 16.04 (LTS). |
− | [ | + | If you have no need to modify the GridPACK library itself, consider [[Ubuntu_Installation| installing the binary package]]. |
− | + | A few basic development packages will be necessary. Install them with | |
− | + | <pre>sudo apt-get install git build-essential devscripts equivs</pre> | |
− | + | == Obtain GridPACK Source == | |
− | + | In a convenient location, clone the GridPACK repository | |
− | + | <pre>git clone https://github.com/GridOPTICS/GridPACK.git | |
+ | cd GridPACK | ||
+ | git submodule update --init</pre> | ||
− | + | == Install Required Packages == | |
− | + | All the [https://www.gridpack.org/wiki/index.php/Software_Required_to_Build_GridPACK GridPACK prerequisites] packages can be installed using the packaging information in the source. Run this command in the top directory of the cloned repository: | |
− | + | <pre>sudo mk-build-deps -i</pre> | |
− | + | This will make and install a virtual package called <code>gridpack-build-deps</code> with all the dependencies needed to build GridPACK. | |
− | + | Alternatively, all required packages will be installed by [[Ubuntu_Installation| installing the GridPACK binary package]]. | |
− | + | == Build and Test GridPACK == | |
− | + | Configure and build GridPACK using the recipe for <code>gridpackvm</code> in <code>example_configuration.sh</code>: | |
− | + | <pre>mkdir src/build | |
+ | cd src/build | ||
+ | bash ../example_configuration.sh gridpackvm | ||
+ | make | ||
+ | make test</pre> | ||
− | + | Or, modify this configuration recipe to fit your needs: | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | <pre>CC=gcc | ||
+ | CXX=g++ | ||
+ | export CC CXX | ||
− | == | + | cmake \ |
+ | -D PETSC_DIR:STRING="/usr/lib/petscdir/3.6.2" \ | ||
+ | -D PETSC_ARCH:STRING="x86_64-linux-gnu-real" \ | ||
+ | -D PARMETIS_DIR:PATH="/usr" \ | ||
+ | -D GA_EXTRA_LIBS:STRING="-lscalapack-openmpi -lblacsCinit-openmpi -lblacs-openmpi -llapack -lblas -lgfortran" \ | ||
+ | -D MPI_CXX_COMPILER:STRING="mpicxx" \ | ||
+ | -D MPI_C_COMPILER:STRING="mpicc" \ | ||
+ | -D MPIEXEC:STRING="mpiexec" \ | ||
+ | -D MPIEXEC_MAX_NUMPROCS:STRING="2" \ | ||
+ | -D GRIDPACK_TEST_TIMEOUT:STRING=20 \ | ||
+ | -D USE_GLPK:BOOL=ON \ | ||
+ | -D GLPK_ROOT_DIR:PATH="/usr" \ | ||
+ | -D BUILD_SHARED_LIBS:BOOL=OFF \ | ||
+ | -D CMAKE_INSTALL_PREFIX:PATH="$HOME/gridpack" \ | ||
+ | -D CMAKE_VERBOSE_MAKEFILE:BOOL=TRUE \ | ||
+ | ..</pre> | ||
− | GridPACK | + | Then, build and test GridPACK normally: |
+ | ''' | ||
+ | make | ||
+ | make test | ||
+ | ''' | ||
− | + | == Removing Required Software == | |
− | + | ||
− | + | If no longer needed, the required packages can be removed using | |
− | + | ||
− | + | ||
− | + | <pre>sudo apt-get purge gridpack-build-deps | |
− | + | sudo apt autoremove</pre> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Revision as of 15:07, 5 January 2018
GridPACK is relatively easy to build on Ubuntu Linux systems. This example was performed on a Virtual Box instance running a clean install of Ubuntu Linux 16.04 (LTS).
If you have no need to modify the GridPACK library itself, consider installing the binary package.
A few basic development packages will be necessary. Install them with
sudo apt-get install git build-essential devscripts equivs
Contents
Obtain GridPACK Source
In a convenient location, clone the GridPACK repository
git clone https://github.com/GridOPTICS/GridPACK.git cd GridPACK git submodule update --init
Install Required Packages
All the GridPACK prerequisites packages can be installed using the packaging information in the source. Run this command in the top directory of the cloned repository:
sudo mk-build-deps -i
This will make and install a virtual package called gridpack-build-deps
with all the dependencies needed to build GridPACK.
Alternatively, all required packages will be installed by installing the GridPACK binary package.
Build and Test GridPACK
Configure and build GridPACK using the recipe for gridpackvm
in example_configuration.sh
:
mkdir src/build cd src/build bash ../example_configuration.sh gridpackvm make make test
Or, modify this configuration recipe to fit your needs:
CC=gcc CXX=g++ export CC CXX cmake \ -D PETSC_DIR:STRING="/usr/lib/petscdir/3.6.2" \ -D PETSC_ARCH:STRING="x86_64-linux-gnu-real" \ -D PARMETIS_DIR:PATH="/usr" \ -D GA_EXTRA_LIBS:STRING="-lscalapack-openmpi -lblacsCinit-openmpi -lblacs-openmpi -llapack -lblas -lgfortran" \ -D MPI_CXX_COMPILER:STRING="mpicxx" \ -D MPI_C_COMPILER:STRING="mpicc" \ -D MPIEXEC:STRING="mpiexec" \ -D MPIEXEC_MAX_NUMPROCS:STRING="2" \ -D GRIDPACK_TEST_TIMEOUT:STRING=20 \ -D USE_GLPK:BOOL=ON \ -D GLPK_ROOT_DIR:PATH="/usr" \ -D BUILD_SHARED_LIBS:BOOL=OFF \ -D CMAKE_INSTALL_PREFIX:PATH="$HOME/gridpack" \ -D CMAKE_VERBOSE_MAKEFILE:BOOL=TRUE \ ..
Then, build and test GridPACK normally: make make test
Removing Required Software
If no longer needed, the required packages can be removed using
sudo apt-get purge gridpack-build-deps sudo apt autoremove