problem linking parallel HDF5 libraries with MPI

Hello,

i'm trying to update the general climate model (GCM) OLAM with parallel HDF5. OLAM-4.0s has distributive memory capabilities when run in parallel.

i updated the include.mk file with:

HDF5_ROOT=/usr/local/hdf5-1.8.10
HDF5_LIBS=-L$(HDF5_ROOT)/lib -lhdf5 -L$(SZIP_ROOT)/lib -lz -lm -lsz
HDF5_INCS=-I$(HDF5_ROOT)/include

when i'm trying to compile OLAM with the new parallel hdf5-1.8.10, in the "make" stage i'm getting the following errors:

/usr/local/intel/cs_2013.0.028/impi/4.1.0.024/bin64/mpiifort -o olam-4.0s-mpi objects/*.o -I/gpfs/usr_loc_rh/intel/cs_2013.0.028/composer_xe_2013.1.117/mkl/include/intel64/lp64 -I/gpfs/usr_loc_rh/intel/cs_2013.0.028/composer_xe_2013.1.117/mkl/include -L/gpfs/usr_loc_rh/intel/cs_2013.0.028/composer_xe_2013.1.117/mkl/lib/intel64 /gpfs/usr_loc_rh/intel/cs_2013.0.028/composer_xe_2013.1.117/mkl/lib/intel64/libmkl_lapack95_lp64.a -lmkl_scalapack_lp64 -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lmkl_blacs_intelmpi_lp64 -liomp5 -lpthread -lm \
   -L/home/gily/local/ncarg6/lib -L/usr/local/intel/cs_2013.0.028/impi/4.1.0.024/lib64 -L/usr/local/hdf5-1.8.10/lib -lhdf5_fortran -lhdf5 -L/usr/local/szip-2.1/lib -lz -lm -lsz -L/usr/local/netcdf-4.1.3/lib -lnetcdf -L/usr/local/szip-2.1/lib -lz -lm -lsz
/usr/local/hdf5-1.8.10/lib/libhdf5.a(H5FDmpiposix.o): In function `H5FD_mpiposix_open':
H5FDmpiposix.c:(.text+0xa8e): undefined reference to `gpfs_fcntl'
/usr/local/hdf5-1.8.10/lib/libhdf5.a(H5FDmpiposix.o): In function `H5FD_mpiposix_write':
H5FDmpiposix.c:(.text+0x1617): undefined reference to `gpfs_fcntl'
make[1]: *** [olam-4.0s-mpi] Error 1
make[1]: Leaving directory `/gpfs/home/gily/OLAM_4.0s_mpi_latlon_global/4.0s/buildtri_test'
make: *** [all] Error 2

when i'm trying to do it with the newest version of OLAM-4.0za, i'm getting the following errors:

/usr/local/intel/cs_2013.0.028/impi/4.1.0.024/bin64/mpiifort -o olam-4.0za-mpi objects/*.o -I/gpfs/usr_loc_rh/intel/cs_2013.0.028/composer_xe_2013.1.117/mkl/include/intel64/lp64 -I/gpfs/usr_loc_rh/intel/cs_2013.0.028/composer_xe_2013.1.117/mkl/include -L/gpfs/usr_loc_rh/intel/cs_2013.0.028/composer_xe_2013.1.117/mkl/lib/intel64 /gpfs/usr_loc_rh/intel/cs_2013.0.028/composer_xe_2013.1.117/mkl/lib/intel64/libmkl_lapack95_lp64.a -lmkl_scalapack_lp64 -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lmkl_blacs_intelmpi_lp64 -liomp5 -lpthread -lm \
   -L/home/gily/local/ncarg6/lib -L/usr/local/intel/cs_2013.0.028/impi/4.1.0.024/lib64 -L/usr/local/hdf5-1.8.10/lib -lhdf5 -L/usr/local/szip-2.1/lib -lz -lm -lsz -L/usr/local/netcdf-4.1.3/lib -lnetcdf -L/usr/local/szip-2.1/lib -lz -lm -lsz
objects/hdf5_f2f.o: In function `hdf5_f2f_mp_fh5f_open_':
hdf5_f2f.F90:(.text+0x37): undefined reference to `h5e_provisional_mp_h5eset_auto_f_'
hdf5_f2f.F90:(.text+0x74): undefined reference to `h5f_mp_h5fopen_f_'
objects/hdf5_f2f.o: In function `hdf5_f2f_mp_fh5f_close_':
hdf5_f2f.F90:(.text+0xa9): undefined reference to `h5f_mp_h5fclose_f_'
objects/hdf5_f2f.o: In function `hdf5_f2f_mp_fh5f_create_':
hdf5_f2f.F90:(.text+0xfc): undefined reference to `h5f_mp_h5fcreate_f_'
objects/hdf5_f2f.o: In function `hdf5_f2f_mp_fh5_prepare_write_':
hdf5_f2f.F90:(.text+0x81a): undefined reference to `h5p_mp_h5pcreate_f_'
hdf5_f2f.F90:(.text+0x860): undefined reference to `h5p_mp_h5pset_chunk_f_'
hdf5_f2f.F90:(.text+0x86d): undefined reference to `h5p_mp_h5pset_shuffle_f_'
hdf5_f2f.F90:(.text+0x881): undefined reference to `h5p_mp_h5pset_deflate_f_'
hdf5_f2f.F90:(.text+0x8a4): undefined reference to `h5s_mp_h5screate_simple_f_'
hdf5_f2f.F90:(.text+0x8bd): undefined reference to `h5s_mp_h5screate_simple_f_'
hdf5_f2f.F90:(.text+0xd05): undefined reference to `h5s_mp_h5sselect_hyperslab_f_'
hdf5_f2f.F90:(.text+0xd86): undefined reference to `h5s_mp_h5sselect_hyperslab_f_'
hdf5_f2f.F90:(.text+0xd99): undefined reference to `h5s_mp_h5sselect_none_f_'
hdf5_f2f.F90:(.text+0xdb0): undefined reference to `h5s_mp_h5screate_simple_f_'
hdf5_f2f.F90:(.text+0x119b): undefined reference to `h5s_mp_h5sselect_hyperslab_f_'
hdf5_f2f.F90:(.text+0x1211): undefined reference to `h5s_mp_h5sselect_hyperslab_f_'
hdf5_f2f.F90:(.text+0x1224): undefined reference to `h5s_mp_h5sselect_none_f_'
objects/hdf5_f2f.o: In function `hdf5_f2f_mp_fh5_write_integer_array_':
hdf5_f2f.F90:(.text+0x141e): undefined reference to `h5d_mp_h5dcreate_f_'
hdf5_f2f.F90:(.text+0x1448): undefined reference to `h5d_provisional_mp_h5dwrite_integer_1_'
objects/hdf5_f2f.o: In function `hdf5_f2f_mp_fh5_write_real_array_':
hdf5_f2f.F90:(.text+0x148e): undefined reference to `h5d_mp_h5dcreate_f_'
hdf5_f2f.F90:(.text+0x14b8): undefined reference to `h5d_provisional_mp_h5dwrite_real_1_'
objects/hdf5_f2f.o: In function `hdf5_f2f_mp_fh5_write_character_array_':
hdf5_f2f.F90:(.text+0x1503): undefined reference to `h5d_mp_h5dcreate_f_'
hdf5_f2f.F90:(.text+0x1539): undefined reference to `h5d_provisional_mp_h5dwrite_char_1_'
objects/hdf5_f2f.o: In function `hdf5_f2f_mp_fh5_write_real8_array_':
hdf5_f2f.F90:(.text+0x157e): undefined reference to `h5d_mp_h5dcreate_f_'
hdf5_f2f.F90:(.text+0x15a8): undefined reference to `h5_dble_interface_mp_h5dwrite_double_1_'
objects/hdf5_f2f.o: In function `hdf5_f2f_mp_fh5_write_logical_array_':
hdf5_f2f.F90:(.text+0x1635): undefined reference to `h5d_mp_h5dcreate_f_'
hdf5_f2f.F90:(.text+0x18ed): undefined reference to `h5d_provisional_mp_h5dwrite_integer_1_'
objects/hdf5_f2f.o: In function `hdf5_f2f_mp_fh5_write_integer_scalar_':
hdf5_f2f.F90:(.text+0x1a0e): undefined reference to `h5d_mp_h5dcreate_f_'
hdf5_f2f.F90:(.text+0x1a38): undefined reference to `h5d_provisional_mp_h5dwrite_integer_scalar_'
objects/hdf5_f2f.o: In function `hdf5_f2f_mp_fh5_write_real_scalar_':
hdf5_f2f.F90:(.text+0x1a7e): undefined reference to `h5d_mp_h5dcreate_f_'
hdf5_f2f.F90:(.text+0x1aa8): undefined reference to `h5d_provisional_mp_h5dwrite_real_scalar_'
objects/hdf5_f2f.o: In function `hdf5_f2f_mp_fh5_write_character_scalar_':
hdf5_f2f.F90:(.text+0x1af3): undefined reference to `h5d_mp_h5dcreate_f_'
hdf5_f2f.F90:(.text+0x1b29): undefined reference to `h5d_provisional_mp_h5dwrite_char_scalar_'
objects/hdf5_f2f.o: In function `hdf5_f2f_mp_fh5_write_real8_scalar_':
hdf5_f2f.F90:(.text+0x1b6e): undefined reference to `h5d_mp_h5dcreate_f_'
hdf5_f2f.F90:(.text+0x1b98): undefined reference to `h5_dble_interface_mp_h5dwrite_double_scalar_'
objects/hdf5_f2f.o: In function `hdf5_f2f_mp_fh5_write_logical_scalar_':
hdf5_f2f.F90:(.text+0x1bde): undefined reference to `h5d_mp_h5dcreate_f_'
hdf5_f2f.F90:(.text+0x1c24): undefined reference to `h5d_provisional_mp_h5dwrite_integer_scalar_'
objects/hdf5_f2f.o: In function `hdf5_f2f_mp_fh5_close_write_':
hdf5_f2f.F90:(.text+0x1c4d): undefined reference to `h5s_mp_h5sclose_f_'
hdf5_f2f.F90:(.text+0x1c5a): undefined reference to `h5s_mp_h5sclose_f_'
hdf5_f2f.F90:(.text+0x1c67): undefined reference to `h5s_mp_h5sclose_f_'
hdf5_f2f.F90:(.text+0x1c74): undefined reference to `h5d_mp_h5dclose_f_'
hdf5_f2f.F90:(.text+0x1c81): undefined reference to `h5p_mp_h5pclose_f_'
hdf5_f2f.F90:(.text+0x1c8f): undefined reference to `h5p_mp_h5pclose_f_'
objects/hdf5_f2f.o: In function `hdf5_f2f_mp_fh5d_open_':
hdf5_f2f.F90:(.text+0x1cbc): undefined reference to `h5d_mp_h5dopen_f_'
hdf5_f2f.F90:(.text+0x1cde): undefined reference to `h5d_mp_h5dget_space_f_'
objects/hdf5_f2f.o: In function `hdf5_f2f_mp_fh5s_get_ndims_':
hdf5_f2f.F90:(.text+0x1cfe): undefined reference to `h5s_mp_h5sget_simple_extent_ndims_f_'
objects/hdf5_f2f.o: In function `hdf5_f2f_mp_fh5s_get_dims_':
hdf5_f2f.F90:(.text+0x1d2c): undefined reference to `h5s_mp_h5sget_simple_extent_ndims_f_'
hdf5_f2f.F90:(.text+0x1d44): undefined reference to `h5s_mp_h5sget_simple_extent_dims_f_'
objects/hdf5_f2f.o: In function `hdf5_f2f_mp_fh5d_close_':
hdf5_f2f.F90:(.text+0x1efe): undefined reference to `h5s_mp_h5sclose_f_'
hdf5_f2f.F90:(.text+0x1f0d): undefined reference to `h5d_mp_h5dclose_f_'
objects/hdf5_f2f.o: In function `hdf5_f2f_mp_fh5d_read_integer_array_':
hdf5_f2f.F90:(.text+0x1f44): undefined reference to `h5d_provisional_mp_h5dread_integer_1_'
objects/hdf5_f2f.o: In function `hdf5_f2f_mp_fh5d_read_real_array_':
hdf5_f2f.F90:(.text+0x1f74): undefined reference to `h5d_provisional_mp_h5dread_real_1_'
objects/hdf5_f2f.o: In function `hdf5_f2f_mp_fh5d_read_character_array_':
hdf5_f2f.F90:(.text+0x1fbb): undefined reference to `h5d_provisional_mp_h5dread_char_1_'
objects/hdf5_f2f.o: In function `hdf5_f2f_mp_fh5d_read_real8_array_':
hdf5_f2f.F90:(.text+0x1ff4): undefined reference to `h5_dble_interface_mp_h5dread_double_1_'
objects/hdf5_f2f.o: In function `hdf5_f2f_mp_fh5d_read_logical_array_':
hdf5_f2f.F90:(.text+0x225d): undefined reference to `h5d_provisional_mp_h5dread_integer_1_'
objects/hdf5_f2f.o: In function `hdf5_f2f_mp_fh5d_read_integer_scalar_':
hdf5_f2f.F90:(.text+0x23de): undefined reference to `h5d_provisional_mp_h5dread_integer_scalar_'
objects/hdf5_f2f.o: In function `hdf5_f2f_mp_fh5d_read_real_scalar_':
hdf5_f2f.F90:(.text+0x240e): undefined reference to `h5d_provisional_mp_h5dread_real_scalar_'
objects/hdf5_f2f.o: In function `hdf5_f2f_mp_fh5d_read_character_scalar_':
hdf5_f2f.F90:(.text+0x2452): undefined reference to `h5d_provisional_mp_h5dread_char_scalar_'
objects/hdf5_f2f.o: In function `hdf5_f2f_mp_fh5d_read_real8_scalar_':
hdf5_f2f.F90:(.text+0x247e): undefined reference to `h5_dble_interface_mp_h5dread_double_scalar_'
objects/hdf5_f2f.o: In function `hdf5_f2f_mp_fh5d_read_logical_scalar_':
hdf5_f2f.F90:(.text+0x24be): undefined reference to `h5d_provisional_mp_h5dread_integer_scalar_'
objects/hdf5_f2f.o: In function `hdf5_f2f_mp_fh5_prepare_read_':
hdf5_f2f.F90:(.text+0x28e9): undefined reference to `h5d_mp_h5dopen_f_'
hdf5_f2f.F90:(.text+0x290e): undefined reference to `h5d_mp_h5dget_space_f_'
hdf5_f2f.F90:(.text+0x2939): undefined reference to `h5s_mp_h5screate_simple_f_'
hdf5_f2f.F90:(.text+0x2992): undefined reference to `h5s_mp_h5sget_simple_extent_ndims_f_'
hdf5_f2f.F90:(.text+0x29aa): undefined reference to `h5s_mp_h5sget_simple_extent_dims_f_'
hdf5_f2f.F90:(.text+0x2db3): undefined reference to `h5s_mp_h5sselect_hyperslab_f_'
hdf5_f2f.F90:(.text+0x2e3e): undefined reference to `h5s_mp_h5sselect_hyperslab_f_'
hdf5_f2f.F90:(.text+0x2e51): undefined reference to `h5s_mp_h5sselect_none_f_'
hdf5_f2f.F90:(.text+0x3630): undefined reference to `h5s_mp_h5sselect_hyperslab_f_'
objects/hdf5_f2f.o: In function `hdf5_f2f_mp_fh5_close_read_':
hdf5_f2f.F90:(.text+0x365e): undefined reference to `h5s_mp_h5sclose_f_'
hdf5_f2f.F90:(.text+0x366b): undefined reference to `h5s_mp_h5sclose_f_'
hdf5_f2f.F90:(.text+0x367a): undefined reference to `h5d_mp_h5dclose_f_'
objects/hurricane_init.o: In function `hcane_rz_mp_cplot_':
hurricane_init.f90:(.text+0x8548): undefined reference to `gsclip_'
hurricane_init.f90:(.text+0x8554): undefined reference to `gsasf_'
hurricane_init.f90:(.text+0x8560): undefined reference to `gsfais_'
hurricane_init.f90:(.text+0x85ba): undefined reference to `set_'
hurricane_init.f90:(.text+0x8613): undefined reference to `sfseti_'
hurricane_init.f90:(.text+0x882d): undefined reference to `sflush_'
hurricane_init.f90:(.text+0x8860): undefined reference to `set_'
hurricane_init.f90:(.text+0x8870): undefined reference to `gsplci_'
hurricane_init.f90:(.text+0x887c): undefined reference to `gstxci_'
hurricane_init.f90:(.text+0x8a61): undefined reference to `plchlq_'
hurricane_init.f90:(.text+0x8a91): undefined reference to `sfsgfa_'
objects/olammain.o: In function `MAIN__':
olammain.F90:(.text+0x1fd): undefined reference to `h5lib_mp_h5open_f_'
olammain.F90:(.text+0x6b4): undefined reference to `h5lib_mp_h5close_f_'
objects/oplot_interface.o: In function `plot_fields_':
oplot_interface.f90:(.text+0x1bfe): undefined reference to `vectslab_horiz_w_'
objects/oplot_interface.o: In function `vectslab_':
oplot_interface.f90:(.text+0x1028a): undefined reference to `vectslab_horiz_w_'
make[1]: *** [olam-4.0za-mpi] Error 1
make[1]: Leaving directory `/gpfs/home/gily/olam_4.0za/buildtri_test'
make: *** [all] Error 2

thanks,

···

--
Gil Yosef

Environmental Sciences and
Energy Research
Weizmann Institute of Science,

Best,
Gil Yosef