wrf-model / WRF

The official repository for the Weather Research and Forecasting (WRF) model
Other
1.24k stars 677 forks source link

GNU compilers now error on -Wimplicit-function-declaration -Wimplicit-int, WRF fails to build with GCC 14 #2043

Closed dslarm closed 4 months ago

dslarm commented 4 months ago

Describe the bug The new release of GCC - 14.1.0 fails to compile WRF 4.5.1.

To Reproduce Steps to reproduce the behavior:

  1. GCC 14.1
  2. Using Spack: spack install wrf%gcc@14.1.0 build_type=dm+sm +netcdf_classic

Expected behavior Compilation success..

~360 errors are reported. Previous GCC versions would have issued a warning instead.

registry.c:135:3: error: implicit declaration of function 'gen_io_boilerplate' [-Wimplicit-function-declaration]
registry.c:137:3: error: implicit declaration of function 'init_parser' [-Wimplicit-function-declaration]
registry.c:217:8: error: implicit declaration of function 'pre_parse'; did you mean 'reg_parse'? [-Wimplicit-function-declaration]
registry.c:237:3: error: implicit declaration of function 'check_dimspecs' [-Wimplicit-function-declaration]
registry.c:247:3: error: implicit declaration of function 'gen_actual_args_new'; did you mean 'gen_actual_args'? [-Wimplicit-function-declaration]
registry.c:249:3: error: implicit declaration of function 'gen_dummy_args_new'; did you mean 'gen_dummy_args'? [-Wimplicit-function-declaration]
registry.c:251:3: error: implicit declaration of function 'gen_dummy_decls_new'; did you mean 'gen_dummy_decls'? [-Wimplicit-function-declaration]
registry.c:253:3: error: implicit declaration of function 'gen_namelist_statements'; did you mean 'gen_namelist_defines'? [-Wimplicit-function-declaration]
registry.c:263:3: error: implicit declaration of function 'gen_nest_interp'; did you mean 'gen_nest_interp1'? [-Wimplicit-function-declaration]
registry.c:264:3: error: implicit declaration of function 'gen_nest_v_interp'; did you mean 'gen_nest_interp1'? [-Wimplicit-function-declaration]
registry.c:266:3: error: implicit declaration of function 'gen_streams'; did you mean 'gen_swaps'? [-Wimplicit-function-declaration]
registry.c:269:3: error: implicit declaration of function 'gen_comms' [-Wimplicit-function-declaration]
...

This could be fixed by adding those flags (-Wimplicit...) to the stanza - or making edits through the code base.

weiwangncar commented 4 months ago

@dslarm Please give 4.5.2 a try. If not successful, please report it on the Forum: https://forum.mmm.ucar.edu/.