LLNL / H5Z-ZFP

A registered ZFP compression plugin for HDF5
Other
50 stars 22 forks source link

1.1.1-pre1 Testing #124

Closed markcmiller86 closed 1 year ago

markcmiller86 commented 1 year ago

macOS 12.6.7 / CMake 3.24.3 / ZFP-1.0.0 (CMake build) / HDF5-1.14.0

So, it looks like XXX_ROOT is used to specify installation dir which is parent to XXX lib and include dirs, which in the tests below, I used for HDF5 because I had used autotools to build and install that.

/Users/miller86/visit/third_party/3.3.0/cmake/3.24.3/darwin-x86_64/bin/cmake -DFORTRAN_INTERFACE:BOOL=ON -DZFP_DIR:PATH=/Users/miller86/silo/zfp-1.0.0/build/myinstall/lib/cmake/zfp -DBUILD_TESTING:BOOL=ON -DHDF5_ROOT:PATH=/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall ../H5Z-ZFP-1.1.1-pre1

CMake Error at /Users/miller86/visit/visit/33rc/release/build-mb-3.3.0-darwin-10.14-x86_64-release/thirdparty_shared/third_party/cmake/3.24.3/i386-apple-darwin19_clang/share/cmake-3.24/Modules/CMakeTestFortranCompiler.cmake:61 (message):
  The Fortran compiler

    "//opt/local/bin/gfortran"

  is not able to compile a simple test program.

  It fails with the following output:

    Change Dir: /Users/miller86/tmp/H5Z-ZFP-1.1.1-pre1-build/CMakeFiles/CMakeTmp

    Run Build Command(s)://opt/local/bin/gmake -f Makefile cmTC_1b1f0/fast && //opt/local/bin/gmake  -f CMakeFiles/cmTC_1b1f0.dir/build.make CMakeFiles/cmTC_1b1f0.dir/build
    gmake[1]: Entering directory '/Users/miller86/tmp/H5Z-ZFP-1.1.1-pre1-build/CMakeFiles/CMakeTmp'
    Building Fortran object CMakeFiles/cmTC_1b1f0.dir/testFortranCompiler.f.o
    //opt/local/bin/gfortran   -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk -c /Users/miller86/tmp/H5Z-ZFP-1.1.1-pre1-build/CMakeFiles/CMakeTmp/testFortranCompiler.f -o CMakeFiles/cmTC_1b1f0.dir/testFortranCompiler.f.o
    Linking Fortran executable cmTC_1b1f0
    /Users/miller86/visit/visit/33rc/release/build-mb-3.3.0-darwin-10.14-x86_64-release/thirdparty_shared/third_party/cmake/3.24.3/i386-apple-darwin19_clang/bin/cmake -E cmake_link_script CMakeFiles/cmTC_1b1f0.dir/link.txt --verbose=1
    //opt/local/bin/gfortran  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk CMakeFiles/cmTC_1b1f0.dir/testFortranCompiler.f.o -o cmTC_1b1f0 
    ld: unexpected token: !tapi-tbd file '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/lib/libSystem.tbd' for architecture x86_64
    collect2: error: ld returned 1 exit status
    gmake[1]: *** [CMakeFiles/cmTC_1b1f0.dir/build.make:99: cmTC_1b1f0] Error 1
    gmake[1]: Leaving directory '/Users/miller86/tmp/H5Z-ZFP-1.1.1-pre1-build/CMakeFiles/CMakeTmp'
    gmake: *** [Makefile:127: cmTC_1b1f0/fast] Error 2

Disabling fortran fixes...


/Users/miller86/visit/third_party/3.3.0/cmake/3.24.3/darwin-x86_64/bin/cmake -DFORTRAN_INTERFACE:BOOL=OFF -DZFP_DIR:PATH=/Users/miller86/silo/zfp-1.0.0/build/myinstall/lib/cmake/zfp -DBUILD_TESTING:BOOL=ON -DHDF5_ROOT:PATH=/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall ../H5Z-ZFP-1.1.1-pre1

make test
[scratlantis:~/tmp/H5Z-ZFP-1.1.1-pre1-build] miller86% make test
Running tests...
Test project /Users/miller86/tmp/H5Z-ZFP-1.1.1-pre1-build
      Start  1: test-rate-write-32
 1/94 Test  #1: test-rate-write-32 ...............   Passed    0.16 sec
      Start  2: test-rate-read-32
 2/94 Test  #2: test-rate-read-32 ................   Passed    0.02 sec
      Start  3: test-rate-cleanup-32
 3/94 Test  #3: test-rate-cleanup-32 .............   Passed    0.02 sec
      Start  4: test-lib-rate-write-32
 4/94 Test  #4: test-lib-rate-write-32 ...........   Passed    0.02 sec
      Start  5: test-lib-rate-read-32
 5/94 Test  #5: test-lib-rate-read-32 ............   Passed    0.02 sec
      Start  6: test-lib-rate-cleanup-32
 6/94 Test  #6: test-lib-rate-cleanup-32 .........   Passed    0.02 sec
      Start  7: test-rate-write-16
 7/94 Test  #7: test-rate-write-16 ...............   Passed    0.01 sec
      Start  8: test-rate-read-16
 8/94 Test  #8: test-rate-read-16 ................   Passed    0.01 sec
      Start  9: test-rate-cleanup-16
 9/94 Test  #9: test-rate-cleanup-16 .............   Passed    0.02 sec
      Start 10: test-lib-rate-write-16
10/94 Test #10: test-lib-rate-write-16 ...........   Passed    0.01 sec
      Start 11: test-lib-rate-read-16
11/94 Test #11: test-lib-rate-read-16 ............   Passed    0.01 sec
      Start 12: test-lib-rate-cleanup-16
12/94 Test #12: test-lib-rate-cleanup-16 .........   Passed    0.02 sec
      Start 13: test-rate-write-8
13/94 Test #13: test-rate-write-8 ................   Passed    0.01 sec
      Start 14: test-rate-read-8
14/94 Test #14: test-rate-read-8 .................   Passed    0.01 sec
      Start 15: test-rate-cleanup-8
15/94 Test #15: test-rate-cleanup-8 ..............   Passed    0.02 sec
      Start 16: test-lib-rate-write-8
16/94 Test #16: test-lib-rate-write-8 ............   Passed    0.01 sec
      Start 17: test-lib-rate-read-8
17/94 Test #17: test-lib-rate-read-8 .............   Passed    0.01 sec
      Start 18: test-lib-rate-cleanup-8
18/94 Test #18: test-lib-rate-cleanup-8 ..........   Passed    0.02 sec
      Start 19: test-rate-write-4
