Issue at the moment of compiling exciting.fluorine

Hi everyone, I have a problem when performing the “make”, I have reviewed the posts with the same problem but mine persists despite adding “-fallow-argument-mismatch”, and also did not work with the advice of “The hacky way of solving it is to scrap the exciting folder and clone it again”, I attach the terminal error and the make used.

Terminal error:

-DXS -DISO -DLIBXC -fopenmp -DUSEOMP -Ifinclude -c …/…/src/lapack_wrappers/mkl_service.f90
…/…/src/lapack_wrappers/mkl_service.f90:43:64:

43 | INTEGER (KIND=4), PARAMETER, PUBLIC :: MKL_INTERFACE_LP64 = Z"00000000"
| 1

Error: BOZ literal constant at (1) is neither a data-stmt-constant nor an actual argument to INT, REAL, DBLE, or CMPLX intrinsic function [see ‘-fno-allow-invalid-boz’]
…/…/src/lapack_wrappers/mkl_service.f90:44:64:

44 | INTEGER (KIND=4), PARAMETER, PUBLIC :: MKL_INTERFACE_ILP64 = Z"00000001"
| 1

Error: BOZ literal constant at (1) is neither a data-stmt-constant nor an actual argument to INT, REAL, DBLE, or CMPLX intrinsic function [see ‘-fno-allow-invalid-boz’]
…/…/src/lapack_wrappers/mkl_service.f90:45:64:

45 | INTEGER (KIND=4), PARAMETER, PUBLIC :: MKL_INTERFACE_GNU = Z"00000002"
| 1

Error: BOZ literal constant at (1) is neither a data-stmt-constant nor an actual argument to INT, REAL, DBLE, or CMPLX intrinsic function [see ‘-fno-allow-invalid-boz’]

Make:

F90 = gfortran
F90_OPTS = -O3 -march=native -ffree-line-length-0 -fallow-argument-mismatch
CPP_ON_OPTS = -cpp -DXS -DISO -DLIBXC
F77 = $(F90)
F77_OPTS = -O3 -fallow-argument-mismatch
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 -fallow-argument-mismatch
F77_DEBUGOPTS = $(F90_DEBUGOPTS)

INCL =

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)

MPIF90 = mpif90
MPIF90_OPTS = -DMPI
MPI_LIBS =

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

BUILDMPI = true
BUILDSMP = true
BUILDMPISMP = true

1 Like

Hi, @Vic ~ I met the same problem with you, and tried to modify Z"00000000" to 0, Z"00000001" to 1 and Z"00000002" to 2. That worked for me.
Z"00000000" indicates a hexadecimal value in fortran, and can be safely changed to its decimal counterpart.

1 Like

Thaaaaanks Rabbiiiiit:D works fine,I feel foolish for that easy solution, thanks again:))

1 Like

The compiler is telling you the problem:

[see ‘-fno-allow-invalid-boz’]. As such, you can just set the -fallow-invalid-boz flag.

And on a more general note, if googling for a compiler error doesn’t help (it usually should), one can pass the stdout/err to chatGPT and get very informative feedback, typically faster than a forum response.

Cheers,
Alex

1 Like