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

Reply via email to