Skip to content

Configure Options

Johannes Holke edited this page Apr 24, 2024 · 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

 uses a fraction of the test cases to speed up
                      development (WARNING: use with care)
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
--enable-less-tests uses a fraction of the test cases to speed up development (WARNING: use with care) 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 safety checks and drastically reduces the code performance. Do not use it for production runs. <<<<<<< HEAD If you want to use a debugger or valgrind, but do not want to perform all additional safety checks of the debugging mode, use the above configure line without --enable-debug.

Note: If you are developing and need to execute the tests frequently, you can use --enable-less-tests to decrease the amount of tests and thus the overall test runtime.

For a serial configuration that links against the netcdf library:

If you want to use a debugger or Valgrind, but do not want to perform all additional safety checks of the debugging mode, use the above configure line without --enable-debug.

For a serial configuration that links against the NetCFD 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