HDFGroup / hdf5

Official HDF5® Library Repository
Other
543 stars 236 forks source link

Fortran library initialization fails in 1_14-9f7b987 (gfortran) #4310

Open jefflee-icesat2 opened 3 months ago

jefflee-icesat2 commented 3 months ago

Describe the bug Library initialization fails.

Compilation flags: ../../../../base_libs/bin/h5fc -fPIC -cpp -DHDF5_1_10 -O2 -g -Wall -Wno-surprising -fcheck=all -fimplicit-none -fbacktrace -ffpe-trap=zero,overflow,invalid -I. -I../../../modules -I../../../../common_libs/modules -I../../../../base_libs/include -c utest_h5_param.f90 -o utest_h5_param.o

HDF5-DIAG: Error detected in HDF5 (1.14.4-9f7b987) thread 0:

000: H5.c line 1025 in H5open(): library initialization failed

major: Function entry/exit
minor: Unable to initialize object

001: H5.c line 270 in H5_init_library(): unable to initialize VOL interface

major: Function entry/exit
minor: Unable to initialize object

002: H5VLint.c line 200 in H5VL_init_phase2(): unable to initialize datatype interface

major: Virtual Object Layer
minor: Unable to initialize object

003: H5T.c line 849 in H5T_init(): unable to initialize floating-point types

major: Datatype
minor: Unable to initialize object

004: H5Tinit_float.c line 582 in H5T__init_native_float_types(): failed to detect byte order

major: Datatype
minor: Unable to initialize object

005: H5Tinit_float.c line 308 in H5T__fix_order(): failed to detect byte order

major: Datatype
minor: Unable to initialize object

Expected behavior Library initialization does not fail.

Platform (please complete the following information)

Additional context Add any other context about the problem here.

jhendersonHDF commented 3 months ago

Hi @jefflee-icesat2, could you upload your config.log here or somewhere accessible if GitHub won't let you?

jefflee-icesat2 commented 3 months ago

