Q. I compile Nektar++ successfully but, when I run ctest, all the tests fail. What might be wrong?
On Linux or Mac, if you compile the ThirdParty version of Boost, rather than using version
supplied with your operating system (or MacPorts on a Mac), the libraries will be
installed in the ThirdParty/dist/lib
subdirectory of your Nektar++ directory. When
Nektar++ executables are run, the Boost libraries will not be found as this path is
not searched by default. To allow the Boost libraries to be found set the following
environmental variable, substituting $NEKTAR_HOME
with the absolute path of your Nektar++
directory:
On Linux (sh, bash, etc)
export LD_LIBRARY_PATH=${NEKTAR_HOME}/ThirdParty/dist/lib
or (csh, etc)
setenv LD_LIBRARY_PATH ${NEKTAR_HOME}/ThirdParty/dist/lib
On Mac
export DYLD_LIBRARY_PATH=${NEKTAR_HOME}/ThirdParty/dist/lib
Q. How to I compile Nektar++ to run in parallel?
Parallel execution of all Nektar++ solvers is available using MPI. To compile using MPI,
enable the NEKTAR_USE_MPI
option in the CMake configuration. On recent versions of MPI,
the solvers can still be run in serial when compiled with MPI. More information on Nektar++
compilation options is available in Section 1.3.5.
Q. When compiling Nektar++, I receive the following error:
CMake Error: The following variables are used in this project, but they are set to NOTFOUND. Please set them or make sure they are set and tested correctly in the CMake files: NATIVE_BLAS (ADVANCED) linked by target "LibUtilities" in directory /path/to/nektar++/library/LibUtilities NATIVE_LAPACK (ADVANCED) linked by target "LibUtilities" in directory /path/to/nektar++/library/LibUtilities
This is caused by one of two problems:
The BLAS and LAPACK libraries and development files are not installed. On Linux systems, both the LAPACK library package (usually called liblapack3 or lapack) and the development package (usually called liblapack-dev or lapack-devel) must be installed. Often the latter is missing.
An alternative BLAS/LAPACK library should be used. HPC systems frequently
use the Intel compilers (icc, icpc) and the Intel Math Kernel Library (MKL). This
software should be made available (if using the modules environment) and the
option NEKTAR_USE_MKL
should be enabled.
Q. When I compile Nektar++ I receive an error
error: #error "SEEK_SET is #defined but must not be for the C++ binding of MPI. Include mpi.h before stdio.h"
This can be fixed by including the flags
-DMPICH_IGNORE_CXX_SEEK -DMPICH_SKIP_MPICXX
in the CMAKE_CXX_FLAGS
option within the ccmake
configuration.
Q. After installing Nektar++ on my local HPC cluster, when I run the ’ctest’ command, all the parallel tests fail. Why is this?
The parallel tests are those which include the word parallel
or par
. On many HPC systems,
the MPI binaries used to execute jobs are not available on the login nodes, to prevent
inadvertent parallel runs outside of the queuing system. Consequently, these tests will not
execute. To fully test the code, you can submit a job to the queuing system using a minimum
of two cores, to run the ctest
command.
Q. When running any Nektar++ executable on Windows, I receive an error that zlib.dll cannot be found. How do I fix this?
Windows searches for DLL files in directories specified in the PATH environmental variable. You should add the location of the ThirdParty files to your path. To fix this (example for Windows XP):
As an administrator, open ”System Properties” in control panel, select the ”Advanced” tab, and select ”Environment Variables”.
Edit the system variable ‘path‘ and append
C:\path\to\nektar++\ThirdParty\dist\bin
to the end, replacing path\to\nektar++
appropriately.
Q. When compiling Nektar++ Thirdparty libraries I get an error “CMake Error: Problem extracting tar”
Nektar++ tries to download the appropriate ThirdParty libraries. However if the download protocols are restricted on your computer this may fail leading to the error “‘CMake Error: Problem extracting tar”. These libraries are available from
http://www.nektar.info/thirdparty/
and can be downloaded directly into the $NEKTAR_HOME/ThirdParty
directory