Dear Exciting Developers,
I have been working through the tutorial for the BRIXS code but need help compiling the Exciting main code with HDF5.
Have I understood correctly? Compilation with HDF5 is a requirement to store the excitonic eigenvectors in .h5 format.
To build with HDF5 support, I have checked the preprocessor directive within the code:
_HDF5_, and the include and link options for the parallel version of hdf5 I have available:
$ h5pfc -show >> ftn -I/opt/cray/pe/hdf5-parallel/126.96.36.199/include -Wl,-rpath -Wl,/opt/cray/pe/hdf5-parallel/188.8.131.52/gnu/9.1/lib
I updated the
make.inc accordingly with:
MPIF90_OPTS = -DMPI -D_HDF5_ MPI_LIBS = -I/opt/cray/pe/hdf5-parallel/184.108.40.206/include -Wl,-rpath -Wl,/opt/cray/pe/hdf5-parallel/220.127.116.11/gnu/9.1/lib
This leads to an error during compilation
../../src/src_gw/task_chi0_r.f90:236:77: 236 | & chi0(1,1,iomstart,iq),(/matsizmax,matsizmax,iomstart:iomend/)) | 1 Error: Syntax error in array constructor at (1)
that I have traced back to the following
_HDF5_ block in
/src/src_gw/task_chi0_r.f90 at the call on line 235:
230 #ifdef _HDF5_ 231 write(cik,'(I4.4)') ik 232 path = "/qpoints/"//trim(adjustl(cik)) 233 if (.not.hdf5_exist_group(fgwh5,"/qpoints",cik)) & 234 & call hdf5_create_group(fgwh5,"/qpoints",cik) 235 call hdf5_write(fgwh5,path,"chi0", & 236 & chi0(1,1,iomstart,iq),(/matsizmax,matsizmax,iomstart:iomend/)) 237 #endif
Unfortunately, I cannot determine the error, or whether it can be mitigated with an additional compiler flag. So any help would be greatly appreciated.
As a new user to this forum I cannot upload attatchments, so I have created a GitHub repository with the output from the make command, and my
make.inc file. I am compiling with GNU compilers version gcc/11.2.0.
Finally, as stated in the title of this topic, I was originally working with Exciting version Oxygen. I have also verified the same problem with compilation of Exciting version Fluorine.
Thank you very much, and best regards
Diamond Light Source