Page 1 of 1

Missing Library: libhdf5_hl.10.3.0.dylib

Posted: Thu Dec 27, 2018 12:21 pm America/New_York
by monger
Hi -- I recently installed seadas 7.5.1 using the command line to install the sensor files.  A month or two ago I also updated my Mac OS to Mojave.  I am running python version 2.7.13 Anaconda.  I also just recently installed MacPorts for Mojave.

When I type l2gen to get some help on syntax use, I get the following error:

> l2gen


  dyld: Library not loaded: @rpath/libhdf5_hl.10.3.0.dylib
  Referenced from: /Applications/seadas-7.5.1/ocssw/bin/l2gen
  Reason: image not found
  Abort trap: 6

It seems that libhdf5_hl.10.3.0.dylib is missing.  When I type otool -L $OCSSWROOT/bin/l2gen, I get the following:

> otool -L $OCSSWROOT/bin/l2gen


        /Applications/seadas-7.5.1/ocssw/bin/l2gen:
  /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate (compatibility version 1.0.0, current version 4.0.0)
  @rpath/libgeotiff.2.dylib (compatibility version 4.0.0, current version 4.2.0)
  @rpath/libtiff.5.dylib (compatibility version 8.0.0, current version 8.4.0)
  @rpath/libpugixml.1.dylib (compatibility version 1.0.0, current version 1.8.0)
  @rpath/libfann.2.dylib (compatibility version 2.0.0, current version 2.2.0)
  @rpath/libopenjp2.7.dylib (compatibility version 7.0.0, current version 2.1.2)
  @rpath/libnetcdf_c++4.1.dylib (compatibility version 2.0.0, current version 2.3.0)
  @rpath/libnetcdff.6.dylib (compatibility version 8.0.0, current version 8.1.0)
  @rpath/libnetcdf.11.dylib (compatibility version 12.0.0, current version 12.4.0)
  @rpath/libhdf5_hl.10.3.0.dylib (compatibility version 10.3.0, current version 1.8.19)
  @rpath/libhdfxx.xxx.xx.xx.dylib (compatibility version 10.3.0, current version 1.8.19)
  @rpath/libSM.6.dylib (compatibility version 7.0.0, current version 7.1.0)
  @rpath/libICE.6.dylib (compatibility version 10.0.0, current version 10.0.0)
  @rpath/libX11.6.dylib (compatibility version 10.0.0, current version 10.0.0)
  @rpath/libXext.6.dylib (compatibility version 11.0.0, current version 11.0.0)
  @rpath/libgsl.19.dylib (compatibility version 20.0.0, current version 20.0.0)
  @rpath/libgslcblas.0.dylib (compatibility version 1.0.0, current version 1.0.0)
  @rpath/libproj.9.dylib (compatibility version 11.0.0, current version 11.0.0)
  @rpath/libjpeg.9.dylib (compatibility version 12.0.0, current version 12.0.0)
  /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.11)
  @rpath/libjansson.4.dylib (compatibility version 15.0.0, current version 15.0.0)
  @rpath/libgfortran.3.dylib (compatibility version 4.0.0, current version 4.0.0)
  @rpath/libquadmath.0.dylib (compatibility version 1.0.0, current version 1.0.0)
  @rpath/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.25.0)
  /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.50.4)
  @rpath/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)

When I list the libraries contained in: /Applications/seadas-7.5.1/ocssw/opt/lib,
> ls libhdf5_hl.*
libhdf5_hl.1.8.18.dylib    libhdf5_hl.a
libhdf5_hl.10.2.1.dylib    libhdf5_hl.dylib

Can I set a symbolic link from libhdf5_hl.10.3.0.dylib to one of the libraries above? Or do I need to find and download libhdf5_hl.10.3.0.dylib?

Thanks for any help here..
Bruce

Missing Library: libhdf5_hl.10.3.0.dylib

Posted: Tue Jan 01, 2019 11:38 pm America/New_York
by lmckinna
Hi Bruce,

I usually run my code on a linux box, however, I have a previously compiled version of ocssw on my mac that works successfully.

