LLNL / Silo

Mesh and Field I/O Library and Scientific Database
https://silo.llnl.gov
Other
25 stars 22 forks source link

Silo does not compile with gcc 14 #375

Open diehlpk opened 2 months ago

diehlpk commented 2 months ago

Hi,

I am doing something crazy and compiling silo with the latest GCC 14, however, neither silo 4.10.2 nor 4.11 was compiled.

I tried many different hdf5 versions but not any worked.

Currently, I get his error here

==> Error: ProcessError: Command exited with status 2:
    'make' '-j16' 'V=1'

6 errors found in build log:
     479    Making all in hdf5_drv
     480    make[4]: Entering directory '/tmp/pdiehl/spack-stage/spack-stage-silo-4.10.2-bsd-jpdmdymsxivkr5iwg7bhp5iodcxgac44/spack-src/src/hdf5_drv'
     481    /bin/sh ../../libtool --tag=CC   --mode=compile /lustre/projects/diehl-group/spack-patrick/opt/spack/linux-rocky8-a64fx/gcc-14.0.1/openmp
            i-4.1.6-54thohzixhn5bhrjnjtauklectt7fad3/bin/mpicc -DHAVE_CONFIG_H -I. -I../..  -I./../silo -I./../silo   -I/lustre/projects/diehl-group/
            spack-patrick/opt/spack/linux-rocky8-a64fx/gcc-14.0.1/hdf5-1.10.11-qgof3f366bcf7wzcz4uecipajx6wo3so/include  -I/lustre/projects/diehl-gro
            up/spack-patrick/opt/spack/linux-rocky8-a64fx/gcc-14.0.1/zlib-ng-2.1.4-skj6tb3pvagziuayx4mhedptvyvqis7l/include  -fPIC -D_LARGEFILE_SOURC
            E -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wdeclaration-after-statement -MT silo_hdf5.lo -MD -MP -MF .deps/silo_hdf5.Tpo -c -o silo_
            hdf5.lo silo_hdf5.c
     482    /bin/sh ../../libtool --tag=CC   --mode=compile /lustre/projects/diehl-group/spack-patrick/opt/spack/linux-rocky8-a64fx/gcc-14.0.1/openmp
            i-4.1.6-54thohzixhn5bhrjnjtauklectt7fad3/bin/mpicc -DHAVE_CONFIG_H -I. -I../..  -I./../silo -I./../silo   -I/lustre/projects/diehl-group/
            spack-patrick/opt/spack/linux-rocky8-a64fx/gcc-14.0.1/hdf5-1.10.11-qgof3f366bcf7wzcz4uecipajx6wo3so/include  -I/lustre/projects/diehl-gro
            up/spack-patrick/opt/spack/linux-rocky8-a64fx/gcc-14.0.1/zlib-ng-2.1.4-skj6tb3pvagziuayx4mhedptvyvqis7l/include  -fPIC -D_LARGEFILE_SOURC
            E -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wdeclaration-after-statement -MT H5FDsilo.lo -MD -MP -MF .deps/H5FDsilo.Tpo -c -o H5FDsil
            o.lo H5FDsilo.c
     483    libtool: compile:  /lustre/projects/diehl-group/spack-patrick/opt/spack/linux-rocky8-a64fx/gcc-14.0.1/openmpi-4.1.6-54thohzixhn5bhrjnjtau
            klectt7fad3/bin/mpicc -DHAVE_CONFIG_H -I. -I../.. -I./../silo -I./../silo -I/lustre/projects/diehl-group/spack-patrick/opt/spack/linux-ro
            cky8-a64fx/gcc-14.0.1/hdf5-1.10.11-qgof3f366bcf7wzcz4uecipajx6wo3so/include -I/lustre/projects/diehl-group/spack-patrick/opt/spack/linux-
            rocky8-a64fx/gcc-14.0.1/zlib-ng-2.1.4-skj6tb3pvagziuayx4mhedptvyvqis7l/include -fPIC -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OF
            FSET_BITS=64 -Wdeclaration-after-statement -MT H5FDsilo.lo -MD -MP -MF .deps/H5FDsilo.Tpo -c H5FDsilo.c  -fPIC -DPIC -o .libs/H5FDsilo.o
     484    libtool: compile:  /lustre/projects/diehl-group/spack-patrick/opt/spack/linux-rocky8-a64fx/gcc-14.0.1/openmpi-4.1.6-54thohzixhn5bhrjnjtau
            klectt7fad3/bin/mpicc -DHAVE_CONFIG_H -I. -I../.. -I./../silo -I./../silo -I/lustre/projects/diehl-group/spack-patrick/opt/spack/linux-ro
            cky8-a64fx/gcc-14.0.1/hdf5-1.10.11-qgof3f366bcf7wzcz4uecipajx6wo3so/include -I/lustre/projects/diehl-group/spack-patrick/opt/spack/linux-
            rocky8-a64fx/gcc-14.0.1/zlib-ng-2.1.4-skj6tb3pvagziuayx4mhedptvyvqis7l/include -fPIC -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OF
            FSET_BITS=64 -Wdeclaration-after-statement -MT silo_hdf5.lo -MD -MP -MF .deps/silo_hdf5.Tpo -c silo_hdf5.c  -fPIC -DPIC -o .libs/silo_hdf
            5.o
  >> 485    H5FDsilo.c:531:5: error: initialization of 'haddr_t (*)(const H5FD_t *, H5FD_mem_t)' {aka 'long unsigned int (*)(const H5FD_t *, enum H5F
            _mem_t)'} from incompatible pointer type 'haddr_t (*)(const H5FD_t *)' {aka 'long unsigned int (*)(const H5FD_t *)'} [-Wincompatible-poin
            ter-types]
     486      531 |     H5FD_silo_get_eof,                          /*get_eof               */
     487          |     ^~~~~~~~~~~~~~~~~
     488    H5FDsilo.c:531:5: note: (near initialization for 'H5FD_silo_g.get_eof')
  >> 489    make[4]: *** [Makefile:386: H5FDsilo.lo] Error 1
     490    make[4]: *** Waiting for unfinished jobs....
     491    silo_hdf5.c: In function 'db_hdf5_process_file_options':
     492    silo_hdf5.c:4667:2: warning: #warning REMOVED WINDOWS SPECIFIC CHECK [-Wcpp]
     493     4667 | #warning REMOVED WINDOWS SPECIFIC CHECK
     494          |  ^~~~~~~
     495    silo_hdf5.c:4799:2: warning: #warning REMOVED WINDOWS SPECIFIC CHECK [-Wcpp]
     496     4799 | #warning REMOVED WINDOWS SPECIFIC CHECK
     497          |  ^~~~~~~
     498    libtool: compile:  /lustre/projects/diehl-group/spack-patrick/opt/spack/linux-rocky8-a64fx/gcc-14.0.1/openmpi-4.1.6-54thohzixhn5bhrjnjtau
            klectt7fad3/bin/mpicc -DHAVE_CONFIG_H -I. -I../.. -I./../silo -I./../silo -I/lustre/projects/diehl-group/spack-patrick/opt/spack/linux-ro
            cky8-a64fx/gcc-14.0.1/hdf5-1.10.11-qgof3f366bcf7wzcz4uecipajx6wo3so/include -I/lustre/projects/diehl-group/spack-patrick/opt/spack/linux-
            rocky8-a64fx/gcc-14.0.1/zlib-ng-2.1.4-skj6tb3pvagziuayx4mhedptvyvqis7l/include -fPIC -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OF
            FSET_BITS=64 -Wdeclaration-after-statement -MT silo_hdf5.lo -MD -MP -MF .deps/silo_hdf5.Tpo -c silo_hdf5.c -o silo_hdf5.o >/dev/null 2>&1
     499    mv -f .deps/silo_hdf5.Tpo .deps/silo_hdf5.Plo
     500    make[4]: Leaving directory '/tmp/pdiehl/spack-stage/spack-stage-silo-4.10.2-bsd-jpdmdymsxivkr5iwg7bhp5iodcxgac44/spack-src/src/hdf5_drv'
  >> 501    make[3]: *** [Makefile:559: all-recursive] Error 1
     502    make[3]: Leaving directory '/tmp/pdiehl/spack-stage/spack-stage-silo-4.10.2-bsd-jpdmdymsxivkr5iwg7bhp5iodcxgac44/spack-src/src'
  >> 503    make[2]: *** [Makefile:442: all] Error 2
     504    make[2]: Leaving directory '/tmp/pdiehl/spack-stage/spack-stage-silo-4.10.2-bsd-jpdmdymsxivkr5iwg7bhp5iodcxgac44/spack-src/src'
  >> 505    make[1]: *** [Makefile:437: all-recursive] Error 1
     506    make[1]: Leaving directory '/tmp/pdiehl/spack-stage/spack-stage-silo-4.10.2-bsd-jpdmdymsxivkr5iwg7bhp5iodcxgac44/spack-src'
  >> 507    make: *** [Makefile:366: all] Error 2