19/94 Test #19: test-rate-write-4 ................   Passed    0.01 sec
      Start 20: test-rate-read-4
20/94 Test #20: test-rate-read-4 .................   Passed    0.01 sec
      Start 21: test-rate-cleanup-4
21/94 Test #21: test-rate-cleanup-4 ..............   Passed    0.02 sec
      Start 22: test-lib-rate-write-4
22/94 Test #22: test-lib-rate-write-4 ............   Passed    0.01 sec
      Start 23: test-lib-rate-read-4
23/94 Test #23: test-lib-rate-read-4 .............   Passed    0.01 sec
      Start 24: test-lib-rate-cleanup-4
24/94 Test #24: test-lib-rate-cleanup-4 ..........   Passed    0.02 sec
      Start 25: test-accuracy-write-1
25/94 Test #25: test-accuracy-write-1 ............   Passed    0.01 sec
      Start 26: test-accuracy-read-1
26/94 Test #26: test-accuracy-read-1 .............   Passed    0.01 sec
      Start 27: test-accuracy-cleanup-1
27/94 Test #27: test-accuracy-cleanup-1 ..........   Passed    0.02 sec
      Start 28: test-lib-accuracy-write-1
28/94 Test #28: test-lib-accuracy-write-1 ........   Passed    0.01 sec
      Start 29: test-lib-accuracy-read-1
29/94 Test #29: test-lib-accuracy-read-1 .........   Passed    0.01 sec
      Start 30: test-lib-accuracy-cleanup-1
30/94 Test #30: test-lib-accuracy-cleanup-1 ......   Passed    0.02 sec
      Start 31: test-accuracy-write-2
31/94 Test #31: test-accuracy-write-2 ............   Passed    0.01 sec
      Start 32: test-accuracy-read-2
32/94 Test #32: test-accuracy-read-2 .............   Passed    0.01 sec
      Start 33: test-accuracy-cleanup-2
33/94 Test #33: test-accuracy-cleanup-2 ..........   Passed    0.02 sec
      Start 34: test-lib-accuracy-write-2
34/94 Test #34: test-lib-accuracy-write-2 ........   Passed    0.01 sec
      Start 35: test-lib-accuracy-read-2
35/94 Test #35: test-lib-accuracy-read-2 .........   Passed    0.01 sec
      Start 36: test-lib-accuracy-cleanup-2
36/94 Test #36: test-lib-accuracy-cleanup-2 ......   Passed    0.02 sec
      Start 37: test-accuracy-write-3
37/94 Test #37: test-accuracy-write-3 ............   Passed    0.01 sec
      Start 38: test-accuracy-read-3
38/94 Test #38: test-accuracy-read-3 .............   Passed    0.01 sec
      Start 39: test-accuracy-cleanup-3
39/94 Test #39: test-accuracy-cleanup-3 ..........   Passed    0.01 sec
      Start 40: test-lib-accuracy-write-3
40/94 Test #40: test-lib-accuracy-write-3 ........   Passed    0.01 sec
      Start 41: test-lib-accuracy-read-3
41/94 Test #41: test-lib-accuracy-read-3 .........   Passed    0.01 sec
      Start 42: test-lib-accuracy-cleanup-3
42/94 Test #42: test-lib-accuracy-cleanup-3 ......   Passed    0.02 sec
      Start 43: test-accuracy-write-4
43/94 Test #43: test-accuracy-write-4 ............   Passed    0.01 sec
      Start 44: test-accuracy-read-4
44/94 Test #44: test-accuracy-read-4 .............   Passed    0.01 sec
      Start 45: test-accuracy-cleanup-4
45/94 Test #45: test-accuracy-cleanup-4 ..........   Passed    0.02 sec
      Start 46: test-lib-accuracy-write-4
46/94 Test #46: test-lib-accuracy-write-4 ........   Passed    0.01 sec
      Start 47: test-lib-accuracy-read-4
47/94 Test #47: test-lib-accuracy-read-4 .........   Passed    0.01 sec
      Start 48: test-lib-accuracy-cleanup-4
48/94 Test #48: test-lib-accuracy-cleanup-4 ......   Passed    0.02 sec
      Start 49: test-precision-write-12
49/94 Test #49: test-precision-write-12 ..........   Passed    0.01 sec
      Start 50: test-precision-read-12
50/94 Test #50: test-precision-read-12 ...........   Passed    0.01 sec
      Start 51: test-precision-cleanup-12
51/94 Test #51: test-precision-cleanup-12 ........   Passed    0.01 sec
      Start 52: test-lib-precision-write-12
52/94 Test #52: test-lib-precision-write-12 ......   Passed    0.01 sec
      Start 53: test-lib-precision-read-12
53/94 Test #53: test-lib-precision-read-12 .......   Passed    0.01 sec
      Start 54: test-lib-precision-cleanup-12
54/94 Test #54: test-lib-precision-cleanup-12 ....   Passed    0.02 sec
      Start 55: test-precision-write-16
55/94 Test #55: test-precision-write-16 ..........   Passed    0.01 sec
      Start 56: test-precision-read-16
56/94 Test #56: test-precision-read-16 ...........   Passed    0.01 sec
      Start 57: test-precision-cleanup-16
57/94 Test #57: test-precision-cleanup-16 ........   Passed    0.02 sec
      Start 58: test-lib-precision-write-16
58/94 Test #58: test-lib-precision-write-16 ......   Passed    0.01 sec
      Start 59: test-lib-precision-read-16
59/94 Test #59: test-lib-precision-read-16 .......   Passed    0.01 sec
      Start 60: test-lib-precision-cleanup-16
60/94 Test #60: test-lib-precision-cleanup-16 ....   Passed    0.01 sec
      Start 61: test-precision-write-20
61/94 Test #61: test-precision-write-20 ..........   Passed    0.01 sec
      Start 62: test-precision-read-20
62/94 Test #62: test-precision-read-20 ...........   Passed    0.01 sec
      Start 63: test-precision-cleanup-20
63/94 Test #63: test-precision-cleanup-20 ........   Passed    0.02 sec
      Start 64: test-lib-precision-write-20
64/94 Test #64: test-lib-precision-write-20 ......   Passed    0.01 sec
      Start 65: test-lib-precision-read-20
65/94 Test #65: test-lib-precision-read-20 .......   Passed    0.01 sec
      Start 66: test-lib-precision-cleanup-20
66/94 Test #66: test-lib-precision-cleanup-20 ....   Passed    0.02 sec
      Start 67: test-precision-write-24