configure: WARNING: you should use --build, --host, --target checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a race-free mkdir -p... ./bin/install-sh -c -d checking for gawk... no checking for mawk... no checking for nawk... no checking for awk... awk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking whether make supports nested variables... (cached) yes checking whether to enable maintainer-specific portions of Makefiles... no checking build system type... x86_64-apple-darwin23.4.0 checking host system type... x86_64-apple-darwin23.4.0 checking shell variables initial values... done checking if basename works... yes checking if xargs works... yes checking for cached host... none checking enable warnings as errors... no checking for config x86_64-apple-darwin23.4.0... no checking for config x86_64-apple-darwin23.4.0... no checking for config apple-darwin23.4.0... no checking for config apple-darwin23.4.0... no checking for config x86_64-darwin23.4.0... no checking for config x86_64-darwin23.4.0... no checking for config x86_64-apple... no checking for config darwin23.4.0... no checking for config darwin23.4.0... no checking for config apple... found compiler 'clang' is clang-15.0.0 compiler 'gfortran' is GNU gfortran-13.2.0 compiler 'clang++' is clang-15.0.0 checking for config ./config/site-specific/host-gs610wfathom.ndc.nasa.gov... no checking for config ./config/site-specific/host-ndc.nasa.gov... no checking for config ./config/site-specific/host-nasa.gov... no checking for config ./config/site-specific/host-gov... no checking for clang sanitizer checks... none checking build mode... debug checking for gcc... clang checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether the compiler supports GNU C... yes checking whether clang accepts -g... yes checking for clang option to enable C11 features... none needed checking whether clang understands -c and -o together... yes checking whether make supports the include directive... yes (GNU style) checking dependency style of clang... gcc3 checking if unsupported combinations of configure options are allowed... no checking for stdio.h... yes checking for stdlib.h... yes checking for string.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for strings.h... yes checking for sys/stat.h... yes checking for sys/types.h... yes checking for unistd.h... yes checking for off_t... yes checking for ssize_t... yes checking whether byte ordering is bigendian... no checking size of char... 1 checking size of short... 2 checking size of int... 4 checking size of unsigned... 4 checking size of long... 8 checking size of long long... 8 checking size of float... 4 checking size of double... 8 checking size of long double... 16 checking if non-standard feature support is enabled... yes checking if _Float16 support is enabled... yes configure: checking if _Float16 support is available checking size of _Float16... 2 checking for clang options needed to detect all undeclared functions... none needed checking whether FLT16_EPSILON is declared... yes checking whether FLT16_MIN is declared... yes checking whether FLT16_MAX is declared... yes checking whether FLT16_MIN_10_EXP is declared... yes checking whether FLT16_MAX_10_EXP is declared... yes checking whether FLT16_MANT_DIG is declared... yes checking if compiler can correctly compile and run a test program which converts _Float16 to other types with casts... yes checking if compiler can correctly convert long double values to _Float16... no configure: Conversions from long double to _Float16 appear to be incorrect. These will be emulated through a soft conversion function. checking for fabsf16... no checking if _Float16 support is enabled... yes checking if Fortran interface enabled... yes checking size of float128... 0 checking size of _Quad... 0 checking for quadmath.h... no checking maximum decimal precision for C... 21 checking whether the compiler supports GNU Fortran... yes checking whether gfortran accepts -g... yes checking for Fortran flag to compile .f90 files... none checking whether the compiler supports GNU Fortran... (cached) yes checking whether gfortran accepts -g... (cached) yes checking what gfortran does with modules... MODULE.mod checking how gfortran finds modules... -I checking if Fortran compiler version compatible with Fortran 2003... yes checking if Fortran compiler supports allocatable character... yes checking how to get verbose linking output from gfortran... -v checking for Fortran libraries of gfortran... -L/usr/local/Cellar/gcc/13.2.0/bin/../lib/gcc/current/gcc/x86_64-apple-darwin22/13 -L/usr/local/Cellar/gcc/13.2.0/bin/../lib/gcc/current/gcc -L/usr/local/Cellar/gcc/13.2.0/bin/../lib/gcc/current/gcc/x86_64-apple-darwin22/13/../../.. -lgfortran -lquadmath checking for dummy main to link with Fortran libraries... none checking for Fortran name-mangling scheme... lower case, underscore, no extra underscore checking if Fortran compiler supports intrinsic SIZEOF... yes checking if Fortran compiler supports intrinsic C_SIZEOF... yes checking if Fortran compiler supports intrinsic STORAGE_SIZE... yes checking if Fortran compiler supports intrinsic module ISO_FORTRAN_ENV (F08)... yes 1,2,4,8,16 4,8,10,16 33 5 4 checking for Number of Fortran INTEGER KINDs... 5 checking for Fortran INTEGER KINDs... {1,2,4,8,16} checking for Fortran REAL KINDs... {4,8,10,16} checking for Fortran REALs maximum decimal precision... 33 checking sizeof of native KINDS... 1,2,4,8,16 4,8,10,16 33 5 4 5 1,2,4,8,16 checking for Number of Fortran INTEGER KINDs... 5 checking for Fortran INTEGER KINDs... {1,2,4,8,16} checking for Fortran REAL KINDs... {4,8,10,16} checking for Fortran REALs maximum decimal precision... 33 checking for Number of Fortran LOGICAL KINDs... 5 checking for Fortran LOGICAL KINDs... {1,2,4,8,16} checking sizeof of available INTEGER KINDs... {1,2,4,8,16} checking sizeof of available REAL KINDs... {4,8,16,16} checking if Fortran compiler supports intrinsic C_LONG_DOUBLE... yes checking if Fortran C_LONG_DOUBLE is different from C_DOUBLE... yes checking if Fortran C_BOOL is different from default LOGICAL... yes checking for Fortran interoperable KINDS with C... {4,8,10,16} checking whether the compiler supports GNU C++... yes checking whether clang++ accepts -g... yes checking for clang++ option to enable C++11 features... none needed checking dependency style of clang++... gcc3 checking how to run the C++ preprocessor... clang++ -E checking if c++ interface enabled... no checking if the high-level library is enabled... yes checking whether to use new references with dimension scales... no checking for ar... ar checking whether make sets $(MAKE)... (cached) yes checking for tr... /usr/bin/tr checking if srcdir= and time commands work together... yes checking if Java JNI interface enabled... no checking if shared Fortran libraries are supported... yes checking if building tests is disabled... yes checking if HDF5 testing intensity level is set... 3 checking if building tools is enabled... yes checking if the high-level GIF tools are enabled... no checking if building doxygen is enabled... no checking if doxygen warnings as errors is enabled... FAIL_ON_WARNINGS checking how to print strings... printf checking for a sed that does not truncate output... /usr/bin/sed checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for fgrep... /usr/bin/grep -F checking for ld used by clang... /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld checking if the linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) is GNU ld... no checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 786432 checking how to convert x86_64-apple-darwin23.4.0 file names to x86_64-apple-darwin23.4.0 format... func_convert_file_noop checking how to convert x86_64-apple-darwin23.4.0 file names to toolchain format... func_convert_file_noop checking for /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld option to reload object files... -r checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for archiver @FILE support... no checking for strip... strip checking for ranlib... ranlib checking command to parse /usr/bin/nm -B output from clang object... ok checking for sysroot... no checking for a working dd... /bin/dd checking how to truncate binary pipes... /bin/dd bs=4096 count=1 checking for mt... no checking if : is a manifest tool... no checking for dsymutil... dsymutil checking for nmedit... nmedit checking for lipo... lipo checking for otool... otool checking for otool64... no checking for -single_module linker flag... ld: warning: -single_module is obsolete no checking for -exported_symbols_list linker flag... yes checking for -force_load linker flag... yes checking for dlfcn.h... yes checking for objdir... .libs checking if clang supports -fno-rtti -fno-exceptions... yes checking for clang option to produce PIC... -fno-common -DPIC checking if clang PIC flag -fno-common -DPIC works... yes checking if clang static flag -static works... no checking if clang supports -c -o file.o... yes checking if clang supports -c -o file.o... (cached) yes checking whether the clang linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) supports shared libraries... yes checking dynamic linker characteristics... darwin23.4.0 dyld checking how to hardcode library paths into programs... immediate checking for dlopen in -ldl... yes checking whether a program can dlopen itself... yes checking whether a statically linked program can dlopen itself... yes checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking for gfortran option to produce PIC... -fno-common checking if gfortran PIC flag -fno-common works... yes checking if gfortran static flag -static works... no checking if gfortran supports -c -o file.o... yes checking if gfortran supports -c -o file.o... (cached) yes checking whether the gfortran linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) supports shared libraries... yes checking dynamic linker characteristics... darwin23.4.0 dyld checking how to hardcode library paths into programs... immediate checking if we should install only statically linked executables... no checking if -Wl,-rpath should be used to link shared libs in nondefault directories... yes checking for ceil in -lm... yes checking for dlopen in -ldl... (cached) yes checking for dirent.h... yes checking for features.h... no checking for pwd.h... yes checking for unistd.h... (cached) yes checking for sys/file.h... yes checking for sys/ioctl.h... yes checking for sys/resource.h... yes checking for sys/stat.h... (cached) yes checking for sys/time.h... yes checking for sys/types.h... (cached) yes checking for arpa/inet.h... yes checking for netdb.h... yes checking for netinet/in.h... yes checking for sys/socket.h... yes checking if libtool needs -no-undefined flag to build shared libraries... no checking for _FILE_OFFSET_BITS value needed for large files... no checking size of int8_t... 1 checking size of uint8_t... 1 checking size of int_least8_t... 1 checking size of uint_least8_t... 1 checking size of int_fast8_t... 1 checking size of uint_fast8_t... 1 checking size of int16_t... 2 checking size of uint16_t... 2 checking size of int_least16_t... 2 checking size of uint_least16_t... 2 checking size of int_fast16_t... 2 checking size of uint_fast16_t... 2 checking size of int32_t... 4 checking size of uint32_t... 4 checking size of int_least32_t... 4 checking size of uint_least32_t... 4 checking size of int_fast32_t... 4 checking size of uint_fast32_t... 4 checking size of int64_t... 8 checking size of uint64_t... 8 checking size of int_least64_t... 8 checking size of uint_least64_t... 8 checking size of int_fast64_t... 8 checking size of uint_fast64_t... 8 checking size of bool... 1 checking size of off_t... 8 checking size of ptrdiff_t... 8 checking size of size_t... 8 checking size of ssize_t... 8 checking size of time_t... 8 checking if dev_t is scalar... yes checking for zlib.h... yes checking for compress2 in -lz... yes checking for compress2... yes checking for szlib.h... no checking for thread safe support... no checking whether CLOCK_MONOTONIC is declared... yes checking for tm_gmtoff in struct tm... yes checking for global timezone variable... yes checking for st_blocks in struct stat... yes checking for _getvideoconfig... no checking for gettextinfo... no checking for GetConsoleScreenBufferInfo... no checking for _scrsize... no checking for ioctl... yes checking for struct videoconfig... no checking for struct text_info... no checking for TIOCGWINSZ... yes checking for TIOCGETD... yes checking for library containing clock_gettime... none required checking for asprintf... yes checking for clock_gettime... yes checking for fcntl... yes checking for flock... yes checking for fork... yes checking for gethostname... yes checking for getrusage... yes checking for gettimeofday... yes checking for rand_r... yes checking for random... yes checking for strcasestr... yes checking for strdup... yes checking for symlink... yes checking for tmpfile... yes checking for vasprintf... yes checking for waitpid... yes checking for alarm... yes checking for attribute__ extension... yes checking enable build diagnostics... no checking enable debugging symbols... yes checking enable asserts... yes checking enable developer warnings... no checking whether showing all compiler warnings is enabled... no checking profiling... no checking optimization level... debug checking enable file locking... best-effort checking for internal debug output... AC,B2,CX,D,F,MM,O,T,Z checking whether function stack tracking is enabled... no checking for API tracing... yes checking whether a memory checking tool will be used... no checking for parallel support files... skipped checking parallel tools... no checking if the map API (H5M) is enabled... no checking if the subfiling I/O virtual file driver (VFD) is enabled... no checking whether O_DIRECT is declared... no checking for posix_memalign... yes checking if the direct I/O virtual file driver (VFD) is enabled... no checking if the Mirror virtual file driver (VFD) is enabled... no checking if the Read-Only S3 virtual file driver (VFD) is enabled... no checking for libhdfs... suppressed checking for custom examples path definition... ${prefix}/share/hdf5_examples checking for custom plugin default path definition... /usr/local/hdf5/lib/plugin checking whether exception handling functions is checked during data conversions... yes checking whether data accuracy is guaranteed during data conversions... yes checking if the machine has window style path name... no checking if using special algorithm to convert long double to (unsigned) long values... no checking if using special algorithm to convert (unsigned) long to long double values... no checking if correctly converting long double to (unsigned) long long values... yes checking if correctly converting (unsigned) long long to long double values... yes checking if the system is IBM ppc64le and cannot correctly convert some long double values... no checking additional programs should be built... no checking if deprecated public symbols are available... yes checking which version of public symbols to use by default... v114 checking whether to perform strict file format checks... yes checking for pread... yes checking for pwrite... yes checking whether to use pread/pwrite instead of read/write in certain VFDs... yes checking whether to have library information embedded in the executables... yes configure: creating ./config.lt config.lt: creating libtool checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating doxygen/Doxyfile config.status: creating src/Makefile config.status: creating src/libhdf5.settings config.status: creating src/H5build_settings.c config.status: creating test/Makefile config.status: creating test/H5srcdir_str.h config.status: creating test/test_abort_fail.sh config.status: creating test/test_check_version.sh config.status: creating test/test_error.sh config.status: creating test/test_external_env.sh config.status: creating test/test_flush_refresh.sh config.status: creating test/test_libinfo.sh config.status: creating test/test_links_env.sh config.status: creating test/test_mirror.sh config.status: creating test/test_plugin.sh config.status: creating test/test_swmr.sh config.status: creating test/test_use_cases.sh config.status: creating test/test_vds_env.sh config.status: creating test/test_vds_swmr.sh config.status: creating testpar/Makefile config.status: creating testpar/testpflush.sh config.status: creating utils/Makefile config.status: creating utils/mirror_vfd/Makefile config.status: creating utils/test/Makefile config.status: creating utils/tools/Makefile config.status: creating utils/tools/h5dwalk/Makefile config.status: creating utils/tools/test/Makefile config.status: creating utils/tools/test/h5dwalk/Makefile config.status: creating utils/tools/test/h5dwalk/copy_demo_files.sh config.status: creating utils/tools/test/h5dwalk/testh5dwalk.sh config.status: creating tools/Makefile config.status: creating tools/lib/Makefile config.status: creating tools/libtest/Makefile config.status: creating tools/src/Makefile config.status: creating tools/src/h5dump/Makefile config.status: creating tools/src/h5import/Makefile config.status: creating tools/src/h5diff/Makefile config.status: creating tools/src/h5jam/Makefile config.status: creating tools/src/h5repack/Makefile config.status: creating tools/src/h5ls/Makefile config.status: creating tools/src/h5copy/Makefile config.status: creating tools/src/misc/Makefile config.status: creating tools/src/h5stat/Makefile config.status: creating tools/test/Makefile config.status: creating tools/test/h5dump/Makefile config.status: creating tools/test/h5dump/h5dump_plugin.sh config.status: creating tools/test/h5dump/testh5dump.sh config.status: creating tools/test/h5dump/testh5dumppbits.sh config.status: creating tools/test/h5dump/testh5dumpvds.sh config.status: creating tools/test/h5dump/testh5dumpxml.sh config.status: creating tools/test/h5ls/Makefile config.status: creating tools/test/h5ls/h5ls_plugin.sh config.status: creating tools/test/h5ls/testh5ls.sh config.status: creating tools/test/h5ls/testh5lsvds.sh config.status: creating tools/test/h5import/Makefile config.status: creating tools/test/h5import/h5importtestutil.sh config.status: creating tools/test/h5diff/Makefile config.status: creating tools/test/h5diff/h5diff_plugin.sh config.status: creating tools/test/h5diff/testh5diff.sh config.status: creating tools/test/h5diff/testph5diff.sh config.status: creating tools/src/h5format_convert/Makefile config.status: creating tools/test/h5format_convert/Makefile config.status: creating tools/test/h5format_convert/testh5fc.sh config.status: creating tools/test/h5jam/Makefile config.status: creating tools/test/h5jam/testh5jam.sh config.status: creating tools/test/h5repack/Makefile config.status: creating tools/test/h5repack/h5repack.sh config.status: creating tools/test/h5repack/h5repack_plugin.sh config.status: creating tools/test/h5copy/Makefile config.status: creating tools/test/h5copy/testh5copy.sh config.status: creating tools/test/misc/Makefile config.status: creating tools/test/misc/testh5clear.sh config.status: creating tools/test/misc/testh5mkgrp.sh config.status: creating tools/test/misc/testh5repart.sh config.status: creating tools/test/misc/vds/Makefile config.status: creating tools/test/h5stat/Makefile config.status: creating tools/test/h5stat/testh5stat.sh config.status: creating tools/src/h5perf/Makefile config.status: creating tools/test/perform/Makefile config.status: creating examples/Makefile config.status: creating examples/run-c-ex.sh config.status: creating examples/testh5cc.sh config.status: creating bin/h5cc config.status: creating bin/Makefile config.status: creating c++/Makefile config.status: creating c++/src/Makefile config.status: creating c++/src/h5c++ config.status: creating c++/test/Makefile config.status: creating c++/test/H5srcdir_str.h config.status: creating c++/examples/Makefile config.status: creating c++/examples/run-c++-ex.sh config.status: creating c++/examples/testh5c++.sh config.status: creating fortran/Makefile config.status: creating fortran/src/h5fc config.status: creating fortran/src/Makefile config.status: creating fortran/src/H5fort_type_defines.h config.status: creating fortran/test/Makefile config.status: creating fortran/testpar/Makefile config.status: creating fortran/examples/Makefile config.status: creating fortran/examples/run-fortran-ex.sh config.status: creating fortran/examples/testh5fc.sh config.status: creating java/Makefile config.status: creating java/src/Makefile config.status: creating java/src/jni/Makefile config.status: creating java/test/Makefile config.status: creating java/test/junit.sh config.status: creating hl/Makefile config.status: creating hl/src/Makefile config.status: creating hl/test/Makefile config.status: creating hl/test/H5srcdir_str.h config.status: creating hl/tools/Makefile config.status: creating hl/tools/gif2h5/Makefile config.status: creating hl/tools/gif2h5/h52giftest.sh config.status: creating hl/tools/h5watch/Makefile config.status: creating hl/tools/h5watch/testh5watch.sh config.status: creating hl/examples/Makefile config.status: creating hl/examples/run-hlc-ex.sh config.status: creating hl/c++/Makefile config.status: creating hl/c++/src/Makefile config.status: creating hl/c++/test/Makefile config.status: creating hl/c++/examples/Makefile config.status: creating hl/c++/examples/run-hlc++-ex.sh config.status: creating hl/fortran/Makefile config.status: creating hl/fortran/src/Makefile config.status: creating hl/fortran/test/Makefile config.status: creating hl/fortran/examples/Makefile config.status: creating hl/fortran/examples/run-hlfortran-ex.sh config.status: creating utils/subfiling_vfd/h5fuse config.status: creating src/H5config.h config.status: creating fortran/src/H5config_f.inc sed: 1: "fortran/src/H5config_f. ...": invalid command code f config.status: executing pubconf commands creating src/H5pubconf.h Post process src/libhdf5.settings Post process src/H5build_settings.c config.status: executing depfiles commands config.status: executing libtool commands SUMMARY OF THE HDF5 CONFIGURATION

