HDFGroup / hdf5

Official HDF5® Library Repository
https://www.hdfgroup.org/
Other
625 stars 256 forks source link

Build faills on 32-bit Fedora Rawhide #4916

Closed opoplawski closed 1 month ago

opoplawski commented 1 month ago

Describe the bug

make[2]: Entering directory '/builddir/build/BUILD/hdf5-1.14.5-build/hdf5-hdf5_1.14.5/build/fortran/test'
+ gfortran -I. -I../../../fortran/test -I../../src -I../../fortran/src -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 -fdiagnostics-urls=never -fno-diagnostics-color -s -Wno-unused-dummy-argument -Wno-array-temporaries -O3 -I../../fortran/src -I../../fortran/src -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m32 -march=i686 -mtune=generic -msse2 -mfpmath=sse -mstackrealign -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib/gfortran/modules -c -o tH5T_F03.o ../../../fortran/test/tH5T_F03.F90
../../../fortran/test/tH5T_F03.F90:3009:17:
 3009 |         IF(.NOT.(orig_data(i,j).EQ.orig_data(i,j))) CYCLE  ! skip IF value is NaN
      |                 1
Warning: Equality comparison for REAL(4) at (1) [-Wcompare-reals]
../../../fortran/test/tH5T_F03.F90:1184:81:
 1184 |        CALL verify("h5kind_to_type",dset_data_r31(i),data_out_r31(i),total_error)
      |                                                                                 1
Error: There is no specific subroutine for the generic ‘verify’ at (1)
make[2]: *** [Makefile:1560: tH5T_F03.o] Error 1
make[2]: Leaving directory '/builddir/build/BUILD/hdf5-1.14.5-build/hdf5-hdf5_1.14.5/build/fortran/test'
make[1]: *** [Makefile:919: all-recursive] Error 1

Expected behavior Compiles without error

Platform (please complete the following information)

Additional context I'm trying to update the Fedora hdf5 package to the 1.14.X branch. Do you still support 32-bit platforms? If not, it may just be time for us to drop supporting it as well.

opoplawski commented 1 month ago

The 32-bit tf_gen.F90 file is missing the kind_16 interfaces.

It seems that something is of between what H5_test_buildiface.F90 thinks is available and what the test thinks is available.
On the 32-bit build I see this is set:

#define H5_PAC_FC_MAX_REAL_PRECISION 33

Which is going to activate using SELECTED_REAL_KIND(31)

opoplawski commented 1 month ago
#define H5_H5CONFIG_F_RKIND INTEGER, DIMENSION(1:num_rkinds) :: rkind = (/4,8,10/)
opoplawski commented 1 month ago
checking size of double... 8
checking size of long double... 12
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 gcc 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 compile and run a test program which converts _Float16 to other types with casts (without CFLAGS)... no
checking if _Float16 support is enabled... no
checking if Fortran interface enabled... yes
checking if __float128 exists... yes
checking for quadmath.h... yes
checking maximum decimal precision for C... 33 (__float128)
checking if __float128 will be used in the Fortran wrappers... yes
configure: WARNING:
           Fortran REAL(KIND=16) is 16 Bytes, but no corresponding C float type exists of that size
                     !!! Fortran interfaces will not be generated for REAL(KIND=16) !!!

checking for Fortran interoperable KINDS with C... {4,8,10}
brtnfld commented 1 month ago

What does SELECTED_REAL_KIND(31) and return? I'm assuming it is -1

What does checking for Fortran REALs maximum decimal precision... report? It should most likely be 18. Can you include the whole configure output?

