Errors compiling against Static build HDF5 1.8.11 - Need for -ldl added to linker arguments

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
mike.jackson@bluequartz.net www.bluequartz.net

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
mike.jackson@bluequartz.net www.bluequartz.net

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org

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 <epourmal@hdfgroup.org> 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
mike.jackson@bluequartz.net www.bluequartz.net

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org

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 <ekin@ims.metu.edu.tr> 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 <epourmal@hdfgroup.org> 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
mike.jackson@bluequartz.net www.bluequartz.net

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org

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 <ekin@ims.metu.edu.tr> 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 <ekin@ims.metu.edu.tr> 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 <epourmal@hdfgroup.org> 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
mike.jackson@bluequartz.net www.bluequartz.net

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org
http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org

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 <epourmal@hdfgroup.org> 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 <ekin@ims.metu.edu.tr> 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 <ekin@ims.metu.edu.tr> 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 <epourmal@hdfgroup.org> 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
mike.jackson@bluequartz.net www.bluequartz.net

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org

http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org

http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org

This I don't know :slight_smile:

Allen just told me that Ubuntu is the only system that has static dl library. We will need to investigate.

Elena

···

On Oct 31, 2013, at 4:58 PM, Ekin Akoglu <ekin@ims.metu.edu.tr> wrote:

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?

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Elena Pourmal The HDF Group http://hdfgroup.org
1800 So. Oak St., Suite 203, Champaign IL 61820
217.531.6112
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Regards,

Ekin Akoglu

On 31 October 2013 22:48, Elena Pourmal <epourmal@hdfgroup.org> 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 <ekin@ims.metu.edu.tr> 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 <ekin@ims.metu.edu.tr> 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 <epourmal@hdfgroup.org> 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
mike.jackson@bluequartz.net www.bluequartz.net

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org
http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org
http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org
http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org

Thank you again. I have just tried the issue with Ubuntu 12.04 x86_64
Server and, SURPRISINGLY, just like Debian and Fedora, it did not have any
issues. The only impacted OS seems to be the Ubuntu 12.04 x86._64 Desktop
version. This seems to be an issue/bug related to the OS rather than HDF5
itself.

Regards,

Ekin Akoglu

···

On 31 October 2013 23:42, Elena Pourmal <epourmal@hdfgroup.org> wrote:

On Oct 31, 2013, at 4:58 PM, Ekin Akoglu <ekin@ims.metu.edu.tr> wrote:

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?

This I don't know :slight_smile:

Allen just told me that Ubuntu is the only system that has static dl
library. We will need to investigate.

Elena
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Elena Pourmal The HDF Group http://hdfgroup.org
1800 So. Oak St., Suite 203, Champaign IL 61820
217.531.6112
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Regards,

Ekin Akoglu

On 31 October 2013 22:48, Elena Pourmal <epourmal@hdfgroup.org> 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 <ekin@ims.metu.edu.tr> 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 <ekin@ims.metu.edu.tr> 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 <epourmal@hdfgroup.org> 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
mike.jackson@bluequartz.net www.bluequartz.net

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org

http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org

http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org

http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org

http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org