General Information:

               HDF5 Version: 1.14.4-9f7b987
              Configured on: Tue Apr  2 13:15:05 EDT 2024
              Configured by: jelee1@gs610wfathom.ndc.nasa.gov
                Host system: x86_64-apple-darwin23.4.0
          Uname information: Darwin gs610wfathom.ndc.nasa.gov 23.4.0 Darwin Kernel Version 23.4.0: Fri Mar 15 00:11:05 PDT 2024; root:xnu-10063.101.17~1/RELEASE_X86_64 x86_64
                   Byte sex: little-endian
         Installation point: /Users/jelee1/Development/asas/base_libs

Compiling Options:

                 Build Mode: debug
          Debugging Symbols: yes
                    Asserts: yes
                  Profiling: no
         Optimization Level: debug

Linking Options:

                  Libraries: static, shared

Statically Linked Executables: LDFLAGS: H5_LDFLAGS: AM_LDFLAGS: Extra libraries: -lz -ldl -lm Archiver: ar AR_FLAGS: cr Ranlib: ranlib

Languages:

                          C: yes
                 C Compiler: /usr/bin/clang ( Apple clang version 15.0.0 )
                   CPPFLAGS: 
                H5_CPPFLAGS:   -UNDEBUG -DH5AC_DEBUG -DH5B2_DEBUG -DH5CX_DEBUG -DH5D_DEBUG -DH5F_DEBUG -DH5MM_DEBUG -DH5O_DEBUG -DH5T_DEBUG -DH5Z_DEBUG -DH5_DEBUG_API -I/Users/jelee1/Development/asas/base_libs/hdf5-1.14.4/src/H5FDsubfiling
                AM_CPPFLAGS: 
                    C Flags: 
                 H5 C Flags:  -std=c99  -Wall -Warray-bounds -Wcast-qual -Wconversion -Wdouble-promotion -Wextra -Wformat=2 -Wframe-larger-than=16384 -Wimplicit-fallthrough -Wnull-dereference -Wunused-const-variable -Wwrite-strings -Wpedantic -Wvolatile-register-var -Wno-c++-compat -ftrapv -fno-common  -g  -Wbad-function-cast -Wimplicit-function-declaration -Wincompatible-pointer-types -Wmissing-declarations -Wpacked -Wshadow -Wswitch -Wno-error=incompatible-pointer-types-discards-qualifiers -Wunused-function -Wunused-variable -Wunused-parameter -Wcast-align -Wformat -Wno-missing-noreturn -Og
                 AM C Flags: 
           Shared C Library: yes
           Static C Library: yes

                    Fortran: yes
           Fortran Compiler: /usr/local/bin/gfortran ( GNU Fortran (Homebrew GCC 13.2.0) 13.2.0)
              Fortran Flags: 
           H5 Fortran Flags:  -std=f2008  -Waliasing -Wall -Wcharacter-truncation -Wextra -Wimplicit-interface -Wsurprising -Wunderflow -pedantic -Wintrinsics-std -Wimplicit-procedure -Wreal-q-constant -Wfunction-elimination -Wrealloc-lhs -Wrealloc-lhs-all -Wno-c-binding-type -Winteger-division -Wfrontend-loop-interchange -fcheck=all -fdiagnostics-urls=never -fno-diagnostics-color -g  -Wno-unused-dummy-argument -Wno-array-temporaries -Og
           AM Fortran Flags: 
     Shared Fortran Library: yes
     Static Fortran Library: yes
           Module Directory: ${includedir}

                        C++: no

                       Java: no