opoplawski commented 1 month ago
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
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... i686-redhat-linux-gnu
checking host system type... i686-redhat-linux-gnu
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 i686-redhat-linux-gnu... no
checking for config i686-redhat-linux-gnu... no
checking for config redhat-linux-gnu... no
checking for config redhat-linux-gnu... no
checking for config i686-linux-gnu... no
checking for config i686-linux-gnu... no
checking for config i686-redhat... no
checking for config linux-gnu... found
compiler 'gcc' is GNU gcc-14.2.1
compiler 'gfortran' is GNU gfortran-14.2.1
compiler 'g++' is GNU g++-14.2.1
checking for config ../config/site-specific/host-b247866a62ea4b5d91e11760ce231f31... no
checking for clang sanitizer checks... checking build mode... production
checking for i686-redhat-linux-gcc... gcc
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 gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking whether gcc understands -c and -o together... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of gcc... none
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... 4
checking size of long long... 8
checking size of float... 4
checking size of double... 8
checking size of long double... 12
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 gcc 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 compile and run a test program which converts _Float16 to other types with casts (without CFLAGS)... no
checking if _Float16 support is enabled... no
checking if Fortran interface enabled... yes
checking if __float128 exists... yes
checking for quadmath.h... yes
checking maximum decimal precision for C... 33 (__float128)
checking if __float128 will be used in the Fortran wrappers... yes
checking for i686-redhat-linux-gfortran... gfortran
checking whether the compiler supports GNU Fortran... yes
checking whether gfortran accepts -g... yes
checking for Fortran flag to compile .f90 files... none
checking for i686-redhat-linux-gfortran... (cached) gfortran
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/lib/gcc/i686-redhat-linux/14 -L/usr/lib/gcc/i686-redhat-linux/14/../../.. -lgfortran -lm -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
4,8,10,16
33
4
4
checking for Number of Fortran INTEGER KINDs... 4
checking for Fortran INTEGER KINDs... {1,2,4,8}
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
4,8,10,16
33
4
4
4
1,2,4,8
checking for Number of Fortran INTEGER KINDs... 4
checking for Fortran INTEGER KINDs... {1,2,4,8}
checking for Fortran REAL KINDs... {4,8,10,16}
checking for Fortran REALs maximum decimal precision... 33
checking for Number of Fortran LOGICAL KINDs... 4
checking for Fortran LOGICAL KINDs... {1,2,4,8}
checking sizeof of available INTEGER KINDs... {1,2,4,8}
checking sizeof of available REAL KINDs... {4,8,12,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
configure: WARNING:
           Fortran REAL(KIND=16) is 16 Bytes, but no corresponding C float type exists of that size
                     !!! Fortran interfaces will not be generated for REAL(KIND=16) !!!

checking for Fortran interoperable KINDS with C... {4,8,10}
checking whether the compiler supports GNU C++... yes
checking whether g++ accepts -g... yes
checking for g++ option to enable C++11 features... none needed
checking dependency style of g++... none
checking how to run the C++ preprocessor... g++ -E
checking if c++ interface enabled... yes
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 gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
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... 1572864
checking how to convert i686-redhat-linux-gnu file names to i686-redhat-linux-gnu format... func_convert_file_noop
checking how to convert i686-redhat-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for i686-redhat-linux-file... no
checking for file... file
checking for i686-redhat-linux-objdump... no
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for i686-redhat-linux-dlltool... no
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for i686-redhat-linux-ar... (cached) ar
checking for archiver @FILE support... @
checking for i686-redhat-linux-strip... no
checking for strip... strip
checking for i686-redhat-linux-ranlib... no
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /usr/bin/dd
checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
checking for i686-redhat-linux-mt... no
checking for mt... no
checking if : is a manifest tool... no
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for shl_load... no
checking for shl_load in -ldld... no
checking for dlopen... 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 how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... no
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
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... -fPIC
checking if gfortran PIC flag -fPIC 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 (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
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... yes
checking for dirent.h... yes
checking for features.h... yes
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... 64
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... 4
checking size of uint_fast16_t... 4
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... 4
checking size of size_t... 4
checking size of ssize_t... 4
checking size of time_t... 4
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... yes
checking for SZ_BufftoBuffCompress in -lsz... yes
checking for szlib encoder... yes
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 if compiler supports the __builtin_expect() extension... yes
checking enable build diagnostics... no
checking enable debugging symbols... no
checking enable asserts... no
checking enable developer warnings... no
checking whether showing all compiler warnings is enabled... no
checking profiling... no
checking optimization level... high
checking enable file locking... best-effort
checking for internal debug output... none
checking for API tracing... no
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... yes
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/lib/hdf5/plugin
checking whether exception handling functions are 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... no
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
        SUMMARY OF THE HDF5 CONFIGURATION
        =================================
General Information:
-------------------
                   HDF5 Version: 1.14.5
                  Configured on: Thu Oct  3 07:50:32 MDT 2024
                  Configured by: mockbuild@b247866a62ea4b5d91e11760ce231f31
                    Host system: i686-redhat-linux-gnu
              Uname information: Linux b247866a62ea4b5d91e11760ce231f31 6.12.0-0.rc1.17.fc42.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Sep 30 14:15:34 UTC 2024 i686 GNU/Linux
                       Byte sex: little-endian
             Installation point: /usr
Compiling Options:
------------------
                     Build Mode: production
              Debugging Symbols: no
                        Asserts: no
                      Profiling: no
             Optimization Level: high
Linking Options:
----------------
                      Libraries: static, shared
  Statically Linked Executables:
                        LDFLAGS: -Wl,-z,relro -Wl,--as-needed  -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes  -fPIC -Wl,-z,now -Wl,--as-needed
                     H5_LDFLAGS:
                     AM_LDFLAGS:
                Extra libraries: -lsz -lz -ldl -lm
                       Archiver: ar
                       AR_FLAGS: cr
                         Ranlib: ranlib
Languages:
----------
                              C: yes
                     C Compiler: /usr/lib/ccache/gcc ( gcc (GCC) 14.2.1 20240912 )
                       CPPFLAGS:
                    H5_CPPFLAGS: -D_GNU_SOURCE -D_POSIX_C_SOURCE=200809L   -DNDEBUG -UH5_DEBUG_API -I/builddir/build/BUILD/hdf5-1.14.5-build/hdf5-hdf5_1.14.5/src/H5FDsubfiling
                    AM_CPPFLAGS: -D_FILE_OFFSET_BITS=64
                        C Flags: -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m32 -march=i686 -mtune=generic -msse2 -mfpmath=sse -mstackrealign -fasynchronous-unwind-tables -fstack-clash-protection
                     H5 C Flags:  -std=c99  -Wall -Wcast-qual -Wconversion -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Winvalid-pch -Wmissing-include-dirs -Wshadow -Wundef -Wwrite-strings -pedantic -Wno-c++-compat -Wlarger-than=2560 -Wlogical-op -Wframe-larger-than=16384 -Wpacked-bitfield-compat -Wsync-nand -Wno-unsuffixed-float-constants -Wdouble-promotion -Wtrampolines -Wstack-usage=8192 -Wmaybe-uninitialized -Wdate-time -Warray-bounds=2 -Wc99-c11-compat -Wduplicated-cond -Whsa -Wnormalized -Wnull-dereference -Wunused-const-variable -Walloca -Walloc-zero -Wduplicated-branches -Wformat-overflow=2 -Wformat-truncation=1 -Wattribute-alias -Wshift-overflow=2 -Wattribute-alias=2 -Wmissing-profile -Wc11-c2x-compat -fstdarg-opt -fdiagnostics-urls=never -fno-diagnostics-color -s  -Wbad-function-cast -Wcast-align -Wformat -Wimplicit-function-declaration -Wint-to-pointer-cast -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpacked -Wpointer-sign -Wpointer-to-int-cast -Wredundant-decls -Wstrict-prototypes -Wswitch -Wunused-but-set-variable -Wunused-variable -Wunused-function -Wunused-parameter -Wincompatible-pointer-types -Wint-conversion -Wshadow -Wrestrict -Wcast-function-type -Wmaybe-uninitialized -Wcast-align=strict -Wno-aggregate-return -Wno-inline -Wno-missing-format-attribute -Wno-missing-noreturn -Wno-overlength-strings -Wno-jump-misses-init -Wstrict-overflow=2 -Wno-suggest-attribute=const -Wno-suggest-attribute=noreturn -Wno-suggest-attribute=pure -Wno-suggest-attribute=format -Wno-suggest-attribute=cold -Wno-suggest-attribute=malloc -O3
                     AM C Flags:
               Shared C Library: yes
               Static C Library: yes
                        Fortran: yes
               Fortran Compiler: /usr/bin/gfortran ( GNU Fortran (GCC) 14.2.1 20240912 )
                  Fortran Flags: -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m32 -march=i686 -mtune=generic -msse2 -mfpmath=sse -mstackrealign -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib/gfortran/modules
               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  -fdiagnostics-urls=never -fno-diagnostics-color -s  -Wno-unused-dummy-argument -Wno-array-temporaries -O3
               AM Fortran Flags:
         Shared Fortran Library: yes
         Static Fortran Library: yes
               Module Directory: ${includedir}
                            C++: yes
                   C++ Compiler: /usr/lib/ccache/g++ ( g++ (GCC) 14.2.1 20240912 )
                      C++ Flags: -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m32 -march=i686 -mtune=generic -msse2 -mfpmath=sse -mstackrealign -fasynchronous-unwind-tables -fstack-clash-protection
                   H5 C++ Flags:   -std=c++11 -Wall -Wcast-qual -Wconversion -Wctor-dtor-privacy -Weffc++ -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Winvalid-pch -Wmissing-include-dirs -Wnon-virtual-dtor -Wold-style-cast -Woverloaded-virtual -Wreorder -Wshadow -Wsign-promo -Wundef -Wwrite-strings -pedantic -Wlarger-than=2560 -Wlogical-op -Wframe-larger-than=16384 -Wpacked-bitfield-compat -Wsync-nand -Wdouble-promotion -Wtrampolines -Wstack-usage=8192 -Wmaybe-uninitialized -Wdate-time -Wopenmp-simd -Warray-bounds=2 -Wduplicated-cond -Whsa -Wnormalized -Wnull-dereference -Wunused-const-variable -Walloca -Walloc-zero -Wduplicated-branches -Wformat-overflow=2 -Wformat-truncation=1 -Wattribute-alias -Wshift-overflow=2 -Wattribute-alias=2 -Wmissing-profile -Wno-deprecated-copy -fstdarg-opt -fdiagnostics-urls=never -fno-diagnostics-color -s  -Wcast-align -Wmissing-declarations -Wpacked -Wredundant-decls -Wswitch -Wunused-but-set-variable -Wunused-function -Wunused-variable -Wunused-parameter -Wshadow -O3
                   AM C++ Flags:
             Shared C++ Library: yes
             Static C++ Library: yes
                           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),szip(encoder)
                  _Float16 support: no
                     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: none
                       API tracing: no
              Using memory checker: no
                  Use file locking: best-effort
         Strict file format checks: no
      Optimization instrumentation: no
opoplawski commented 1 month ago

I'm not sure why there seems to be duplicates of the Fortran integer and real checks. We also seem to end up with duplicates in conftest.c at some point. From config.log:

conftest.c:58:9: warning: "H5CONFIG_F_NUM_RKIND" redefined
   58 | #define H5CONFIG_F_NUM_RKIND INTEGER, PARAMETER :: num_rkinds = 3
      |         ^~~~~~~~~~~~~~~~~~~~
conftest.c:44:9: note: this is the location of the previous definition
   44 | #define H5CONFIG_F_NUM_RKIND INTEGER, PARAMETER :: num_rkinds = 4
      |         ^~~~~~~~~~~~~~~~~~~~
conftest.c:59:9: warning: "H5CONFIG_F_RKIND" redefined
   59 | #define H5CONFIG_F_RKIND INTEGER, DIMENSION(1:num_rkinds) :: rkind = (/4,8,10/)
      |         ^~~~~~~~~~~~~~~~
conftest.c:46:9: note: this is the location of the previous definition
   46 | #define H5CONFIG_F_RKIND INTEGER, DIMENSION(1:num_rkinds) :: rkind = (/4,8,10,16/)
      |         ^~~~~~~~~~~~~~~~

config.log

opoplawski commented 1 month ago

As near as I can tell it returns 16:

[mockbuild@25f7163aea824069bd3043cfedd58cc1 ~]$ cat realkind.f90
program realkind
integer :: real_kind_31 = SELECTED_REAL_KIND(31)
print*,real_kind_31
end
[mockbuild@25f7163aea824069bd3043cfedd58cc1 ~]$ gfortran  -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m32 -march=i686 -mtune=generic -msse2 -mfpmath=sse -mstackrealign -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib/gfortran/modules  -Wl,-z,relro -Wl,--as-needed  -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes  -fPIC -Wl,-z,now -Wl,--as-needed  realkind.f90
f951: Warning: -D_FORTIFY_SOURCE not defined
f951: Warning: -D_GLIBCXX_ASSERTIONS not defined
[mockbuild@25f7163aea824069bd3043cfedd58cc1 ~]$ ./a.out
          16
opoplawski commented 1 month ago

I think #4649 introduced an error - it got rid of the AC_CHECK_SIZEOF([__float128]) call but configure.ac still uses $ac_cv_sizeof___float128 which is now unset.