[FLASH-USERS] hdf5typeio error (?) for LaserSlab
Klaus Weide
klaus at flash.uchicago.edu
Fri Jun 3 14:05:47 EDT 2016
On Fri, 3 Jun 2016, Marissa Adams wrote:
> I am getting the following error when trying to make an executable for the
> *LaserSlab* example found in the documentation (
> http://flash.uchicago.edu/~jbgallag/2012/flash4_ug/node34.html#SECTION08175000000000000000
Hello,
(Why not use a more up-to-date version of the Users Guide??)
> -- I have written the exact same setup script noted in this section):
>
> io_h5file_interface.o: In function `io_h5open_file_for_read_':
> > /home/<username>/FLASH4.3/object/io_h5file_interface.c:273: undefined
> > reference to `H5Pset_fapl_mpio'
> > /home/<username>/FLASH4.3/object/io_h5file_interface.c:271: undefined
> > reference to `H5Pset_fapl_mpio'
> > io_h5file_interface.o: In function `io_h5init_file_':
> > /home/<username>/FLASH4.3/object/io_h5file_interface.c:165: undefined
> > reference to `H5Pset_fapl_mpio'
> > /home/<username>/FLASH4.3/object/io_h5file_interface.c:163: undefined
> > reference to `H5Pset_fapl_mpio'
> > io_h5read_unknowns.o: In function `io_h5read_unknowns_':
> > /home/<username>/FLASH4.3/object/io_h5read_unknowns.c:53: undefined
> > reference to `H5Pset_dxpl_mpio'
> > io_h5write_unknowns.o: In function `io_h5write_unknowns_':
> > /home/<username>/FLASH4.3/object/io_h5write_unknowns.c:156: undefined
> > reference to `H5Pset_dxpl_mpio'
> > io_h5write_unknowns_sp.o: In function `io_h5write_unknowns_sp_':
> > /home/<username>/FLASH4.3/object/io_h5write_unknowns_sp.c:237: undefined
> > reference to `H5Pset_dxpl_mpio'
> > make: *** [flash4] Error 1
It looks like your Makefile.h needs work. Apparently it is not pointing to
the right HDF5 library file. Check all the -L and -l flags of the command
that tries to actually links all the .o files into a flash4 executable.
Also check whether directories mentioned in -I flags in the compilation
commands point to the right version of HDF5 (i.e., yours).
> The HDF5 compiled in the* /opt/ *of the cluster I am on is not
> parallelized. So I've compiled my own PHDF5 module in my home directory. I
> have been able to successfully make with +hdf5typeio with the *Sedov*
> problem, which yields nicely refined output.
>
> On the other hand, I've tried to make a *LaserSlab* problem with +noio,
> which was successful. However when running my executable I got a segfault
> error, which I am not sure to be related to the problem needing
> parallelized HDF5.
Not sure why that works for you. Maybe different flags are in effects?
(setup -debug vs -opt vs -test?)
You may want to compare the output of the ./setup command [or at lease the
generated setup_units files] between the two cases (Sedov and LaserSlab),
to see whether there are any unexpected differences - like different
source directories under IO/.
>
> Looking at *io_h5file_interface.c*, there seems to be perhaps a commenting
> issue (?):
>
> /* if we are splitting the output file ... */
> > /* if(*io_outputSplitNum ==
> > 1){
> > ierr = H5Pset_fapl_mpio(acc_template, MPI_COMM_WORLD,
> > MPI_INFO_NULL);
> >
> > }else{
> >
> > */ ierr = H5Pset_fapl_mpio(acc_template, io_comm, MPI_INFO_NULL);
> > /*} */
> >
>
> (similar set up at lines 273, 271, 165, 163)
That's pretty ugly, but valid (and has been in the code for about 5 years
now)... Effectively, what used to be the 'else' branch is always taken
now.
HTH somewhat,
Klaus
More information about the flash-users
mailing list