See build log for details:
  /tmp/pdiehl/spack-stage/spack-stage-silo-4.10.2-bsd-jpdmdymsxivkr5iwg7bhp5iodcxgac44/spack-build-out.txt
diehlpk commented 2 months ago

Another error for silo 4.11 and hdf5 1.12

==> Error: ProcessError: Command exited with status 2:
    'make' '-j16' 'V=1'

6 errors found in build log:
     642    In file included from silo_hdf5.c:74:
     643    silo_hdf5_private.h:110:2: warning: #warning REMOVE db_hdf5_CpListedObjects [-Wcpp]
     644      110 | #warning REMOVE db_hdf5_CpListedObjects
     645          |  ^~~~~~~
     646    In file included from silo_hdf5_private.h:67:
     647    silo_hdf5.c: In function 'db_hdf5_get_obj_dsnames':
  >> 648    silo_hdf5.c:1813:45: error: passing argument 1 of '_db_safe_strdup' makes pointer from integer without a cast [-Wint-conversion]
     649     1813 |             (*dsnames)[i] = strdup(m.MEMNAME[i]);                \
     650          |                                    ~~~~~~~~~^~~
     651          |                                             |
     652          |                                             char
     653    ./../silo/silo_private.h:939:35: note: in definition of macro 'strdup'
     654      939 | #define strdup(s) _db_safe_strdup(s)

     ...

     761          |  ^~~~~~~
     762    silo_hdf5.c:14353:2: warning: #warning IS THIS TAKEN CARE OF ELSEWHERE [-Wcpp]
     763    14353 | #warning IS THIS TAKEN CARE OF ELSEWHERE
     764          |  ^~~~~~~
     765    libtool: compile:  /lustre/projects/diehl-group/spack-patrick/opt/spack/linux-rocky8-a64fx/gcc-14.0.1/openmpi-4.1.6-54thohzixhn5bhrjnjtau
            klectt7fad3/bin/mpicc -DHAVE_CONFIG_H -I. -I../.. -I./../silo -I./../silo -DH5_HAVE_FILTER_ZFP -DH5Z_ZFP_AS_LIB -DAS_SILO_BUILTIN -I./../
            zfp-0.5.5/include -I/lustre/projects/diehl-group/spack-patrick/opt/spack/linux-rocky8-a64fx/gcc-14.0.1/hdf5-1.12.2-lccqvfrrwxo4uefv5qj2mr
            gpoasxryi2/include -I/lustre/projects/diehl-group/spack-patrick/opt/spack/linux-rocky8-a64fx/gcc-14.0.1/zlib-ng-2.1.4-skj6tb3pvagziuayx4m
            hedptvyvqis7l/include -fPIC -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wdeclaration-after-statement -MT H5FDsilo.l
            o -MD -MP -MF .deps/H5FDsilo.Tpo -c H5FDsilo.c -o H5FDsilo.o >/dev/null 2>&1
     766    mv -f .deps/H5Zzfp.Tpo .deps/H5Zzfp.Plo
  >> 767    make[4]: *** [Makefile:505: silo_hdf5.lo] Error 1
     768    make[4]: *** Waiting for unfinished jobs....
     769    mv -f .deps/H5FDsilo.Tpo .deps/H5FDsilo.Plo
     770    make[4]: Leaving directory '/tmp/pdiehl/spack-stage/spack-stage-silo-4.11-bsd-zvaxr57vebg4n2sgr55j7h5jqmvehntf/spack-src/src/hdf5_drv'
  >> 771    make[3]: *** [Makefile:687: all-recursive] Error 1
     772    make[3]: Leaving directory '/tmp/pdiehl/spack-stage/spack-stage-silo-4.11-bsd-zvaxr57vebg4n2sgr55j7h5jqmvehntf/spack-src/src'
  >> 773    make[2]: *** [Makefile:565: all] Error 2
     774    make[2]: Leaving directory '/tmp/pdiehl/spack-stage/spack-stage-silo-4.11-bsd-zvaxr57vebg4n2sgr55j7h5jqmvehntf/spack-src/src'
  >> 775    make[1]: *** [Makefile:545: all-recursive] Error 1
     776    make[1]: Leaving directory '/tmp/pdiehl/spack-stage/spack-stage-silo-4.11-bsd-zvaxr57vebg4n2sgr55j7h5jqmvehntf/spack-src'
  >> 777    make: *** [Makefile:477: all] Error 2

See build log for details:
  /tmp/pdiehl/spack-stage/spack-stage-silo-4.11-bsd-zvaxr57vebg4n2sgr55j7h5jqmvehntf/spack-build-out.txt
diehlpk commented 2 months ago

refs #371

markcmiller86 commented 2 months ago

I believe this is fixed on both main and the 4.11 release candidate branch, 4.11RC

markcmiller86 commented 2 months ago

See commits 5dc160c7ae489b8181874dccf7ce3b8089c128f5, 3103c01189b76ea6406e5b964748b0ba7e5d4a08 and/or 3ee25a86faaf4197c9fcf7a509720ec82a22dfff.

Also, the particular error you pasted is less about gcc and more about HDF5 changes in data strutures used for filters.

VictorEijkhout commented 1 week ago

I believe this is fixed on both main and the 4.11 release candidate branch, 4.11RC

The strdup error still appears in a fresh clone I made just now.

However it does seem to be fixed in 4.11RC.

That's weird. Is main behind the actual release?