For my version of l2gen, which I built back in October, I get the following when I run "otool -L $OCSSWROOT/bin/l2gen":
@rpath/libhdf5_hl.10.2.1.dylib (compatibility version 10.2.1, current version 1.8.18)

In my ocssw/opt/lib directory there is symlink "libhdf5_hl.10.2.1.dylib" that points to "libhdf5_hl.1.8.18.dylib". 

So I reckon for your version of ocssw, a symlink libhdf5_hl.10.3.0.dylib that points to libhdf5_hl.1.8.18.dylib should do the trick.

Cheers,
Lachlan

Missing Library: libhdf5_hl.10.3.0.dylib

Posted: Sun Jan 06, 2019 2:32 pm America/New_York
by gnwiii
I just attempted to install the 7.5 OCSSW processing system on MacOS El Capitan and get the same error.   The suggested link fails:
 
[seadas@host]:~/ocssw/opt/lib$ ln -s libhdf5_hl.1.8.18.dylib libhdf5_hl.10.3.0.dylib
[seadas@host]:~/ocssw/opt/lib $ l2gen -h
dyld: Library not loaded: @rpath/libhdf5_hl.10.3.0.dylib
  Referenced from: /Users/seadas/ocssw/bin/l2gen
  Reason: Incompatible library version: l2gen requires version 10.3.0 or later, but libhdf5_hl.10.3.0.dylib provides version 10.2.1
Trace/BPT trap: 5


There are similar problems with other programs, e.g., libjansson. for l3bindump.  I'm planning to work with
binned data, so I tried a build using macports' gcc7.  The full build failed, but I was able to build and install l3bindump and l3mapgen.  For example:
[seadas@host]:~/ocssw/ocssw-src/build-gcc7/src/l3mapgen $ l3mapgen -h
dyld: Library not loaded: @rpath/libhdf5_hl.10.3.0.dylib
  Referenced from: /Users/seadas/ocssw/bin/l3mapgen
  Reason: Incompatible library version: l3mapgen requires version 10.3.0 or later, but libhdf5_hl.10.3.0.dylib provides version 10.2.1
Trace/BPT trap: 5
[seadas@host]:~/ocssw/ocssw-src/build-gcc7/src/l3mapgen $ make install
[ 30%] Built target nav
[ 40%] Built target genutils
[ 40%] Built target piutils
[ 50%] Built target timeutils
[ 50%] Built target hdf4utils
[ 60%] Built target seawifs
[ 60%] Built target netcdfutils
[ 60%] Built target hdf5utils
[ 70%] Built target dfutils
[ 80%] Built target bin64
[ 80%] Built target bin64++
[ 80%] Built target l2
Scanning dependencies of target l3mapgen64
[ 80%] Building CXX object src/l3mapgen/CMakeFiles/l3mapgen64.dir/OutFile64.cpp.o
In file included from /Users/seadas/ocssw/ocssw-src/src/l3mapgen/OutFile64.cpp:4:0:
/Users/seadas/ocssw/ocssw-src/src/l3mapgen/OutFile64.h:99:25: warning: 'constexpr' needed for in-class initialization of static data member 'const double OutFile::badPixelValue' of non-integral type [-fpermissive]
     static const double badPixelValue = -32767.0;
                         ^~~~~~~~~~~~~
/Users/seadas/ocssw/ocssw-src/src/l3mapgen/OutFile64.h:100:25: warning: 'constexpr' needed for in-class initialization of static data member 'const double OutFile::landPixelValue' of non-integral type [-fpermissive]
     static const double landPixelValue = -32766.0;
                         ^~~~~~~~~~~~~~
[ 80%] Building CXX object src/l3mapgen/CMakeFiles/l3mapgen64.dir/l3mapgen64.cpp.o
In file included from /Users/seadas/ocssw/ocssw-src/src/l3mapgen/l3mapgen64.cpp:9:0:
/Users/seadas/ocssw/ocssw-src/src/l3mapgen/OutFile64.h:99:25: warning: 'constexpr' needed for in-class initialization of static data member 'const double OutFile::badPixelValue' of non-integral type [-fpermissive]
     static const double badPixelValue = -32767.0;
                         ^~~~~~~~~~~~~