67/94 Test #67: test-precision-write-24 ..........   Passed    0.01 sec
      Start 68: test-precision-read-24
68/94 Test #68: test-precision-read-24 ...........   Passed    0.01 sec
      Start 69: test-precision-cleanup-24
69/94 Test #69: test-precision-cleanup-24 ........   Passed    0.02 sec
      Start 70: test-lib-precision-write-24
70/94 Test #70: test-lib-precision-write-24 ......   Passed    0.01 sec
      Start 71: test-lib-precision-read-24
71/94 Test #71: test-lib-precision-read-24 .......   Passed    0.01 sec
      Start 72: test-lib-precision-cleanup-24
72/94 Test #72: test-lib-precision-cleanup-24 ....   Passed    0.02 sec
      Start 73: test-reversible
73/94 Test #73: test-reversible ..................   Passed    0.01 sec
      Start 74: test-reversible-diff
74/94 Test #74: test-reversible-diff .............   Passed    0.01 sec
      Start 75: test-reversible-cleanup
75/94 Test #75: test-reversible-cleanup ..........   Passed    0.02 sec
      Start 76: test-lib-reversible
76/94 Test #76: test-lib-reversible ..............   Passed    0.01 sec
      Start 77: test-lib-reversible-diff
77/94 Test #77: test-lib-reversible-diff .........   Passed    0.01 sec
      Start 78: test-lib-reversible-cleanup
78/94 Test #78: test-lib-reversible-cleanup ......   Passed    0.02 sec
      Start 79: test-lib-int-write
79/94 Test #79: test-lib-int-write ...............   Passed    0.01 sec
      Start 80: test-lib-int-read
80/94 Test #80: test-lib-int-read ................   Passed    0.01 sec
      Start 81: test-lib-int-cleanup
81/94 Test #81: test-lib-int-cleanup .............   Passed    0.02 sec
      Start 82: test-lib-highd
82/94 Test #82: test-lib-highd ...................   Passed    3.32 sec
      Start 83: test-lib-highd-cleanup
83/94 Test #83: test-lib-highd-cleanup ...........   Passed    0.02 sec
      Start 84: test-lib-sixd
84/94 Test #84: test-lib-sixd ....................   Passed    0.26 sec
      Start 85: test-lib-sixd-cleanup
85/94 Test #85: test-lib-sixd-cleanup ............   Passed    0.02 sec
      Start 86: test-error
86/94 Test #86: test-error .......................   Passed    0.02 sec
      Start 87: test-error-cleanup
87/94 Test #87: test-error-cleanup ...............   Passed    0.01 sec
      Start 88: test-h5repack
88/94 Test #88: test-h5repack ....................   Passed    0.08 sec
      Start 89: test-h5repack-filesizes
89/94 Test #89: test-h5repack-filesizes ..........   Passed    0.02 sec
      Start 90: test-h5repack-cleanup
90/94 Test #90: test-h5repack-cleanup ............   Passed    0.01 sec
      Start 91: test-version-1
91/94 Test #91: test-version-1 ...................   Passed    0.01 sec
      Start 92: test-version-2
92/94 Test #92: test-version-2 ...................   Passed    0.01 sec
      Start 93: test-version-3
93/94 Test #93: test-version-3 ...................   Passed    0.01 sec
      Start 94: test-version-4
94/94 Test #94: test-version-4 ...................   Passed    0.01 sec

100% tests passed, 0 tests failed out of 94

Total Test time (real) =   5.08 sec
markcmiller86 commented 1 year ago

macOS 12.6.7 / gmake / ZFP-1.0.0 (gmake) / HDF5-1.14.0 (autotools)

[scratlantis:~/tmp/H5Z-ZFP-1.1.1-pre1] miller86% make CC=gcc HDF5_HOME=/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall ZFP_HOME=/Users/miller86/silo/zfp-1.0.0 PREFIX=`pwd`
grep: /H5Zzfp_plugin.h: No such file or directory

             This is H5Z-ZFP version .
See http://h5z-zfp.readthedocs.io/en/latest/ file for more info.

Typical make command is...

    make CC=<C-compiler> HDF5_HOME=<path> ZFP_HOME=<path> PREFIX=<path> all

where <path> is a dir whose children are include/lib/bin subdirs.
HDF5_HOME can also be specified by the HDF5 include directory,
library directory and bin directory separated by commas, i.e. HDF5_HOME=INC,LIB,BIN
Standard make variables (e.g. CFLAGS, LD, etc.) can be set as usual.
Optionally, add FC=<fortran-compiler> to include Fortran support and tests.

Available make targets are...
    all - build everything
    check - all + run tests
    install - install compiled components
    clean - clean away all derived targets
    dist - create distribution tarfile
[scratlantis:~/tmp/H5Z-ZFP-1.1.1-pre1] miller86% make CC=gcc HDF5_HOME=/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall ZFP_HOME=/Users/miller86/silo/zfp-1.0.0 PREFIX=`pwd` all
grep: /H5Zzfp_plugin.h: No such file or directory
cd src; /Applications/Xcode.app/Contents/Developer/usr/bin/make HDF5_HOME=/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall ZFP_HOME=/Users/miller86/silo/zfp-1.0.0  PREFIX=/Users/miller86/tmp/H5Z-ZFP-1.1.1-pre1 all
gcc -c H5Zzfp.c -o H5Zzfp_lib.o -DH5Z_ZFP_AS_LIB -fPIC -I. -I/Users/miller86/silo/zfp-1.0.0/include -I/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall/include
ar cr libh5zzfp.a H5Zzfp_lib.o
gcc -c H5Zzfp_props.c -o H5Zzfp_props.o -fPIC -I. -I/Users/miller86/silo/zfp-1.0.0/include -I/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall/include
ar cr libh5zzfp.a H5Zzfp_props.o
gcc -c H5Zzfp.c -o H5Zzfp_plugin.o -fPIC -I. -I/Users/miller86/silo/zfp-1.0.0/include -I/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall/include
rm -rf plugin
mkdir plugin
gcc H5Zzfp_plugin.o -shared -o plugin/libh5zzfp.so \
        -Wl,-rpath,/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall/lib -Wl,-rpath,/Users/miller86/silo/zfp-1.0.0/lib \
        -L/Users/miller86/silo/zfp-1.0.0/lib -L/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall/lib -lhdf5 -lzfp 
