Error when compiling with mpiCC and nvidia
Hello, I am trying to install VASP 6.4.3 on my local machine using the makefile.include.nvhpc_ompi_mkl_omp_acc as the base makefile. I have included my current installation files as an attachment here. I have installed all the required libraries and confirmed that each component of those libraries is working correctly. However, when I run make all I get the errors below. This is beyond my understanding of compilation since it seems like the version of mpiCC within the nvidia hpc_sdk thinks that the code in timing_.c is wrong, which I'm sure isn't the case. This would imply that my version of mpiCC isn't compatible with this VASP installation, but I have no idea why. Any help you can provide is greatly appreciated.
When running /opt/nvidia/hpc_sdk/Linux_x86_64/24.11/comm_libs/mpi/bin/mpiCC -v, I get:
Export NVCOMPILER=/opt/nvidia/hpc_sdk/Linux_x86_64/24.11
Export PGI=/opt/nvidia/hpc_sdk
nvc++-Warning-No files to process
and
/opt/nvidia/hpc_sdk/Linux_x86_64/24.11/comm_libs/mpi/bin/mpif90 -v, gives:
Export NVCOMPILER=/opt/nvidia/hpc_sdk/Linux_x86_64/24.11
Export PGI=/opt/nvidia/hpc_sdk
nvfortran-Warning-No files to process
*********************************************************************************************************************************************
Error when running make all:
"timing_.c", line 10: error: incomplete type "void" is not allowed
void timing_C(mode,utime,stime,now,minpgf,majpgf,maxrsize,avsize,swaps,ios,cswitch,ierr)
^
"timing_.c", line 10: error: identifier "mode" is undefined
void timing_C(mode,utime,stime,now,minpgf,majpgf,maxrsize,avsize,swaps,ios,cswitch,ierr)
^
"timing_.c", line 10: error: identifier "utime" is undefined
void timing_C(mode,utime,stime,now,minpgf,majpgf,maxrsize,avsize,swaps,ios,cswitch,ierr)
^
"timing_.c", line 10: error: identifier "stime" is undefined
void timing_C(mode,utime,stime,now,minpgf,majpgf,maxrsize,avsize,swaps,ios,cswitch,ierr)
^
"timing_.c", line 10: error: identifier "now" is undefined
void timing_C(mode,utime,stime,now,minpgf,majpgf,maxrsize,avsize,swaps,ios,cswitch,ierr)
^
"timing_.c", line 10: error: identifier "minpgf" is undefined
void timing_C(mode,utime,stime,now,minpgf,majpgf,maxrsize,avsize,swaps,ios,cswitch,ierr)
^
"timing_.c", line 10: error: identifier "majpgf" is undefined
void timing_C(mode,utime,stime,now,minpgf,majpgf,maxrsize,avsize,swaps,ios,cswitch,ierr)
^
"timing_.c", line 10: error: identifier "maxrsize" is undefined
void timing_C(mode,utime,stime,now,minpgf,majpgf,maxrsize,avsize,swaps,ios,cswitch,ierr)
^
"timing_.c", line 10: error: identifier "avsize" is undefined
void timing_C(mode,utime,stime,now,minpgf,majpgf,maxrsize,avsize,swaps,ios,cswitch,ierr)
^
"timing_.c", line 10: error: identifier "swaps" is undefined
void timing_C(mode,utime,stime,now,minpgf,majpgf,maxrsize,avsize,swaps,ios,cswitch,ierr)
^
"timing_.c", line 10: error: identifier "ios" is undefined
void timing_C(mode,utime,stime,now,minpgf,majpgf,maxrsize,avsize,swaps,ios,cswitch,ierr)
^
"timing_.c", line 10: error: identifier "cswitch" is undefined
void timing_C(mode,utime,stime,now,minpgf,majpgf,maxrsize,avsize,swaps,ios,cswitch,ierr)
^
"timing_.c", line 10: error: identifier "ierr" is undefined
void timing_C(mode,utime,stime,now,minpgf,majpgf,maxrsize,avsize,swaps,ios,cswitch,ierr)
^
"timing_.c", line 12: error: expected a ";"
double *utime,*stime,*now,*maxrsize,*avsize;
^
"timing_.c", line 15: error: expected a declaration
{
^
"timing_.c", line 36: error: this declaration has no storage class or type specifier
totaltime = *utime + *stime;
^
"timing_.c", line 38: error: this declaration has no storage class or type specifier
*minpgf = (int) rudata.ru_minflt;
^
"timing_.c", line 38: error: variable "minpgf" has already been defined (previous definition at line 13)
*minpgf = (int) rudata.ru_minflt;
^
"timing_.c", line 38: error: identifier "rudata" is undefined
*minpgf = (int) rudata.ru_minflt;
^
"timing_.c", line 39: error: this declaration has no storage class or type specifier
*majpgf = (int) rudata.ru_majflt;
^
"timing_.c", line 39: error: variable "majpgf" has already been defined (previous definition at line 13)
*majpgf = (int) rudata.ru_majflt;
^
"timing_.c", line 41: error: this declaration has no storage class or type specifier
intsize = ((double) rudata.ru_ixrss) + ((double) rudata.ru_idrss) + ((double) rudata.ru_isrss);
^
"timing_.c", line 43: error: this declaration has no storage class or type specifier
*maxrsize = (double) rudata.ru_maxrss;
^
"timing_.c", line 44: error: this declaration has no storage class or type specifier
*avsize = intsize / totaltime / 100 ;
^
"timing_.c", line 44: error: a value of type "int" cannot be used to initialize an entity of type "int *"
*avsize = intsize / totaltime / 100 ;
^
"timing_.c", line 46: error: this declaration has no storage class or type specifier
*swaps = (int) rudata.ru_nswap;
^
"timing_.c", line 46: error: variable "swaps" has already been defined (previous definition at line 13)
*swaps = (int) rudata.ru_nswap;
^
"timing_.c", line 47: error: this declaration has no storage class or type specifier
*ios = ((int) rudata.ru_inblock) + ((int) rudata.ru_oublock);
^
"timing_.c", line 47: error: variable "ios" has already been defined (previous definition at line 13)
*ios = ((int) rudata.ru_inblock) + ((int) rudata.ru_oublock);
^
"timing_.c", line 48: error: this declaration has no storage class or type specifier
*cswitch = (int) rudata.ru_nvcsw;
^
"timing_.c", line 48: error: variable "cswitch" has already been defined (previous definition at line 13)
*cswitch = (int) rudata.ru_nvcsw;
^
"timing_.c", line 49: error: expected a declaration
}