Difference between revisions of "How to Build GridPACK"
(→Examples) |
|||
Line 11: | Line 11: | ||
cmake [options] gridpack/source/directory | cmake [options] gridpack/source/directory | ||
− | where <code>options</code> are used to locate [[Software Required to Build GridPACK|required software]] and set compiler options. The shell script <code>example_configuration.sh</code> shows some examples of configuration options for a few systems. To guarantee that CMake finds the correct C and C++ compilers, you should define the environment variables CC and CXX (if you are trying to build the Fortran interface, you should define FC and F77 as well). In addition, it may also be necessary to define CFLAGS = "-pthread" etc. depending on how some of the other libraries were built. Using C-shell, the environment variables are | + | where <code>options</code> are used to locate [[Software Required to Build GridPACK|required software]] and set compiler options. The shell script <code>example_configuration.sh</code> shows some examples of configuration options for a few systems. If you don't get the configure right the first time, then you should make sure that you get rid of all the files that CMake created when you tried configuring previously. This can be done by typing |
+ | |||
+ | rm -rf CMake* | ||
+ | |||
+ | in your build directory. This will remove all CMake-related configuration files from your build directory so that the new build is not corrupted by the previous build. If you are using a script to configure GridPACK, then it is a good idea to include this line at the start of the script. | ||
+ | |||
+ | To guarantee that CMake finds the correct C and C++ compilers, you should define the environment variables CC and CXX (if you are trying to build the Fortran interface, you should define FC and F77 as well). In addition, it may also be necessary to define CFLAGS = "-pthread" etc. depending on how some of the other libraries were built. Using C-shell, the environment variables are | ||
setenv CC gcc | setenv CC gcc |
Revision as of 22:14, 8 May 2017
Prerequisite Software
Currently, GridPACK builds on Linux/UNIX sytems. Other operating systems are not supported at this time.
Building GridPACK is relatively complicated, primarily because it depends on several third-party software packages. These need to be built and installed prior to building GridPACK. Refer to the list of required software for what is needed.
Configuration
Configuration is the most complicated part of the process. CMake is used to configure GridPACK for building. The process insures that required software is available and usable. CMake expects to configure GridPACK in a directory other than the one containing the source code. Typically, one makes an empty directory, called build
, say, and executes
cmake [options] gridpack/source/directory
where options
are used to locate required software and set compiler options. The shell script example_configuration.sh
shows some examples of configuration options for a few systems. If you don't get the configure right the first time, then you should make sure that you get rid of all the files that CMake created when you tried configuring previously. This can be done by typing
rm -rf CMake*
in your build directory. This will remove all CMake-related configuration files from your build directory so that the new build is not corrupted by the previous build. If you are using a script to configure GridPACK, then it is a good idea to include this line at the start of the script.
To guarantee that CMake finds the correct C and C++ compilers, you should define the environment variables CC and CXX (if you are trying to build the Fortran interface, you should define FC and F77 as well). In addition, it may also be necessary to define CFLAGS = "-pthread" etc. depending on how some of the other libraries were built. Using C-shell, the environment variables are
setenv CC gcc setenv CFLAGS "-pthread" setenv CXX g++ setenv CXXFLAGS "-pthread" setenv FC gfortran setenv FCFLAGS "-pthread" setenv F77 gfortran setenv F77FLAGS "-pthread"
Building
Once configured, GridPACK is built with
make
which will take some time. If building on a multi-core system, building can go faster if multiple cores are use, e.g.,
make -j 8
will use 8 simultaneous processes to build GridPACK.
Running Tests
After a successful build, GridPACK unit tests can be run with
make test
which will produce a list of tests and whether they passed or failed.
Examples
If new to building GridPACK, it's usually best to start from a working example. Below, are detailed descriptions of building GridPACK on some specific machines: