abinit / abinit

The official github mirror of the Abinit repository. We welcome bug fixes and improvements. Note that most of the active developments are hosted on our https://gitlab.abinit.org/ server. Before embarking on making significant changes, please contact the Abinit group.

Home Page:https://www.abinit.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

compile error in 8.10.3 with gfortan-10.2

mbanck opened this issue · comments

I am gettting this error when building abinit on Debian unstable:

gfortran -DHAVE_CONFIG_H -I. -I../..  -I../../src/12_hide_mpi -I../../src/12_hide_mpi -I../../src/14_hidewrite -I../../src/14_hidewrite -I../../src/10_defs -I../../src/10_defs -I../../src/18_timing -I../../src/18_timing -I../../src/16_hideleave -I../../src/16_hideleave -I../../src/27_toolbox_oop -I../../src/27_toolbox_oop -I../../src/incs -I../../src/incs -I/<<PKGBUILDDIR>>/fallbacks/exports/include   -ffree-form -J/<<PKGBUILDDIR>>/src/mods  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -ffree-line-length-none -c -o m_hide_lapack.o m_hide_lapack.F90
abi_xpotrf.f90:151:23:

  151 |     call zpotrf(uplo,n,a,lda,info)
      |                       1
......
  196 |  call zpotrf(uplo,n,a,lda,info)
      |                    2   
Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/COMPLEX(8)).
abi_xhpgv.f90:68:33:

   68 |     call zhpgv(itype,jobz,uplo,n,a,b,w,z,ldz,work,rwork,info)
      |                                 1
......
  341 |  call zhpgv(itype,jobz,uplo,n,a,b,w,z,ldz,work,rwork,info)
      |                              2   
Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/COMPLEX(8)).

GFortran version is GNU Fortran (Debian 10.2.0-9) 10.2.0.

With gfortran10, you need to add --fallow-argument-mismatch to your compiler options
Reconfigure with e.g.

FCFLAGS="-g -O2 -ffree-line-length-none --fallow-argument-mismatch"

and make again

That (though the option is -fallow-argument-mismatch with just one dash) did the trick, thanks!