Thank you, Elena. It works with the modification you have suggested. However, one thing remains unclear to me. According to my HDF5 configuration, I have both shared and static library support. But this issue only occured in Ubuntu 12.04 x86_64 but not on Debian 7 x86_64 or Fedora 19 x86_64. Is this a bug of HDF5 package or the OS?
Regards, Ekin Akoglu On 31 October 2013 22:48, Elena Pourmal <[email protected]> wrote: > Hi Ekin, > > "-show" is misleading (I will need to discuss it with the developers and > see how we can enhance it). I reproduced the problem on CentOS5. > > If you run "h5fc -echo h5ex_t_arrayatt_F03.f90" you will see that there > are two steps: > > 1. Compile to create an object file > 2. Link the object file to create executable > > Try the modified command like this (name of the source file should be > BEFORE linking flags) > > $ gfortran -m64 -I/usr/local/hdf5-1.8.11/include *h5ex_t_arrayatt_F03.f90* > -L/usr/local/hdf5-1.8.11/lib > /usr/local/hdf5-1.8.11/lib/libhdf5hl_fortran.a > /usr/local/hdf5-1.8.11/lib/libhdf5_hl.a > /usr/local/hdf5-1.8.11/lib/libhdf5_fortran.a > /usr/local/hdf5-1.8.11/lib/libhdf5.a -lz -lrt -ldl -lm -Wl,-rpath > -Wl,/usr/local/hdf5-1.8.11/lib > > Elena > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > Elena Pourmal The HDF Group http://hdfgroup.org > 1800 So. Oak St., Suite 203, Champaign IL 61820 > 217.531.6112 > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > > > > On Oct 31, 2013, at 10:31 AM, Ekin Akoglu <[email protected]> wrote: > > Dear all, > > Further, I would like to supplement my previous mail with my HDF5 > configuration. So as you will see below, both shared and static libraries > are already enabled: > > SUMMARY OF THE HDF5 CONFIGURATION > ================================= > > General Information: > ------------------- > HDF5 Version: 1.8.11 > Configured on: Thu Oct 31 12:03:54 CET 2013 > Configured by: eakoglu@nb-ekin > Configure mode: production > Host system: x86_64-unknown-linux-gnu > Uname information: Linux nb-ekin 3.8.0-32-generic > #47~precise1-Ubuntu SMP Wed Oct 2 16:19:35 UTC 2013 x86_64 x86_64 x86_64 > GNU/Linux > Byte sex: little-endian > Libraries: static, shared > Installation point: /usr/local/hdf5-1.8.11 > > Compiling Options: > ------------------ > Compilation Mode: production > C Compiler: /usr/bin//gcc > CFLAGS: -O0 > H5_CFLAGS: -std=c99 -pedantic -Wall -Wextra -Wundef > -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align > -Wwrite-strings -Wconversion -Waggregate-return -Wstrict-prototypes > -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls > -Wnested-externs -Winline -Wno-long-long -Wfloat-equal > -Wmissing-format-attribute -Wmissing-noreturn -Wpacked > -Wdisabled-optimization -Wformat=2 -Wendif-labels > -Wdeclaration-after-statement -Wold-style-definition -Winvalid-pch > -Wvariadic-macros -Wnonnull -Winit-self -Wmissing-include-dirs > -Wswitch-default -Wswitch-enum -Wunused-macros -Wunsafe-loop-optimizations > -Wc++-compat -Wstrict-overflow -Wlogical-op -Wlarger-than=2048 -Wvla > -Wsync-nand -Wframe-larger-than=16384 -Wpacked-bitfield-compat > -Wstrict-aliasing -Wstrict-overflow=5 -Wjump-misses-init > -Wunsuffixed-float-constants -Wdouble-promotion -Wsuggest-attribute=const > -Wtrampolines -O3 -fomit-frame-pointer -finline-functions > AM_CFLAGS: > CPPFLAGS: > H5_CPPFLAGS: -D_POSIX_C_SOURCE=199506L -DNDEBUG > -UH5_DEBUG_API > AM_CPPFLAGS: -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE > -D_BSD_SOURCE > Shared C Library: yes > Static C Library: yes > Statically Linked Executables: no > LDFLAGS: > H5_LDFLAGS: > AM_LDFLAGS: > Extra libraries: -lz -lrt -ldl -lm > Archiver: ar > Ranlib: ranlib > Debugged Packages: > API Tracing: no > > Languages: > ---------- > Fortran: yes > Fortran Compiler: /usr/bin//gfortran > Fortran 2003 Compiler: yes > Fortran Flags: -m64 > H5 Fortran Flags: > AM Fortran Flags: > Shared Fortran Library: yes > Static Fortran Library: yes > > C++: no > > Features: > --------- > Parallel HDF5: no > High Level library: yes > Threadsafety: no > Default API Mapping: v18 > With Deprecated Public Symbols: yes > I/O filters (external): deflate(zlib) > I/O filters (internal): shuffle,fletcher32,nbit,scaleoffset > MPE: no > Direct VFD: no > dmalloc: no > Clear file buffers before write: yes > Using memory checker: no > Function Stack Tracing: no > GPFS: no > Strict File Format Checks: no > Optimization Instrumentation: no > Large File Support (LFS): yes > > > > > > Regards, > > Ekin Akoglu > > On 31 October 2013 16:04, Ekin Akoglu <[email protected]> wrote: > >> Dear all, >> >> Following the issue raised and considering Elena's suggestion on this >> issue, I tried an experiment on an Ubuntu 12.04 x64 system. The "h5fc >> -show" output is like this on the system: >> >> gfortran -m64 -I/usr/local/hdf5-1.8.11/include >> -L/usr/local/hdf5-1.8.11/lib /usr/local/hdf5-1.8.11/lib/libhdf5hl_fortran.a >> /usr/local/hdf5-1.8.11/lib/libhdf5_hl.a >> /usr/local/hdf5-1.8.11/lib/libhdf5_fortran.a >> /usr/local/hdf5-1.8.11/lib/libhdf5.a -lz -lrt -ldl -lm -Wl,-rpath >> -Wl,/usr/local/hdf5-1.8.11/lib >> >> Using h5fc to compile the h5ex_t_arrayatt_F03.f90 example file from HDF5 >> website as: >> >> $ h5fc h5ex_t_arrayatt_F03.f90 >> >> was successful. However, replacing h5fc with its whole output above like: >> >> $ gfortran -m64 -I/usr/local/hdf5-1.8.11/include >> -L/usr/local/hdf5-1.8.11/lib /usr/local/hdf5-1.8.11/lib/libhdf5hl_fortran.a >> /usr/local/hdf5-1.8.11/lib/libhdf5_hl.a >> /usr/local/hdf5-1.8.11/lib/libhdf5_fortran.a >> /usr/local/hdf5-1.8.11/lib/libhdf5.a -lz -lrt -ldl -lm -Wl,-rpath >> -Wl,/usr/local/hdf5-1.8.11/lib h5ex_t_arrayatt_F03.f90 >> >> to compile the same example file fails with the output below: >> >> /tmp/ccAADKQ7.o: In function `MAIN__': >> h5ex_t_arrayatt_F03.f90:(.text+0x1f): undefined reference to >> `__h5lib_MOD_h5open_f' >> h5ex_t_arrayatt_F03.f90:(.text+0x11e): undefined reference to >> `__h5f_MOD_h5fcreate_f' >> h5ex_t_arrayatt_F03.f90:(.text+0x151): undefined reference to >> `__h5t_MOD_h5tarray_create_f' >> h5ex_t_arrayatt_F03.f90:(.text+0x173): undefined reference to >> `__h5t_MOD_h5tarray_create_f' >> h5ex_t_arrayatt_F03.f90:(.text+0x18b): undefined reference to >> `__h5s_MOD_h5screate_f' >> h5ex_t_arrayatt_F03.f90:(.text+0x1db): undefined reference to >> `__h5d_MOD_h5dcreate_f' >> h5ex_t_arrayatt_F03.f90:(.text+0x1f1): undefined reference to >> `__h5s_MOD_h5sclose_f' >> h5ex_t_arrayatt_F03.f90:(.text+0x217): undefined reference to >> `__h5s_MOD_h5screate_simple_f' >> h5ex_t_arrayatt_F03.f90:(.text+0x25a): undefined reference to >> `__h5a_MOD_h5acreate_f' >> h5ex_t_arrayatt_F03.f90:(.text+0x27d): undefined reference to >> `__h5a_provisional_MOD_h5awrite_ptr' >> h5ex_t_arrayatt_F03.f90:(.text+0x290): undefined reference to >> `__h5a_MOD_h5aclose_f' >> h5ex_t_arrayatt_F03.f90:(.text+0x2a3): undefined reference to >> `__h5d_MOD_h5dclose_f' >> h5ex_t_arrayatt_F03.f90:(.text+0x2b9): undefined reference to >> `__h5s_MOD_h5sclose_f' >> h5ex_t_arrayatt_F03.f90:(.text+0x2cc): undefined reference to >> `__h5t_MOD_h5tclose_f' >> h5ex_t_arrayatt_F03.f90:(.text+0x2df): undefined reference to >> `__h5t_MOD_h5tclose_f' >> h5ex_t_arrayatt_F03.f90:(.text+0x2f2): undefined reference to >> `__h5f_MOD_h5fclose_f' >> h5ex_t_arrayatt_F03.f90:(.text+0x31b): undefined reference to >> `__h5f_MOD_h5fopen_f' >> h5ex_t_arrayatt_F03.f90:(.text+0x340): undefined reference to >> `__h5d_MOD_h5dopen_f' >> h5ex_t_arrayatt_F03.f90:(.text+0x365): undefined reference to >> `__h5a_MOD_h5aopen_f' >> h5ex_t_arrayatt_F03.f90:(.text+0x37c): undefined reference to >> `__h5a_MOD_h5aget_type_f' >> h5ex_t_arrayatt_F03.f90:(.text+0x391): undefined reference to >> `__h5t_MOD_h5tget_array_dims_f' >> h5ex_t_arrayatt_F03.f90:(.text+0x3ab): undefined reference to >> `__h5a_MOD_h5aget_space_f' >> h5ex_t_arrayatt_F03.f90:(.text+0x3c7): undefined reference to >> `__h5s_MOD_h5sget_simple_extent_dims_f' >> h5ex_t_arrayatt_F03.f90:(.text+0x642): undefined reference to >> `__h5t_MOD_h5tarray_create_f' >> h5ex_t_arrayatt_F03.f90:(.text+0x665): undefined reference to >> `__h5a_provisional_MOD_h5aread_ptr' >> h5ex_t_arrayatt_F03.f90:(.text+0x9be): undefined reference to >> `__h5a_MOD_h5aclose_f' >> h5ex_t_arrayatt_F03.f90:(.text+0x9d1): undefined reference to >> `__h5d_MOD_h5dclose_f' >> h5ex_t_arrayatt_F03.f90:(.text+0x9e7): undefined reference to >> `__h5s_MOD_h5sclose_f' >> h5ex_t_arrayatt_F03.f90:(.text+0x9fa): undefined reference to >> `__h5t_MOD_h5tclose_f' >> h5ex_t_arrayatt_F03.f90:(.text+0xa0d): undefined reference to >> `__h5t_MOD_h5tclose_f' >> h5ex_t_arrayatt_F03.f90:(.text+0xa20): undefined reference to >> `__h5f_MOD_h5fclose_f' >> collect2: ld returned 1 exit status >> >> >> How come could this be possible? It does not make any sense to me. I >> would be glad if you share your thoughts on the issue. >> >> Best regards, >> >> Ekin Akoglu >> >> On 20 June 2013 16:47, Elena Pourmal <[email protected]> wrote: >> >>> Please check that you use -ldl when you link your application (or use >>> h5cc!) >>> >>> We introduced dynamical loading of the HDF5 filters in HDF5 1.8.11 and >>> this library is required now. >>> >>> Elena >>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>> Elena Pourmal The HDF Group http://hdfgroup.org >>> 1800 So. Oak St., Suite 203, Champaign IL 61820 >>> 217.531.6112 >>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>> >>> >>> >>> On Jun 20, 2013, at 9:40 AM, Michael Jackson wrote: >>> >>> I have built HDF5 1.8.11 on Ubuntu Linux x64 12.04 using static >>> libraries. I am now trying to compile my program against this build and I >>> am getting the following errors: >>> >>> >>> make[1]: *** Waiting for unfinished jobs.... >>> /home/mjackson/DREAM3D_SDK/hdf5-1.8.11/lib/libhdf5.a(H5PL.c.o): In >>> function `H5PL_term_interface': >>> H5PL.c:(.text+0x9d): undefined reference to `dlclose' >>> /home/mjackson/DREAM3D_SDK/hdf5-1.8.11/lib/libhdf5.a(H5PL.c.o): In >>> function `H5PL_load': >>> H5PL.c:(.text+0x2a5): undefined reference to `dlsym' >>> H5PL.c:(.text+0x38c): undefined reference to `dlopen' >>> H5PL.c:(.text+0x3a5): undefined reference to `dlsym' >>> H5PL.c:(.text+0x4d4): undefined reference to `dlclose' >>> H5PL.c:(.text+0x551): undefined reference to `dlerror' >>> H5PL.c:(.text+0x745): undefined reference to `dlclose' >>> collect2: ld returned 1 exit status >>> make[2]: *** [Bin/H5UtilitiesTest] Error 1 >>> >>> I have to admit my C++ Error Fu is not strong today and I am missing >>> what is wrong. I don't remember having this issue on other systems where I >>> have HDF5 built as a static library. >>> >>> ... 3 Minutes later on Google..... >>> >>> >>> http://www.unidata.ucar.edu/support/help/MailArchives/netcdf/msg11875.html >>> >>> So just as a reminder for those affected that we may need to update our >>> CMake/M4/Configure scripts to deal with the new features of HDF5 1.8.11 >>> >>> Thanks >>> ___________________________________________________________ >>> Mike Jackson Principal Software Engineer >>> BlueQuartz Software Dayton, Ohio >>> [email protected] www.bluequartz.net >>> >>> >>> _______________________________________________ >>> Hdf-forum is for HDF software users discussion. >>> [email protected] >>> http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org >>> >>> >>> >>> _______________________________________________ >>> Hdf-forum is for HDF software users discussion. >>> [email protected] >>> http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org >>> >> > _______________________________________________ > Hdf-forum is for HDF software users discussion. > [email protected] > > http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org > > > > _______________________________________________ > Hdf-forum is for HDF software users discussion. > [email protected] > > http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org > >
_______________________________________________ Hdf-forum is for HDF software users discussion. [email protected] http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