[scratlantis:~/tmp/H5Z-ZFP-1.1.1-pre1] miller86% make CC=gcc HDF5_HOME=/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall ZFP_HOME=/Users/miller86/silo/zfp-1.0.0 PREFIX=`pwd` check
grep: /H5Zzfp_plugin.h: No such file or directory
cd src; /Applications/Xcode.app/Contents/Developer/usr/bin/make HDF5_HOME=/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall ZFP_HOME=/Users/miller86/silo/zfp-1.0.0  PREFIX=/Users/miller86/tmp/H5Z-ZFP-1.1.1-pre1 all
make[1]: Nothing to be done for `all'.
cd src; /Applications/Xcode.app/Contents/Developer/usr/bin/make HDF5_HOME=/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall ZFP_HOME=/Users/miller86/silo/zfp-1.0.0  PREFIX=/Users/miller86/tmp/H5Z-ZFP-1.1.1-pre1 install
install -d /Users/miller86/tmp/H5Z-ZFP-1.1.1-pre1/{plugin,include,lib}
install plugin/libh5zzfp.so /Users/miller86/tmp/H5Z-ZFP-1.1.1-pre1/plugin
install libh5zzfp.a /Users/miller86/tmp/H5Z-ZFP-1.1.1-pre1/lib
install -m 644 H5Zzfp.h H5Zzfp_lib.h H5Zzfp_plugin.h H5Zzfp_version.h H5Zzfp_props.h /Users/miller86/tmp/H5Z-ZFP-1.1.1-pre1/include
cd test; /Applications/Xcode.app/Contents/Developer/usr/bin/make HDF5_HOME=/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall ZFP_HOME=/Users/miller86/silo/zfp-1.0.0  PREFIX=/Users/miller86/tmp/H5Z-ZFP-1.1.1-pre1 check
gcc -c test_write.c -o test_write_lib.o -fPIC -DZFP_HAS_CFP=1 -DZFP_LIB_VERSION=0x1000 -I../src -I/Users/miller86/silo/zfp-1.0.0/include -I/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall/include
cd ../src; /Applications/Xcode.app/Contents/Developer/usr/bin/make HDF5_HOME=/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall ZFP_HOME=/Users/miller86/silo/zfp-1.0.0  PREFIX=/Users/miller86/tmp/H5Z-ZFP-1.1.1-pre1 lib
make[2]: Nothing to be done for `lib'.
gcc test_write_lib.o -o test_write_lib -fPIC -Wl,-rpath,/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall/lib -Wl,-rpath,/Users/miller86/silo/zfp-1.0.0/lib -L../src -L/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall/lib -L/Users/miller86/silo/zfp-1.0.0/lib -lh5zzfp -lhdf5 -lzfp -lcfp -lstdc++ -lm 
gcc -c test_read.c -o test_read_lib.o -fPIC -I../src -I/Users/miller86/silo/zfp-1.0.0/include -I/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall/include
gcc test_read_lib.o -o test_read_lib -fPIC -Wl,-rpath,/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall/lib -Wl,-rpath,/Users/miller86/silo/zfp-1.0.0/lib -L../src -L/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall/lib -L/Users/miller86/silo/zfp-1.0.0/lib -lh5zzfp -lhdf5 -lzfp -lcfp -lstdc++ -lm 

./test_write_lib rate=32 zfpmode=1 .......................... [PASSED] 
./test_write_lib rate=16 zfpmode=1 .......................... [PASSED] 
./test_write_lib rate=8 zfpmode=1 ........................... [PASSED] 
Library rate tests .......................................... [PASSED] 

./test_write_lib acc=0.1 zfpmode=3 .......................... [PASSED] 
./test_write_lib acc=0.01 zfpmode=3 ......................... [PASSED] 
./test_write_lib acc=0.001 zfpmode=3 ........................ [PASSED] 
./test_write_lib acc=0.0001 zfpmode=3 ....................... [PASSED] 
Library accuracy tests ...................................... [PASSED] 

./test_write_lib prec=12 zfpmode=2 .......................... [PASSED] 
./test_write_lib prec=16 zfpmode=2 .......................... [PASSED] 
./test_write_lib prec=20 zfpmode=2 .......................... [PASSED] 
./test_write_lib prec=24 zfpmode=2 .......................... [PASSED] 
Library precision tests ..................................... [PASSED] 
gcc -c test_error.c -o test_error.o -fPIC -DZFP_LIB_VERSION=0x1000 -I../src -I/Users/miller86/silo/zfp-1.0.0/include -I/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall/include
gcc test_error.o -o test_error -fPIC -Wl,-rpath,/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall/lib -Wl,-rpath,/Users/miller86/silo/zfp-1.0.0/lib -L../src -L/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall/lib -L/Users/miller86/silo/zfp-1.0.0/lib -lh5zzfp -lhdf5 -lzfp -lcfp -lstdc++ -lm 

./test_error ................................................ [PASSED] 

