Corey, On Jan 25, 2011, at 8:45 AM, Corey Bettenhausen wrote:
> Thanks, Elena. It was user error (surprise, surprise). I didn't realize > there was a separate H5LT module that needed "use"ing. Inserting the "use > h5lt" statement fixed the issue. Well... we definitely need to document things better. Also, having multiple libraries and modules doesn't help. May be we should revisit our distribution and have one Fortran library instead of two. Elena > Regards, > -Corey > > On Tue, 25 Jan 2011 00:04:39 -0600 > Elena Pourmal <[email protected]> wrote: >> Corey, >> >> The name of the function is correct. If you have source code, you may check >> hl/fortran/src/H5LTff.f90 file to see the subroutine with the name >> h5ltset_attribute_int_f. >> Did you run the tests after building the library? Did they pass? If so, >> please make sure that your program has >> >> USE H5LT >> USE HDF5 >> >> statements. >> >> Elena >> >> >> On Jan 24, 2011, at 9:24 PM, Corey Bettenhausen wrote: >> >>> Hi, >>> Using HDF5-1.8.5-patch1, I attempted to write an attribute using the >>> Fortran interface to the HDF5 Lite library using the >>> h5ltset_attribute_int_f function documented here: >>> http://www.hdfgroup.org/HDF5/doc/HL/RM_H5LT.html#H5LTset_attribute_int >>> >>> However, when using that function, I receive an undefined symbol error: >>> Undefined symbols: >>> "_h5ltset_attribute_int_f_", referenced from: >>> _MAIN_ in test_attribute.o >>> ld: symbol(s) not found for inferred architecture i386 >>> make: *** [test_attribute] Error 2 >>> >>> And this seems correct as the h5ltset_attribute_int_f function doesn't >>> exist in my hdf5hl_fortran library: >>> corey$ nm libhdf5hl_fortran.a|grep h5ltset_attribute_int_f >>> 00001150 T _h5lt_h5ltset_attribute_int_f_ >>> >>> If I replace my call to h5ltset_attribute_int_f with one to >>> h5lt_h5ltset_attribute_int_f, my program compiles and runs as expected. >>> There seems to be quite a few functions using this double "h5lt" >>> nomenclature: >>> corey$ nm libhdf5hl_fortran*|grep h5lt_h5lt >>> 00001540 T _h5lt_h5ltfind_dataset_f_ >>> 00001410 T _h5lt_h5ltget_attribute_double_f_ >>> 000013a0 T _h5lt_h5ltget_attribute_float_f_ >>> 00001650 T _h5lt_h5ltget_attribute_info_f_ >>> 00001330 T _h5lt_h5ltget_attribute_int_f_ >>> 000015e0 T _h5lt_h5ltget_attribute_ndims_f_ >>> 00001480 T _h5lt_h5ltget_attribute_string_f_ >>> 00001580 T _h5lt_h5ltget_dataset_info_f_ >>> 000014f0 T _h5lt_h5ltget_dataset_ndims_f_ >>> 00000b30 T _h5lt_h5ltmake_dataset_double_f_1_ >>> 00000ba0 T _h5lt_h5ltmake_dataset_double_f_2_ >>> 00000c20 T _h5lt_h5ltmake_dataset_double_f_3_ >>> 000002f0 T _h5lt_h5ltmake_dataset_f_double1_ >>> 00000350 T _h5lt_h5ltmake_dataset_f_double2_ >>> 000003d0 T _h5lt_h5ltmake_dataset_f_double3_ >>> 00000180 T _h5lt_h5ltmake_dataset_f_float1_ >>> 000001e0 T _h5lt_h5ltmake_dataset_f_float2_ >>> 00000260 T _h5lt_h5ltmake_dataset_f_float3_ >>> 00000010 T _h5lt_h5ltmake_dataset_f_int1_ >>> 00000070 T _h5lt_h5ltmake_dataset_f_int2_ >>> 000000f0 T _h5lt_h5ltmake_dataset_f_int3_ >>> 000009c0 T _h5lt_h5ltmake_dataset_float_f_1_ >>> 00000a20 T _h5lt_h5ltmake_dataset_float_f_2_ >>> 00000aa0 T _h5lt_h5ltmake_dataset_float_f_3_ >>> 00000850 T _h5lt_h5ltmake_dataset_int_f_1_ >>> 000008b0 T _h5lt_h5ltmake_dataset_int_f_2_ >>> 00000930 T _h5lt_h5ltmake_dataset_int_f_3_ >>> 000010a0 T _h5lt_h5ltmake_dataset_string_f_ >>> 00000f50 T _h5lt_h5ltread_dataset_double_f_1_ >>> 00000fb0 T _h5lt_h5ltread_dataset_double_f_2_ >>> 00001020 T _h5lt_h5ltread_dataset_double_f_3_ >>> 00000700 T _h5lt_h5ltread_dataset_f_double1_ >>> 00000760 T _h5lt_h5ltread_dataset_f_double2_ >>> 000007d0 T _h5lt_h5ltread_dataset_f_double3_ >>> 000005b0 T _h5lt_h5ltread_dataset_f_float1_ >>> 00000610 T _h5lt_h5ltread_dataset_f_float2_ >>> 00000680 T _h5lt_h5ltread_dataset_f_float3_ >>> 00000460 T _h5lt_h5ltread_dataset_f_int1_ >>> 000004c0 T _h5lt_h5ltread_dataset_f_int2_ >>> 00000530 T _h5lt_h5ltread_dataset_f_int3_ >>> 00000e00 T _h5lt_h5ltread_dataset_float_f_1_ >>> 00000e60 T _h5lt_h5ltread_dataset_float_f_2_ >>> 00000ed0 T _h5lt_h5ltread_dataset_float_f_3_ >>> 00000cb0 T _h5lt_h5ltread_dataset_int_f_1_ >>> 00000d10 T _h5lt_h5ltread_dataset_int_f_2_ >>> 00000d80 T _h5lt_h5ltread_dataset_int_f_3_ >>> 00001100 T _h5lt_h5ltread_dataset_string_f_ >>> 00001230 T _h5lt_h5ltset_attribute_double_f_ >>> 000011c0 T _h5lt_h5ltset_attribute_float_f_ >>> 00001150 T _h5lt_h5ltset_attribute_int_f_ >>> 000012a0 T _h5lt_h5ltset_attribute_string_f_ >>> >>> Is this a bug or did I screw something up on compilation? >>> Cheers, >>> -Corey >>> >>> ************************************* >>> Corey Bettenhausen >>> Science System and Applications, Inc >>> Goddard Space Flight Center >>> 301 614 5383 >>> [email protected] >>> ************************************* >>> >>> _______________________________________________ >>> Hdf-forum is for HDF software users discussion. >>> [email protected] >>> http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org >> > > _______________________________________________ > Hdf-forum is for HDF software users discussion. > [email protected] > http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org _______________________________________________ Hdf-forum is for HDF software users discussion. [email protected] http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org
