Closed byrnHDF closed 1 year ago
Are these changes for ALL platforms or primarily specific to Windows?
Do the changes force a newer version of CMake requirement than what is currently specified there, which I think is 3.9?
Should I go test on Linux as well?
All platforms and I hope I finally fixed the legacy tools. CMake requirement doesn't need changed - I am running on the latest. We should test with an older CMake though. Maybe add a CI with a 3.9 version. I will investigate.
Ok, I've tested this (CMake) on my macOS and on LLNL's quartz (toss4, gcc-10.3.1) and make test
passes. I am having occasional issues with the fortran interface which I've disabled in H5Z-ZFP to get around. Today, I dug into it a bit further. I think LLNL's quartz system gcc is maybe not configured quite right. This link was failing...
gfortran -O2 -g -DNDEBUG CMakeFiles/test_rw_fortran.dir/test_rw_fortran.F90.o -o ../bin/test_rw_fortran -L/usr/lib/gcc/x86_64-redhat-linux/8 -Wl,-rpath,/g/g11/miller86/silo/zfp-1.0.0/build/myinstall/lib64 ../src/lib/libh5zzfp.a /g/g11/miller86/silo/zfp-1.0.0/build/myinstall/lib64/libzfp.so.1.0.0 /usr/lib64/libhdf5_fortran.so /usr/lib64/libhdf5.so /usr/lib64/libsz.so /usr/lib64/libz.so /usr/lib64/libdl.so -lm -lgfortran
/usr/tce/packages/gcc/gcc-10.3.1/bin/ld: CMakeFiles/test_rw_fortran.dir/test_rw_fortran.F90.o: in function `gen_data_':
/g/g11/miller86/tmp/H5Z-ZFP/test/test_rw_fortran.F90:432: undefined reference to `_gfortran_os_error_at'
/usr/tce/packages/gcc/gcc-10.3.1/bin/ld: CMakeFiles/test_rw_fortran.dir/test_rw_fortran.F90.o: in function `MAIN__':
/g/g11/miller86/tmp/H5Z-ZFP/test/test_rw_fortran.F90:348: undefined reference to `_gfortran_os_error_at'
/usr/tce/packages/gcc/gcc-10.3.1/bin/ld: /g/g11/miller86/tmp/H5Z-ZFP/test/test_rw_fortran.F90:324: undefined reference to `_gfortran_os_error_at'
/usr/tce/packages/gcc/gcc-10.3.1/bin/ld: /g/g11/miller86/tmp/H5Z-ZFP/test/test_rw_fortran.F90:336: undefined reference to `_gfortran_os_error_at'
/usr/tce/packages/gcc/gcc-10.3.1/bin/ld: /g/g11/miller86/tmp/H5Z-ZFP/test/test_rw_fortran.F90:360: undefined reference to `_gfortran_os_error_at'
collect2: error: ld returned 1 exit status
quartz1154{miller86}854: gcc --version
gcc (GCC) 10.3.1 20210422 (Red Hat 10.3.1-1)
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
quartz1154{miller86}855: gfortran --version
GNU Fortran (GCC) 10.3.1 20210422 (Red Hat 10.3.1-1)
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
But, removing the -L/usr/lib/gcc/x86_64-redhat-linux/8
argument fixed it. So, somehow our CMake logic decided that was needed but it was getting in the way.
gfortran -O2 -g -DNDEBUG CMakeFiles/test_rw_fortran.dir/test_rw_fortran.F90.o -o ../bin/test_rw_fortran -Wl,-rpath,/g/g11/miller86/silo/zfp-1.0.0/build/myinstall/lib64 ../src/lib/libh5zzfp.a /g/g11/miller86/silo/zfp-1.0.0/build/myinstall/lib64/libzfp.so.1.0.0 /usr/lib64/libhdf5_fortran.so /usr/lib64/libhdf5.so /usr/lib64/libsz.so /usr/lib64/libz.so /usr/lib64/libdl.so -lm
worked.
All tests pass including h5repack
tests.
I will merge this shortly.
Thanks @byrnHDF
Some variables were not defined correctly Added depends to tests because of execution order issues