./test_write_lib zfpmode=5 .................................. [PASSED] 
cd ../src; /Applications/Xcode.app/Contents/Developer/usr/bin/make HDF5_HOME=/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall ZFP_HOME=/Users/miller86/silo/zfp-1.0.0  PREFIX=/Users/miller86/tmp/H5Z-ZFP-1.1.1-pre1 plugin
make[2]: Nothing to be done for `plugin'.
gcc -c test_write.c -o test_write_plugin.o -DH5Z_ZFP_USE_PLUGIN -DZFP_LIB_VERSION=0x1000 -fPIC -I../src -I/Users/miller86/silo/zfp-1.0.0/include -I/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall/include
gcc test_write_plugin.o -o test_write_plugin -fPIC -Wl,-rpath,/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall/lib -Wl,-rpath,/Users/miller86/silo/zfp-1.0.0/lib -L/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall/lib -L/Users/miller86/silo/zfp-1.0.0/lib -lhdf5 -lzfp -lcfp -lstdc++ -lm 

./test_write_plugin zfpmode=1 rate=32 ....................... [PASSED] 
./test_write_plugin zfpmode=1 rate=16 ....................... [PASSED] 
./test_write_plugin zfpmode=1 rate=8 ........................ [PASSED] 
./test_write_plugin zfpmode=1 rate=4 ........................ [PASSED] 
Plugin rate tests ........................................... [PASSED] 

./test_write_plugin zfpmode=3 acc=0.1 ....................... [PASSED] 
./test_write_plugin zfpmode=3 acc=0.01 ...................... [PASSED] 
./test_write_plugin zfpmode=3 acc=0.001 ..................... [PASSED] 
./test_write_plugin zfpmode=3 acc=0.0001 .................... [PASSED] 
Plugin accuracy tests ....................................... [PASSED] 

./test_write_plugin zfpmode=2 prec=12 ....................... [PASSED] 
./test_write_plugin zfpmode=2 prec=16 ....................... [PASSED] 
./test_write_plugin zfpmode=2 prec=20 ....................... [PASSED] 
./test_write_plugin zfpmode=2 prec=24 ....................... [PASSED] 
Plugin precision tests ...................................... [PASSED] 
If using HDF5-1.8, make sure you have patched repack
gcc -c print_h5repack_farg.c -o print_h5repack_farg.o -fPIC -I../src -I/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall/include
gcc print_h5repack_farg.o -o print_h5repack_farg 

h5repack -n     -f UD=32013,0,4,3,0,3539053052,1062232653 ... [PASSED] 

./test_write_plugin zfpmode=5 ............................... [PASSED] 

h5diff -v -d 0.00001 test_zfp_le.h5 test_zfp_be.h5 compressed compressed ........ [PASSED] 

h5dump bigendian.h5 ............................................................. [PASSED] 

./test_read_lib ifile=test_zfp_030040.h5 max_reldiff=0.025 .. [PASSED] 
./test_read_lib ifile=test_zfp_030235.h5 max_reldiff=0.025 .. [PASSED] 
./test_read_lib ifile=test_zfp_110050.h5 max_reldiff=0.025 .. [PASSED] 
./test_read_lib ifile=test_zfp_110xxx.h5 max_reldiff=0.025 .. [PASSED] 
Version compatibility tests ................................. [PASSED] 

./test_write_lib zfpmode=3 doint=1 .......................... [PASSED] 

./test_write_lib highd=1 .................................... [PASSED] 

./test_write_lib sixd=1 ..................................... [PASSED] 

./test_write_lib zfparr=1 rate=10 ........................... [PASSED] 
markcmiller86 commented 1 year ago

macOS 12.6.7 / gmake / ZFP-0.5.0 (gmake) / HDF5-1.14.0 (autotools)

[scratlantis:~/tmp/H5Z-ZFP-1.1.1-pre1] miller86% make CC=gcc HDF5_HOME=/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall ZFP_HOME=/Users/miller86/silo/zfp-0.5.0 PREFIX=`pwd` all
grep: /H5Zzfp_plugin.h: No such file or directory
cd src; /Applications/Xcode.app/Contents/Developer/usr/bin/make HDF5_HOME=/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall ZFP_HOME=/Users/miller86/silo/zfp-0.5.0  PREFIX=/Users/miller86/tmp/H5Z-ZFP-1.1.1-pre1 all
gcc -c H5Zzfp.c -o H5Zzfp_lib.o -DH5Z_ZFP_AS_LIB -fPIC -I. -I/Users/miller86/silo/zfp-0.5.0/inc -I/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall/include
ar cr libh5zzfp.a H5Zzfp_lib.o
gcc -c H5Zzfp_props.c -o H5Zzfp_props.o -fPIC -I. -I/Users/miller86/silo/zfp-0.5.0/inc -I/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall/include
ar cr libh5zzfp.a H5Zzfp_props.o
gcc -c H5Zzfp.c -o H5Zzfp_plugin.o -fPIC -I. -I/Users/miller86/silo/zfp-0.5.0/inc -I/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall/include
rm -rf plugin
mkdir plugin
gcc H5Zzfp_plugin.o -shared -o plugin/libh5zzfp.so \
        -Wl,-rpath,/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall/lib -Wl,-rpath,/Users/miller86/silo/zfp-0.5.0/lib \
        -L/Users/miller86/silo/zfp-0.5.0/lib -L/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall/lib -lhdf5 -lzfp 
[scratlantis:~/tmp/H5Z-ZFP-1.1.1-pre1] miller86% make CC=gcc HDF5_HOME=/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall ZFP_HOME=/Users/miller86/silo/zfp-0.5.0 PREFIX=`pwd` check
grep: /H5Zzfp_plugin.h: No such file or directory
cd src; /Applications/Xcode.app/Contents/Developer/usr/bin/make HDF5_HOME=/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall ZFP_HOME=/Users/miller86/silo/zfp-0.5.0  PREFIX=/Users/miller86/tmp/H5Z-ZFP-1.1.1-pre1 all
make[1]: Nothing to be done for `all'.
cd src; /Applications/Xcode.app/Contents/Developer/usr/bin/make HDF5_HOME=/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall ZFP_HOME=/Users/miller86/silo/zfp-0.5.0  PREFIX=/Users/miller86/tmp/H5Z-ZFP-1.1.1-pre1 install
install -d /Users/miller86/tmp/H5Z-ZFP-1.1.1-pre1/{plugin,include,lib}
install plugin/libh5zzfp.so /Users/miller86/tmp/H5Z-ZFP-1.1.1-pre1/plugin
install libh5zzfp.a /Users/miller86/tmp/H5Z-ZFP-1.1.1-pre1/lib
install -m 644 H5Zzfp.h H5Zzfp_lib.h H5Zzfp_plugin.h H5Zzfp_version.h H5Zzfp_props.h /Users/miller86/tmp/H5Z-ZFP-1.1.1-pre1/include
cd test; /Applications/Xcode.app/Contents/Developer/usr/bin/make HDF5_HOME=/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall ZFP_HOME=/Users/miller86/silo/zfp-0.5.0  PREFIX=/Users/miller86/tmp/H5Z-ZFP-1.1.1-pre1 check
gcc -c test_write.c -o test_write_lib.o -fPIC -DZFP_HAS_CFP=0 -DZFP_LIB_VERSION=0x050 -I../src -I/Users/miller86/silo/zfp-0.5.0/inc -I/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall/include
cd ../src; /Applications/Xcode.app/Contents/Developer/usr/bin/make HDF5_HOME=/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall ZFP_HOME=/Users/miller86/silo/zfp-0.5.0  PREFIX=/Users/miller86/tmp/H5Z-ZFP-1.1.1-pre1 lib
make[2]: Nothing to be done for `lib'.
gcc test_write_lib.o -o test_write_lib -fPIC -Wl,-rpath,/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall/lib -Wl,-rpath,/Users/miller86/silo/zfp-0.5.0/lib -L../src -L/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall/lib -L/Users/miller86/silo/zfp-0.5.0/lib -lh5zzfp -lhdf5 -lzfp -lm 
gcc -c test_read.c -o test_read_lib.o -fPIC -I../src -I/Users/miller86/silo/zfp-0.5.0/inc -I/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall/include
gcc test_read_lib.o -o test_read_lib -fPIC -Wl,-rpath,/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall/lib -Wl,-rpath,/Users/miller86/silo/zfp-0.5.0/lib -L../src -L/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall/lib -L/Users/miller86/silo/zfp-0.5.0/lib -lh5zzfp -lhdf5 -lzfp -lm 

./test_write_lib rate=32 zfpmode=1 .......................... [PASSED] 
./test_write_lib rate=16 zfpmode=1 .......................... [PASSED] 
./test_write_lib rate=8 zfpmode=1 ........................... [PASSED] 
Library rate tests .......................................... [PASSED] 

./test_write_lib acc=0.1 zfpmode=3 .......................... [PASSED] 
./test_write_lib acc=0.01 zfpmode=3 ......................... [PASSED] 
./test_write_lib acc=0.001 zfpmode=3 ........................ [PASSED] 
./test_write_lib acc=0.0001 zfpmode=3 ....................... [PASSED] 
Library accuracy tests ...................................... [PASSED] 

./test_write_lib prec=12 zfpmode=2 .......................... [PASSED] 
./test_write_lib prec=16 zfpmode=2 .......................... [PASSED] 
./test_write_lib prec=20 zfpmode=2 .......................... [PASSED] 
./test_write_lib prec=24 zfpmode=2 .......................... [PASSED] 
Library precision tests ..................................... [PASSED] 
gcc -c test_error.c -o test_error.o -fPIC -DZFP_LIB_VERSION=0x050 -I../src -I/Users/miller86/silo/zfp-0.5.0/inc -I/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall/include
gcc test_error.o -o test_error -fPIC -Wl,-rpath,/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall/lib -Wl,-rpath,/Users/miller86/silo/zfp-0.5.0/lib -L../src -L/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall/lib -L/Users/miller86/silo/zfp-0.5.0/lib -lh5zzfp -lhdf5 -lzfp -lm 

./test_error ................................................ [PASSED] 
cd ../src; /Applications/Xcode.app/Contents/Developer/usr/bin/make HDF5_HOME=/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall ZFP_HOME=/Users/miller86/silo/zfp-0.5.0  PREFIX=/Users/miller86/tmp/H5Z-ZFP-1.1.1-pre1 plugin
make[2]: Nothing to be done for `plugin'.
gcc -c test_write.c -o test_write_plugin.o -DH5Z_ZFP_USE_PLUGIN -DZFP_LIB_VERSION=0x050 -fPIC -I../src -I/Users/miller86/silo/zfp-0.5.0/inc -I/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall/include
gcc test_write_plugin.o -o test_write_plugin -fPIC -Wl,-rpath,/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall/lib -Wl,-rpath,/Users/miller86/silo/zfp-0.5.0/lib -L/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall/lib -L/Users/miller86/silo/zfp-0.5.0/lib -lhdf5 -lzfp -lm 

