Silo does not compile with gcc 14
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
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
refs #371
I believe this is fixed on both main and the 4.11 release candidate branch, 4.11RC
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.
I believe this is fixed on both
mainand 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?
be29ddf is not present on main. @markcmiller86 is the main branch intended to be trunk?
@henryleberre...ok, it is now (#408)
Yes, main is intended to be like an old subversion trunk.
It looks like a handful of changes on the release candidate branch have yet to make it on to trunk. I will make an effort to get those cherry-picked over this coming week. Sorry for inconvenience.