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
