[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