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

Reply via email to