[overture] Re: HDF library version mismatch error

  • From: Bill Henshaw <henshaw@xxxxxxxx>
  • To: overture@xxxxxxxxxxxxx
  • Date: Wed, 24 Apr 2013 19:58:08 -0700

Hi Adnan,

  As you noted, the problem occurs since the HDF version 1.8.5 library is being 
found first
by the compiler when it compiles files, but the loader is finding the HDF 1.8.8 
libraries.

  Here is my compile line when the files in Overture/DataBase are compiled:

g++ -fPIC -I/home/henshaw.0/Overture.g/include -I. -DUSE_MESA -I/home/henshaw.0/A++P++/A++P++-4.3.2-64/A++/install/include -I/home/henshaw.0/software/OpenGL/Mesa-7.2.intel.gcc4.3.2/include -I/usr/include -DBL_USE_DOUBLE -DBL_Solaris -I/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE -g -DH5_USE_16_API -I/home/henshaw.0/software/hdf/hdf5-1.6.5-gcc4.3.2-64/include -c GenericDataBase.C HDF_DataBase.C DataBaseBuffer.C dbAccess.C dbFunctions.f kk_ptr.cc

  The -I flags tell the compiler where to look for .h files. In the above case, 
if there were HDF .h files
in /usr/include then these would be found before the .h files in
   /home/henshaw.0/software/hdf/hdf5-1.6.5-gcc4.3.2-64/include

You could edit the Overture/DataBase/Makefile and change the order of the -I 
flags so that the HDF include
directory is found first. I think you can make the following change in this 
file:

DataBase_date: $(Source)
#      $(CC) $(CCFLAGS) -DH5_USE_16_API -I$(HDF)/include -c $?
      $(CC) -DH5_USE_16_API -I$(HDF)/include $(CCFLAGS)  -c $?
      touch $@

Then in Overture/DataBase, type
  rm *.o *_date
and then type "make" in the Overture directory.

...Bill




On 04/23/2013 01:42 AM, Adnan Qamar wrote:
Hi Bill,
I am trying to install parallel Overture/CG (PetSc=on) on one of our HPC cluster. Apparently, everything compiles smoothly and all executable are generated. However, when I run parallel ogen or CGINS by utilising a grid file created by a serial version of ogen it gives me HDF5 library version mismatch error (error cut pasted below). The serial version of ogen is complied with same version of HDF i.e 1.8.8 as used by parallel version.

I believe the HPC cluster already have HDF5 v 1.8.5 installed by root and somehow during compiling parallel or serial Overture/CG it is picking the original installed libraries of HDF5.v.1.8.5 instead of library path I am providing using HDF variable in defenv file. I would appreciate if you could point me to a possible fix to this issue.
Best,
Adnan
===================================================
Unknown keyword `ndwindow*width' in the .overturerc file.
Not using the colour `MEDIUMGOLDENROD'
User commands are being saved in the file `plotStuff.cmd'
mount the showfile: n.hdf
Warning! ***HDF5 library version mismatched error***
The HDF5 header files used to compile this application do not match
the version used by the HDF5 library to which this application is linked.
Data corruption or segmentation faults may occur if the application continues.
This can happen when an application was compiled by one version of HDF5 but
linked with a different version of static or shared HDF5 library.
You should recompile the application or check your shared library related
settings such as 'LD_LIBRARY_PATH'.
You can, at your own risk, disable this warning by setting the environment
variable 'HDF5_DISABLE_VERSION_CHECK' to a value of '1'.
Setting it to 2 or higher will suppress the warning messages totally.
Headers are 1.8.5, library is 1.8.8
        SUMMARY OF THE HDF5 CONFIGURATION
        =================================

General Information:
-------------------
           HDF5 Version: 1.8.8
          Configured on: Sun Apr 21 10:12:00 AST 2013
          Configured by: qamara@fen3
         Configure mode: production
            Host system: x86_64-unknown-linux-gnu
          Uname information: Linux fen3 2.6.32-358.2.1.el6.x86_64 #1 SMP Wed 
Feb 20 12:17:37 EST 2013 x86_64 x86_64 x86_64 GNU/Linux
               Byte sex: little-endian
              Libraries:
         Installation point: /home/qamara/over_p/hdf5-1.8.8

Compiling Options:
------------------
               Compilation Mode: production
                     C Compiler: /usr/lib64/openmpi/bin/mpicc
                         CFLAGS:
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 -Wunreachable-code -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 -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: no
               Static C Library: yes
  Statically Linked Executables: no
                        LDFLAGS:
                     H5_LDFLAGS:
                     AM_LDFLAGS:
          Extra libraries:  -lz -lrt -lm
                Archiver: ar
               Ranlib: ranlib
           Debugged Packages:
            API Tracing: no

Languages:
----------
                        Fortran: no

                            C++: no

Features:
---------
                  Parallel HDF5: mpicc
             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:
                     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
Bye...
Segmentation fault (core dumped)
==========================================================

Adnan Qamar, PhD
Mechanical Engineering,
Physical Sciences and Engineering Division,
Building 4, Room 3216,
4700 King Abdullah University of Science and Technology (KAUST),
Thuwal 23955-6900, KSA.
Email: Adnan.Qamar@xxxxxxxxxxxx
Ph: 966-2-8084896
Fax: 96628021077@xxxxxxxxxxxxxxxx
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

This message and its contents including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email.

Other related posts: