Installation Errors

configure failed by “Fortran compiler cannot create executables” error

This error says the Fortran compiler could not create an executable. Fortran compiler can be specified by “FC” shell variable. If not clearly specified, GENESIS configuration script automatically searches the default compilers, mpifrtpx or mpifrt or mpif90, in the default PATH. If you met this error, several possibilities might be considered.

  • typo in FC specification such as FC=/usr/locla/bin/mpif90 (“locla” should be “local”)
  • problems in compiler environment (libraries etc.)
  • others; something unexpected

For the former type of cause, you can easily check the compiler by running it in the terminal (check its existence and permission). Please also check this page about configuration.

nvcc is not found

The CUDA compiler, nvcc, is not found. Please make sure CUDA Toolkit is installed first. Then please check the path to nvcc command. If you specify --with-cuda=/usr/local/cuda-8.0, nvcc is expected to be in /usr/local/cuda-8.0/bin directory and the CUDA libraries are expected to be in /usr/local/cuda-8.0/lib64 directory.

CUDA libraries of Debian and Ubuntu package (/usr/lib/x86_64-linux-gnu/) are automatically checked.

compilation stop at math_libs.f90 with a lot of error messages saying “no such instruction”

This kind of error was found when Haswell CPU and gcc4.6 (or older?) are used. To avoid this error, please change all “-march=native” to “-march=corei7” in ./src/configure until this problem is fixed in the future version.

ifort version 12.1.0 (20110811) has a serious problem in GENESIS

This version of intel compiler cannot compile GENESIS correctly. Please use other compilers. Later versions of 12.1.x series work fine.

ifort version 15.0.1 (20141023) has a serious problem in GENESIS

This version of intel compiler cannot compile GENESIS correctly. Please use other compilers. Later versions of 15.0.x series work fine.

Error message: aclocal-xxx: command not found or configure.ac:xxxx: error: possibly undefined macro AM_COND_IF

(GENESIS 1.2.0 or later may not encounter this problem)

This error may happen if your environment is very much different from the developer’s one. In this case, you need to run ./bootstrap and then ./configure again as follows.

$ ./bootstrap
$ ./configure [options]
$ make
$ make install
Parallel compilation failed (GENESIS 1.2.0 or later only)

If Makefile.depends is lost or broken, parallel compilation would fail. If you encounter this situation, please go to the directory where the error occurred and check the existence of Makefile.depends. If the Makefile.depends does not exist, you can create the file by executing make depend. An example is shown below.

(compilation failed at sp_enefunc.f90; which is a component of spdyn)
$ cd src/spdyn
$ ls Makefile*
Makefile     Makefile.am     Makefile.in
$ make depend
$ ls Makefile*
Makefile     Makefile.am     Makefile.depends     Makefile.in
$ cd ../../
$ make -j4 install