Skip to content

Configure Options

Johannes Holke edited this page Jul 27, 2021 · 10 revisions

On this page we collect various options that you can pass to t8code's configure script.

This list gives only the most used options, for a complete overview use

configure -h

For an overview of the full installation process, please see the Installation page.

Options

Option Description Default value (if existing)
--build=BUILD configure for building on BUILD guessed
--host=HOST cross-compile to build programs to run on HOST BUILD
--enable-shared[=PKGS] build shared libraries yes
--enable-static[=PKGS] build static libraries yes
--enable-mpi enable MPI parallel code false
--enable-debug enable debugging mode (Note: This will drastically reduce performance) See also the Developer guidelines. false
--with-LIB[=ARG] enable linking with LIB yes
--without-LIB disable linking with LIB (same as --with-LIB=no)
--prefix=PATH Provide an installation prefix
--with-metis enable metis-dependent code
--with-petsc enable PETSc-dependent code
--with-sc path to installed package sc (if non-standard)
--with-p4est path to installed package p4est (if non-standard)

Environment variables

Variable Description
CC C compiler command
CFLAGS compiler flags
LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory
LIBS libraries to pass to the linker, e.g. -l
CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory
CXX C++ compiler command
CXXFLAGS C++ compiler flags
LT_SYS_LIBRARY_PATH User-defined run-time library search path.
CPP C preprocessor
CXXCPP C++ preprocessor

Example configurations

For a parallel release mode with local installation path $HOME/t8code_install:

configure --enable-mpi CFLAGS=-O3 CXXFLAGS=-O3 --prefix=$HOME/t8code_install

For a debugging mode with static linkage (makes using gdb and valgrind more comfortable):

configure --enable-mpi --enable-debug --enable-static --disable-shared CFLAGS="-Wall -O0 -g" CXXFLAGS="-Wall -O0 -g"

Note: The debugging mode introduces a lot of safetychecks and drastically reduces the code performance. Do not use it for production runs. If you want to use a debugger or valgrind, but do not want to perform all additional safetychecks of the debugging mode, use the above configure line without --enable-debug.

For a serial configuration that links against the netcdf library:

configure CFLAGS=-O3 CXXFLAGS=-O3 --with-netcdf

Notes on blas

t8code automatically links against lapack and blas, but does not use them at the current state.

Sometimes this causes problems on systems with ill-configured or non-existing blas/lapack libraries. You can simply disable these by

configure --without-blas --without-lapack [OTHER OPTIONS]

Clone this wiki locally