./test_write_plugin zfpmode=1 rate=32 ....................... [PASSED] 
./test_write_plugin zfpmode=1 rate=16 ....................... [PASSED] 
./test_write_plugin zfpmode=1 rate=8 ........................ [PASSED] 
./test_write_plugin zfpmode=1 rate=4 ........................ [PASSED] 
Plugin rate tests ........................................... [PASSED] 

./test_write_plugin zfpmode=3 acc=0.1 ....................... [PASSED] 
./test_write_plugin zfpmode=3 acc=0.01 ...................... [PASSED] 
./test_write_plugin zfpmode=3 acc=0.001 ..................... [PASSED] 
./test_write_plugin zfpmode=3 acc=0.0001 .................... [PASSED] 
Plugin accuracy tests ....................................... [PASSED] 

./test_write_plugin zfpmode=2 prec=12 ....................... [PASSED] 
./test_write_plugin zfpmode=2 prec=16 ....................... [PASSED] 
./test_write_plugin zfpmode=2 prec=20 ....................... [PASSED] 
./test_write_plugin zfpmode=2 prec=24 ....................... [PASSED] 
Plugin precision tests ...................................... [PASSED] 
If using HDF5-1.8, make sure you have patched repack
gcc -c print_h5repack_farg.c -o print_h5repack_farg.o -fPIC -I../src -I/Users/miller86/silo/hdf5-1.14.0/build_serial/myinstall/include
gcc print_h5repack_farg.o -o print_h5repack_farg 

h5repack -n     -f UD=32013,0,4,3,0,3539053052,1062232653 ... [PASSED] 

h5diff -v -d 0.00001 test_zfp_le.h5 test_zfp_be.h5 compressed compressed ........ [PASSED] 

h5dump bigendian.h5 ............................................................. [PASSED] 

./test_read_lib ifile=test_zfp_030040.h5 max_reldiff=0.025 .. [PASSED] 
./test_read_lib ifile=test_zfp_030235.h5 max_reldiff=0.025 .. [PASSED] 
./test_read_lib ifile=test_zfp_110050.h5 max_reldiff=0.025 .. [PASSED] 
./test_read_lib ifile=test_zfp_110xxx.h5 max_reldiff=0.025 .. [PASSED] 
Version compatibility tests ................................. [PASSED] 

./test_write_lib zfpmode=3 doint=1 .......................... [SKIPPED]

./test_write_lib highd=1 .................................... [PASSED] 

./test_write_lib sixd=1 ..................................... [SKIPPED]

./test_write_lib zfparr=1 rate=10 ........................... [SKIPPED]
markcmiller86 commented 1 year ago

It looks like in order to use cmake for H5Z-ZFP, the ZFP library also has to have been installed using cmake. No matter what I've tried, I am unable to get H5Z-ZFP cmake logic to find and use a vanilla gmake installed ZFP library. However, I can do that for HDF5 library.

brtnfld commented 1 year ago

Find_package for zfp may need: ZFP_DIR or ZFP_ROOT (I always get confused which one). Maybe that is the issue. Something we should add in GitHub actions.

markcmiller86 commented 1 year ago

I've tried setting both ZFP_DIR and ZFP_ROOT and I've looked at debug output from find_package. For example, ...

