Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
jefflee-icesat2 opened this issue Apr 2, 2024 · 7 comments
Open
Assignees
Labels
Component - Fortran Fortran wrappers Priority - 0. Blocker ⛔ This MUST be merged for the release to happen Type - Bug Please report security issues to help@hdfgroup.org instead of creating an issue on GitHub
Milestone

Comments

@jefflee-icesat2
Copy link

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
#1: H5.c line 270 in H5_init_library(): unable to initialize VOL interface
major: Function entry/exit
minor: Unable to initialize object
#2: H5VLint.c line 200 in H5VL_init_phase2(): unable to initialize datatype interface
major: Virtual Object Layer
minor: Unable to initialize object
#3: H5T.c line 849 in H5T_init(): unable to initialize floating-point types
major: Datatype
minor: Unable to initialize object
#4: H5Tinit_float.c line 582 in H5T__init_native_float_types(): failed to detect byte order
major: Datatype
minor: Unable to initialize object
#5: 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)

  • HDF5 version: hdf5_1_14-9f7b987
  • OS and version: MacOS Sonoma 14.3.1
  • Compiler and version: gfortran; gcc version 13.2.0
  • Build system (e.g. CMake, Autotools) and version: ./configure
  • Any configure options you specified: /configure --prefix="${BASEDIR}" --enable-fortran "${EXT_ZLIB}"
  • MPI library and version (parallel HDF5): N/A

Additional context
Add any other context about the problem here.

@jhendersonHDF
Copy link
Collaborator

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

@jefflee-icesat2
Copy link
Author

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
Copy link
Collaborator

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
Copy link
Author

With your hint, I got good test results!!

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

@vchoi-hdfgroup vchoi-hdfgroup added the Component - Fortran Fortran wrappers label Apr 3, 2024
@jhendersonHDF
Copy link
Collaborator

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.

@derobins derobins added Priority - 0. Blocker ⛔ This MUST be merged for the release to happen Type - Bug Please report security issues to help@hdfgroup.org instead of creating an issue on GitHub labels Apr 4, 2024
@derobins derobins added this to the 1.14.4 milestone Apr 4, 2024
@jhendersonHDF jhendersonHDF self-assigned this Apr 8, 2024
@derobins derobins modified the milestones: 1.14.4, 1.14.5 Apr 18, 2024
@ryandesign
Copy link
Contributor

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
Copy link
Collaborator

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component - Fortran Fortran wrappers Priority - 0. Blocker ⛔ This MUST be merged for the release to happen Type - Bug Please report security issues to help@hdfgroup.org instead of creating an issue on GitHub
Projects
None yet
Development

No branches or pull requests

5 participants