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