quartz770{miller86}541: cmake --debug-find-pkg=ZFP -DCMAKE_PREFIX_PATH:PATH=/g/g11/miller86/silo/zfp-1.0.0 -DZFP_DIR:STRING=/g/g11/miller86/silo/zfp-1.0.0 ../H5Z-ZFP-1.1.1-pre1
Running with debug output on for the 'find' commands for package(s) ZFP.
-- HDF5 FORTRAN_INTERFACE ON
-- HDF5 find comps: C;shared;Fortran
-- Could NOT find HDF5 (missing: HDF5_DIR)
-- HDF5 C libs:0 static: and shared:
-- HDF5 Fortran libs: static: and shared:
-- HDF5- found: INC=/usr/lib64/gfortran/modules;/usr/include TOOLS=/usr/bin
-- HDF5 Fortran libs: include: and shared:
-- HDF5 link libs: /usr/lib64/libhdf5_fortran.so;/usr/lib64/libhdf5.so;/usr/lib64/libsz.so;/usr/lib64/libz.so;/usr/lib64/libdl.so;/usr/lib64/libm.so Includes: /usr/lib64/gfortran/modules;/usr/include
CMake Error at CMakeLists.txt:73 (find_package):
  Could not find a package configuration file provided by "ZFP" with any of
  the following names:

    ZFPConfig.cmake
    zfp-config.cmake

  Add the installation prefix of "ZFP" to CMAKE_PREFIX_PATH or set "ZFP_DIR"
  to a directory containing one of the above files.  If "ZFP" provides a
  separate development package or SDK, be sure it has been installed.

CMake Debug Log at CMakeLists.txt:73 (find_package):
    /g/g11/miller86/silo/zfp-1.0.0/ZFPConfig.cmake
    /g/g11/miller86/silo/zfp-1.0.0/zfp-config.cmake

  <PackageName>_ROOT CMake variable [CMAKE_FIND_USE_PACKAGE_ROOT_PATH].

    /g/g11/miller86/silo/zfp-1.0.0

  CMAKE_PREFIX_PATH variable [CMAKE_FIND_USE_CMAKE_PATH].

    none

  CMAKE_FRAMEWORK_PATH and CMAKE_APPBUNDLE_PATH variables
  [CMAKE_FIND_USE_CMAKE_PATH].

    none

  Env variable ZFP_DIR [CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH].

    none

  CMAKE_PREFIX_PATH env variable [CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH].

    none

  CMAKE_FRAMEWORK_PATH and CMAKE_APPBUNDLE_PATH env variables
  [CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH].

    none

  Paths specified by the find_package HINTS option.

    none

  Standard system environment variables
  [CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH].

    /usr/global/tools/jobutils
    /usr/tce/packages/mvapich2/mvapich2-2.3.7-intel-classic-2021.6.0-magic
    /usr/tce/packages/intel-classic/intel-classic-2021.6.0-magic
    /usr/tce
    /usr/lib64/ccache
    /usr/local
    /usr
    /g/g11/miller86
    /g/g11/miller86/tmp/H5Z-ZFP-1.1.1-pre1-build

  CMake User Package Registry [CMAKE_FIND_USE_PACKAGE_REGISTRY].

    none

  CMake variables defined in the Platform file
  [CMAKE_FIND_USE_CMAKE_SYSTEM_PATH].

    /
    /usr/tce/backend/installations/linux-rhel8-x86_64/gcc-10.3.1/cmake-3.23.1-mdfqd2l7c33zg7xcvqizwz25vqmp7jfw
    /usr/X11R6
    /usr/pkg
    /opt

  CMake System Package Registry
  [CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY].

    none

  Paths specified by the find_package PATHS option.

    none

  find_package considered the following locations for ZFP's Config module:

    /g/g11/miller86/silo/zfp-1.0.0/ZFPConfig.cmake
    /g/g11/miller86/silo/zfp-1.0.0/zfp-config.cmake
    /usr/global/tools/jobutils/ZFPConfig.cmake
    /usr/global/tools/jobutils/zfp-config.cmake
    /usr/tce/packages/mvapich2/mvapich2-2.3.7-intel-classic-2021.6.0-magic/ZFPConfig.cmake
    /usr/tce/packages/mvapich2/mvapich2-2.3.7-intel-classic-2021.6.0-magic/zfp-config.cmake
    /usr/tce/packages/intel-classic/intel-classic-2021.6.0-magic/ZFPConfig.cmake
    /usr/tce/packages/intel-classic/intel-classic-2021.6.0-magic/zfp-config.cmake
    /usr/tce/ZFPConfig.cmake
    /usr/tce/zfp-config.cmake
    /usr/lib64/ccache/ZFPConfig.cmake
    /usr/lib64/ccache/zfp-config.cmake
    /usr/local/ZFPConfig.cmake
    /usr/local/zfp-config.cmake
    /usr/ZFPConfig.cmake
    /usr/zfp-config.cmake
    /g/g11/miller86/ZFPConfig.cmake
    /g/g11/miller86/zfp-config.cmake
    /g/g11/miller86/tmp/H5Z-ZFP-1.1.1-pre1-build/ZFPConfig.cmake
    /g/g11/miller86/tmp/H5Z-ZFP-1.1.1-pre1-build/zfp-config.cmake
    /ZFPConfig.cmake
    /zfp-config.cmake
    /usr/tce/backend/installations/linux-rhel8-x86_64/gcc-10.3.1/cmake-3.23.1-mdfqd2l7c33zg7xcvqizwz25vqmp7jfw/ZFPConfig.cmake
    /usr/tce/backend/installations/linux-rhel8-x86_64/gcc-10.3.1/cmake-3.23.1-mdfqd2l7c33zg7xcvqizwz25vqmp7jfw/zfp-config.cmake
    /opt/ZFPConfig.cmake
    /opt/zfp-config.cmake

  The file was not found.

-- Configuring incomplete, errors occurred!

In all cases, it appears to be looking for *.cmake files. I think we may need to write our own FindZFP.cmake which first tries generic thing and then tries using ZFP_ROOT if specified. Does that make sense?

markcmiller86 commented 1 year ago

I've looked at Cmake docs to ask if there is a way to inform cmake's find_package to search for the package more generally than just looking for *.cmake files or if there is a set of variables that once defined overrrides whatever find_package would have done. I am currently unable to find that info but I believe its possible. I'll ask ChatGPT ;)

lindstro commented 1 year ago

I'm certainly no CMake expert, but zfp-config.cmake gets generated when you make install. You might have to build and install zfp rather than just point CMake at the zfp repo.

brtnfld commented 1 year ago

Or we can file an issue with CMake. We need to do the same for HDF5's find_package. We had to have additional steps for CGNS to find autotools build of HDF5. The find_package should handle both cases.

markcmiller86 commented 1 year ago

I'm certainly no CMake expert, but zfp-config.cmake gets generated when you make install.

@lindstro does that happen for a vanilla gmake install also or just for cmake .; make install?

markcmiller86 commented 1 year ago

Well, maybe ZFP's install target is available only for a cmake build. A vanilla gmake build doesn't appear to have an install target anyways. At least ZFP-1.0.0

lindstro commented 1 year ago

@lindstro does that happen for a vanilla gmake install also or just for cmake .; make install?