Features:

                 Parallel HDF5: no

Parallel Filtered Dataset Writes: no Large Parallel I/O: no High-level library: yes Dimension scales w/ new references: no Build HDF5 Tests: yes Build HDF5 Tools: yes Build GIF Tools: no Threadsafety: no Default API mapping: v114 With deprecated public symbols: yes I/O filters (external): deflate(zlib) _Float16 support: yes Map (H5M) API: no Direct VFD: no Mirror VFD: no Subfiling VFD: no (Read-Only) S3 VFD: no (Read-Only) HDFS VFD: no Packages w/ extra debug output: AC,B2,CX,D,F,MM,O,T,Z API tracing: yes Using memory checker: no Function stack tracing: no Use file locking: best-effort Strict file format checks: yes Optimization instrumentation: no

jhendersonHDF commented 3 months ago

Thanks! Based on the error stack, you should be able to get a working build of the library if you pass "--disable-nonstandard-feature-float16" as a command-line option. I'll need to investigate why the library can't correctly detect the byte order for the _Float16 type in this case.

jefflee-icesat2 commented 3 months ago

With your hint, I got good test results!!

(And I jumped from 1.10.8 without changing a line of code!)

jhendersonHDF commented 3 months ago

With your hint, I got good test results!!

(And I jumped from 1.10.8 without changing a line of code!)

Glad to hear that worked for you! I'm still investigating to see what the issue is in particular for MacOS 14.

ryandesign commented 1 month ago

you should be able to get a working build of the library if you pass "--disable-nonstandard-feature-float16" as a command-line option

This breaks h5py: h5py/h5py#2419 (fixed at h5py/h5py#2422)

jhendersonHDF commented 1 month ago

you should be able to get a working build of the library if you pass "--disable-nonstandard-feature-float16" as a command-line option

This breaks h5py: h5py/h5py#2419 (fixed at h5py/h5py#2422)

Indeed, hopefully the h5py folks are able to get that fix merged soon. The problem mentioned in this GitHub issue appears to be an issue specifically when HDF5 is initialized from within a Fortran program. When compiling Fortran HDF5 programs with the h5fc wrapper, passing the -shlib option to link against the shared HDF5 libraries (instead of static) may work around the problem without needing to disable _Float16 support. We're still investigating to see where the issue comes from.