Compilation of the Exciting code

I am a new user of the EXCITING code. I am trying to compile it. Everything goes smoothly at first but then the compilation stops with an error:

…/…/src/src_inputparser/modinputdom.f90(6): error #7013: This module file was not generated by any release of this compiler. [FOX_DOM]
Use FoX_dom
----------^
…/…/src/src_inputparser/modinputdom.f90(10): error #6457: This derived type name has not been declared. [NODE]
Type (Node), Pointer :: doc, inputnp, nullnode, emptynode, dummy
------------^
…/…/src/src_inputparser/modinputdom.f90(11): error #6457: This derived type name has not been declared. [DOMCONFIGURATION]
Type (DOMConfiguration), Pointer :: config
------------^
…/…/src/src_inputparser/modinputdom.f90(78): error #6457: This derived type name has not been declared. [NODE]
Type (Node), Pointer :: np, unknownnode
---------------^
…/…/src/src_inputparser/modinputdom.f90(79): error #6457: This derived type name has not been declared. [NODELIST]
Type (NodeList), Pointer :: nl
---------------^
…/…/src/src_inputparser/modinputdom.f90(80): error #6457: This derived type name has not been declared. [NAMEDNODEMAP]
.
.
.

Makefile.mkmf:1234: recipe for target ‘modinputdom.o’ failed
make[3]: *** [modinputdom.o] Error 1
make[3]: Leaving directory ‘/home/users/eamouj78/Softwares/exciting/build/mpiandsmp’
…/Make.common:78: recipe for target ‘bin’ failed
make[2]: *** [bin] Error 2
make[2]: Leaving directory ‘/home/users/eamouj78/Softwares/exciting/build/mpiandsmp’
Makefile:15: recipe for target ‘all’ failed
make[1]: *** [all] Error 2
make[1]: Leaving directory ‘/home/users/eamouj78/Softwares/exciting/build/mpiandsmp’
Makefile:29: recipe for target ‘mpiandsmp’ failed
make: *** [mpiandsmp] Error 2

Can anyone help me tp resolve this error

Thanks

Hi,

Sorry to hear that you have trouble compiling exciting. To be able to help you I need a couple of informations:

  • The OS on the machine you want to compile exciting
  • The compiler you are using, please also include the version
  • Please attach the make.inc you are using

Best Benedikt

Dear Benedikt,

Thanks for your quick response.

1-The OS machine:

NAME=“SLES”
VERSION=“12”
VERSION_ID=“12”
PRETTY_NAME=“SUSE Linux Enterprise Server 12”
ID=“sles”
ANSI_COLOR=“0;32”
CPE_NAME=“cpe:/o:suse:sles:12”

2- The GCC compiler:
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/sw/apps/suse/gnu/gcc/8.4.0/libexec/gcc/x86_64-suse-linux/8.4.0/lto-wrapper
Target: x86_64-suse-linux
Configured with: …/configure --prefix=/sw/apps/suse/gnu/gcc/8.4.0 --disable-multilib --enable-languages=c,c++,fortran --disable-static --enable-shared --build=x86_64-suse-linux --host=x86_64-suse-linux --program-suffix=-8.4
Thread model: posix
gcc version 8.4.0 (GCC)

I have also loaded the intel-2017 libraries.

3- The make.inc file:

# Example make.inc file for GCC
#
# NOTE: If compiling with GCC 10 or above append F90_OPTS, F77_OPTS and F90_DEBUGOPTS with:
#  -fallow-argument-mismatch
# See here for more details: https://gcc.gnu.org/gcc-10/porting_to.html

# Compiler, flags and preprocessing variables
F90 = gfortran
F90_OPTS = -O3 -march=native -ffree-line-length-0
CPP_ON_OPTS = -cpp -DXS -DISO -DLIBXC
F77 = $(F90)
F77_OPTS = -O3
# Required for compilation of LibXC
FCCPP = cpp

F90_DEBUGOPTS = -g -O0 -DUSE_ASSERT -fbounds-check -fbacktrace -Wall -Wextra -ffree-line-length-0 -fcheck=all -finit-integer=2147483647 -finit-real=snan \
-frecord-gcc-switches -finit-character=42 -finit-logical=true -ffpe-trap=invalid,zero,overflow -fdump-core -fstack-protector-all -pipe
# Unusable debug flags: -pedantic
F77_DEBUGOPTS = $(F90_DEBUGOPTS)

# If compiling on mac, one may need to specify the location of the openMP header file.
# For example, if using Macports it may look like:
# INCL = -I/opt/local/lib/gcc10/gcc/x86_64-apple-darwin19/10.2.0/finclude/
INCL =

# Libaries
# Use native blas/lapack by default
export USE_SYS_LAPACK=true
LIB_LPK = -L./ -llapack -lblas
LIB_FFT = fftlib.a
LIB_BZINT = libbzint.a
LIBS = $(LIB_LPK) $(LIB_FFT) $(LIB_BZINT)

# SMP and MPI compilers, flags and preprocessing variables
MPIF90 = mpif90
MPIF90_OPTS = -DMPI
MPI_LIBS =

# To use Scalapack, include the preprocessing variable, provide the library path and library name
#MPIF90_OPTS = -DMPI -DSCAL
#MPI_LIBS = -L/opt/local/lib/ -lscalapack

SMPF90_OPTS = -fopenmp -DUSEOMP
SMPF77_OPTS = $(SMPF90_OPTS)
SMP_LIBS =

BUILDMPI = true
BUILDSMP = true
BUILDMPISMP = true

Any help would be appreciated

Best

Hi Elie,

Making a guess from the error message and what you’ve said, did you try to compile with Intel then switch to GCC? It sounds as if the external library FoX was not built with the GCC compiler.

Can you please try running make clean then rebuilding?

Also, could you try a fresh build using Intel 2017 (which requires a different make.inc, then running make clean, then make).

The SOL group run locally with Debian Buster and GCC 8, so there for sure shouldn’t be problems with the compiler version.

Cheers,
Alex