The latter only, I'm afraid. I got started on support for gmake install, but this is tricky to get right.

markcmiller86 commented 1 year ago

Ok, what I think I'll do for this release regarding CMake builds is to recommend it as preferred method of building but then also just document that ZFP must also have been configured and installed using CMake.

jwsblokland commented 1 year ago

@markcmiller86 I am a bit late to the whole discussion. When I introduced the CMake build system for H5Z-ZFP, I assumed that ZFP has been build with CMake. Apparently, I did not make this assumption explicit in the documentation.

As far as I know within the CMake community there is a tendency that, for example, a library should provide its own CMake config file instead of having a centralized Find<library>.cmake file. What I do not fully realize this may be a problem if the library is provided by the OS itself. Having said this all, I am not saying you should not try to ask CMake to provide such a Find<library>.cmake but you may experience some push back from them.

markcmiller86 commented 1 year ago

toss4 / gmake / ZFP-0.5.0 (gmake) / HDF5-1.14.0 (autotools) (quartz.llnl.gov)

./test_write_lib rate=32 zfpmode=1 .......................... [PASSED] 
./test_write_lib rate=16 zfpmode=1 .......................... [PASSED] 
./test_write_lib rate=8 zfpmode=1 ........................... [PASSED] 
Library rate tests .......................................... [PASSED] 

./test_write_lib acc=0.1 zfpmode=3 .......................... [PASSED] 
./test_write_lib acc=0.01 zfpmode=3 ......................... [PASSED] 
./test_write_lib acc=0.001 zfpmode=3 ........................ [PASSED] 
./test_write_lib acc=0.0001 zfpmode=3 ....................... [PASSED] 
Library accuracy tests ...................................... [PASSED] 

./test_write_lib prec=12 zfpmode=2 .......................... [PASSED] 
./test_write_lib prec=16 zfpmode=2 .......................... [PASSED] 
./test_write_lib prec=20 zfpmode=2 .......................... [PASSED] 
./test_write_lib prec=24 zfpmode=2 .......................... [PASSED] 
Library precision tests ..................................... [PASSED] 
cc test_error.o -o test_error -fPIC -Wl,-rpath,/usr/gapps/silo/hdf5/1.14.0/toss_4_x86_64_ib_gcc.10.3.1/lib -Wl,-rpath,/g/g11/miller86/tmp/H5Z-ZFP-1.1.1-pre1/../zfp-0.5.0.surface/lib -L../src -L/usr/gapps/silo/hdf5/1.14.0/toss_4_x86_64_ib_gcc.10.3.1/lib -L/g/g11/miller86/tmp/H5Z-ZFP-1.1.1-pre1/../zfp-0.5.0.surface/lib -lh5zzfp -lhdf5 -lzfp -lm 

./test_error ................................................ [PASSED] 
cd ../src; make HDF5_HOME=/usr/gapps/silo/hdf5/1.14.0/toss_4_x86_64_ib_gcc.10.3.1 ZFP_HOME=/g/g11/miller86/tmp/H5Z-ZFP-1.1.1-pre1/../zfp-0.5.0.surface  PREFIX=/g/g11/miller86/tmp/H5Z-ZFP-1.1.1-pre1/install plugin
make[2]: Entering directory '/g/g11/miller86/tmp/H5Z-ZFP-1.1.1-pre1/src'
make[2]: Nothing to be done for 'plugin'.
make[2]: Leaving directory '/g/g11/miller86/tmp/H5Z-ZFP-1.1.1-pre1/src'
cc test_write_plugin.o -o test_write_plugin -fPIC -Wl,-rpath,/usr/gapps/silo/hdf5/1.14.0/toss_4_x86_64_ib_gcc.10.3.1/lib -Wl,-rpath,/g/g11/miller86/tmp/H5Z-ZFP-1.1.1-pre1/../zfp-0.5.0.surface/lib -L/usr/gapps/silo/hdf5/1.14.0/toss_4_x86_64_ib_gcc.10.3.1/lib -L/g/g11/miller86/tmp/H5Z-ZFP-1.1.1-pre1/../zfp-0.5.0.surface/lib -lhdf5 -lzfp -lm 

./test_write_plugin zfpmode=1 rate=32 ....................... [PASSED] 
./test_write_plugin zfpmode=1 rate=16 ....................... [PASSED] 
./test_write_plugin zfpmode=1 rate=8 ........................ [PASSED] 
./test_write_plugin zfpmode=1 rate=4 ........................ [PASSED] 
Plugin rate tests ........................................... [PASSED] 

./test_write_plugin zfpmode=3 acc=0.1 ....................... [PASSED] 
./test_write_plugin zfpmode=3 acc=0.01 ...................... [PASSED] 
./test_write_plugin zfpmode=3 acc=0.001 ..................... [PASSED] 
./test_write_plugin zfpmode=3 acc=0.0001 .................... [PASSED] 
Plugin accuracy tests ....................................... [PASSED] 

./test_write_plugin zfpmode=2 prec=12 ....................... [PASSED] 
./test_write_plugin zfpmode=2 prec=16 ....................... [PASSED] 
./test_write_plugin zfpmode=2 prec=20 ....................... [PASSED] 
./test_write_plugin zfpmode=2 prec=24 ....................... [PASSED] 
Plugin precision tests ...................................... [PASSED] 
If using HDF5-1.8, make sure you have patched repack

h5repack -n     -f UD=32013,0,4,3,0,3539053052,1062232653 ... [PASSED] 

h5diff -v -d 0.00001 test_zfp_le.h5 test_zfp_be.h5 compressed compressed ........ [PASSED] 

h5dump bigendian.h5 ............................................................. [PASSED] 

./test_read_lib ifile=test_zfp_030040.h5 max_reldiff=0.025 .. [PASSED] 
./test_read_lib ifile=test_zfp_030235.h5 max_reldiff=0.025 .. [PASSED] 
./test_read_lib ifile=test_zfp_110050.h5 max_reldiff=0.025 .. [PASSED] 
./test_read_lib ifile=test_zfp_110xxx.h5 max_reldiff=0.025 .. [PASSED] 
Version compatibility tests ................................. [PASSED] 

./test_write_lib zfpmode=3 doint=1 .......................... [SKIPPED]

./test_write_lib highd=1 .................................... [PASSED] 

./test_write_lib sixd=1 ..................................... [SKIPPED]

./test_write_lib zfparr=1 rate=10 ........................... [SKIPPED]
markcmiller86 commented 1 year ago
  • I am getting a presistent error message grep: /H5Zzfp_plugin.h: No such file or directory from config.cmake

I have fixed this too (PR coming)