/Users/seadas/ocssw/ocssw-src/src/l3mapgen/OutFile64.h:100:25: warning: 'constexpr' needed for in-class initialization of static data member 'const double OutFile::landPixelValue' of non-integral type [-fpermissive]
     static const double landPixelValue = -32766.0;
                         ^~~~~~~~~~~~~~
[ 80%] Building CXX object src/l3mapgen/CMakeFiles/l3mapgen64.dir/l3mapgen_input.cpp.o
[ 80%] Linking CXX executable l3mapgen64
[ 80%] Built target l3mapgen64
[ 90%] Built target bin
[ 90%] Built target bin++
Scanning dependencies of target l3mapgen
[ 90%] Building CXX object src/l3mapgen/CMakeFiles/l3mapgen.dir/OutFile.cpp.o
In file included from /Users/seadas/ocssw/ocssw-src/src/l3mapgen/OutFile.cpp:4: :
/Users/seadas/ocssw/ocssw-src/src/l3mapgen/OutFile.h:99:25: warning: 'constexpr' needed for in-class initialization of static data member 'const double OutFile::badPixelValue' of non-integral type [-fpermissive]
     static const double badPixelValue = -32767.0;
                         ^~~~~~~~~~~~~
/Users/seadas/ocssw/ocssw-src/src/l3mapgen/OutFile.h:100:25: warning: 'constexp ' needed for in-class initialization of static data member 'const double OutFile::landPixelValue' of non-integral type [-fpermissive]
     static const double landPixelValue = -32766.0;
                         ^~~~~~~~~~~~~~
[ 90%] Building CXX object src/l3mapgen/CMakeFiles/l3mapgen.dir/l3mapgen.cpp.o
In file included from /Users/seadas/ocssw/ocssw-src/src/l3mapgen/l3mapgen.cpp:9:0:
/Users/seadas/ocssw/ocssw-src/src/l3mapgen/OutFile.h:99:25: warning: 'constexpr' needed for in-class initialization of static data member 'const double OutFile::badPixelValue' of non-integral type [-fpermissive]
     static const double badPixelValue = -32767.0;
                         ^~~~~~~~~~~~~
/Users/seadas/ocssw/ocssw-src/src/l3mapgen/OutFile.h:100:25: warning: 'constexp ' needed for in-class initialization of static data member 'const double OutFile::landPixelValue' of non-integral type [-fpermissive]
     static const double landPixelValue = -32766.0;
                         ^~~~~~~~~~~~~~
[100%] Building CXX object src/l3mapgen/CMakeFiles/l3mapgen.dir/l3mapgen_input.cpp.o
[100%] Linking CXX executable l3mapgen
[100%] Built target l3mapgen
Install the project...
-- Install configuration: "Release"
-- Installing: /Users/seadas/ocssw/bin/l3mapgen
-- Installing: /Users/seadas/ocssw/bin/l3mapgen64
[seadas@host]:~/ocssw/ocssw-src/build-gcc7/src/l3mapgen
$ l3mapgen -h
l3mapgen 2.1.0--128-NOTFOUND (Jan  5 2019 16:33:49)
Usage: l3mapgen argument-list
[...]

Missing Library: libhdf5_hl.10.3.0.dylib

Posted: Mon Jan 28, 2019 2:55 pm America/New_York
by OB.DAACx - SeanBailey
My fault...thought all was in place for an update we planned for SeaDAS, but missed the opt tree changes for the Mac.
...then the shutdown hit and we couldn't fix the problem.

We will resolve this soon, in the meantime you can always checkout the previous commit for the $OCSSWROOT/bin directory to get a working set of binaries that do not require the "new" HDF5 libraries.

$ cd $OCSSWROOT/bin
$git checkout 7844a7d


Sean

Missing Library: libhdf5_hl.10.3.0.dylib

Posted: Mon Jan 28, 2019 6:57 pm America/New_York
by gnwiii
Welcome back.  You were missed.  Lets hope those elected folks give you time to get caught up and then finish that update.