undefined H5Z*_F macros in fortran

I've had this problem with HDF5 for a while now, just did a new build &
install and it still comes up. This is from the example codes. The only
workaround I've found is to dig into the source and find what those values
are supposed to be (in C) and defined them at the top of my fortran code.
Note that h5ex_d_soint.c complies fine, but h5ex_d_soint.f90 doe snot

seagrape:/users/orf/test% h5fc -show
ifort -fPIC -I/users/orf/software/include -L/users/orf/software/lib
/users/orf/software/lib/libhdf5hl_fortran.a
/users/orf/software/lib/libhdf5_hl.a
/users/orf/software/lib/libhdf5_fortran.a /users/orf/software/lib/libhdf5.a
-lz -lm -Wl,-rpath -Wl,/users/orf/software/lib
seagrape:/users/orf/test% h5cc -show
gcc -L/users/orf/software/lib /users/orf/software/lib/libhdf5_hl.a
/users/orf/software/lib/libhdf5.a -lz -lm -Wl,-rpath
-Wl,/users/orf/software/lib
seagrape:/users/orf/test% h5cc h5ex_d_soint.c
seagrape:/users/orf/test% h5fc h5ex_d_soint.f90
h5ex_d_soint.f90(54): error #6404: This name does not have a type, and must
have an explicit type. [H5Z_FILTER_SCALEOFFSET_F]
  CALL h5zfilter_avail_f(H5Z_FILTER_SCALEOFFSET_F, avail, hdferr)
-------------------------^
h5ex_d_soint.f90(101): error #6404: This name does not have a type, and must
have an explicit type. [H5Z_SO_INT_F]
  CALL h5pset_scaleoffset_f(dcpl, H5Z_SO_INT_F,
H5Z_SO_INT_MINBITS_DEFAULT_F, hdferr)
----------------------------------^
h5ex_d_soint.f90(101): error #6404: This name does not have a type, and must
have an explicit type. [H5Z_SO_INT_MINBITS_DEFAULT_F]
  CALL h5pset_scaleoffset_f(dcpl, H5Z_SO_INT_F,
H5Z_SO_INT_MINBITS_DEFAULT_F, hdferr)
------------------------------------------------^
h5ex_d_soint.f90(145): error #6404: This name does not have a type, and must
have an explicit type. [H5Z_FILTER_NBIT_F]
  ELSE IF(filter_id.EQ.H5Z_FILTER_NBIT_F)THEN
-----------------------^
compilation aborted for h5ex_d_soint.f90 (code 1)

···

--
Leigh Orf
Associate Professor of Atmospheric Science
Department of Geology and Meteorology
Central Michigan University
Currently on sabbatical at the National Center for Atmospheric Research
in Boulder, CO
NCAR office phone: (303) 497-8200

Leigh,

Thank you for reporting the problem. It looks like we didn't finish implementation of the scale-offset filter in Fortran (the same is for the n-bit filter), but functions and examples were documented and made into the released Reference Manual and into examples published on the Web (usually it is the opposite :wink:

Unfortunately it is too late to fix it for the upcoming release; we will make it available in the next one. We can give you a snapshot of the source when the filter becomes available.

Elena

···

On Nov 3, 2010, at 10:53 AM, Leigh Orf wrote:

I've had this problem with HDF5 for a while now, just did a new build & install and it still comes up. This is from the example codes. The only workaround I've found is to dig into the source and find what those values are supposed to be (in C) and defined them at the top of my fortran code. Note that h5ex_d_soint.c complies fine, but h5ex_d_soint.f90 doe snot

seagrape:/users/orf/test% h5fc -show
ifort -fPIC -I/users/orf/software/include -L/users/orf/software/lib /users/orf/software/lib/libhdf5hl_fortran.a /users/orf/software/lib/libhdf5_hl.a /users/orf/software/lib/libhdf5_fortran.a /users/orf/software/lib/libhdf5.a -lz -lm -Wl,-rpath -Wl,/users/orf/software/lib
seagrape:/users/orf/test% h5cc -show
gcc -L/users/orf/software/lib /users/orf/software/lib/libhdf5_hl.a /users/orf/software/lib/libhdf5.a -lz -lm -Wl,-rpath -Wl,/users/orf/software/lib
seagrape:/users/orf/test% h5cc h5ex_d_soint.c
seagrape:/users/orf/test% h5fc h5ex_d_soint.f90
h5ex_d_soint.f90(54): error #6404: This name does not have a type, and must have an explicit type. [H5Z_FILTER_SCALEOFFSET_F]
  CALL h5zfilter_avail_f(H5Z_FILTER_SCALEOFFSET_F, avail, hdferr)
-------------------------^
h5ex_d_soint.f90(101): error #6404: This name does not have a type, and must have an explicit type. [H5Z_SO_INT_F]
  CALL h5pset_scaleoffset_f(dcpl, H5Z_SO_INT_F, H5Z_SO_INT_MINBITS_DEFAULT_F, hdferr)
----------------------------------^
h5ex_d_soint.f90(101): error #6404: This name does not have a type, and must have an explicit type. [H5Z_SO_INT_MINBITS_DEFAULT_F]
  CALL h5pset_scaleoffset_f(dcpl, H5Z_SO_INT_F, H5Z_SO_INT_MINBITS_DEFAULT_F, hdferr)
------------------------------------------------^
h5ex_d_soint.f90(145): error #6404: This name does not have a type, and must have an explicit type. [H5Z_FILTER_NBIT_F]
  ELSE IF(filter_id.EQ.H5Z_FILTER_NBIT_F)THEN
-----------------------^
compilation aborted for h5ex_d_soint.f90 (code 1)

--
Leigh Orf
Associate Professor of Atmospheric Science
Department of Geology and Meteorology
Central Michigan University
Currently on sabbatical at the National Center for Atmospheric Research in Boulder, CO
NCAR office phone: (303) 497-8200

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org