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/1.12.2.1/include -Wl,-rpath -Wl,/opt/cray/pe/hdf5-parallel/1.12.2.1/gnu/9.1/lib
I updated the make.inc
accordingly with:
MPIF90_OPTS = -DMPI -D_HDF5_
MPI_LIBS = -I/opt/cray/pe/hdf5-parallel/1.12.2.1/include -Wl,-rpath -Wl,/opt/cray/pe/hdf5-parallel/1.12.2.1/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
Joshua Elliott
Research Scientist
Diamond Light Source
United Kingdom