I am at step 4 of README provided in lib/qmmm directory, that is compiling for pwqmmm.x. Whe i give ‘make -f Makefile.gfortran all’ or ‘pwqmmm.x’, i get following error:
spresso-5.4.0’/COUPLE/include pwqmmm.c -o pwqmmm.o
pwqmmm.c: In function ‘int main(int, char**)’:
pwqmmm.c:190:42: error: invalid conversion from ‘int’ to ‘int*’ [-fpermissive]
pwqmmm.c:190:42: error: cannot convert ‘int*’ to ‘char*’ for argument ‘8’ to ‘void c2libpwscf(int, int, int, int, int, int, int*, char*)’
I believe it is due to the fact that in [q.e. directory]/COUPLE/include/libqecouple.h file
c2libpwscf function is declared as:
void c2libpwscf(int lib_comm, int nimage, int npool, int ntaskgroup,
int nband, int ndiag, int *exit_status, char *input_file);
while in [lammps]/lib/qmmm/pwqmmm.c file it is called as:
c2libpwscf(qmmmcfg.my_comm, nimage, npots, npool, ntg, nband, ndiag,
&retval, qmmmcfg.qminp);
that ‘npots’ variable is extra.
Any patch for this?
QE version: 5.4.0
lammps version: 10Aug15
compiler: GNU 4.6.3 with open MPI on UBUNTU 12.04
PS: Makefile for qmmm directory was copied from lammps github directory to reflect upon following changes :
tldeps: ( cd (QETOPDIR) ; (MAKE) $(MFLAGS) couple - (MAKE) -C ../../src (MFLAGS) makelib (MAKE) -C ../../src (MFLAGS) $(LAMMPSCFG) - (MAKE) -C ../../src (MFLAGS) -f Makefile.lib $(LAMMPSCFG) + (MAKE) -C ../../src (MFLAGS) mode=lib $(LAMMPSCFG)
as make -C …/…/src makelib was giving error. I did not touch any other file as timestamp on all other was 3 years old.