I don't see -Werror in my build recipe anywhere but Clang 19 errors rather than warns on these C99 violations, breaking the build.
Have you tried to build Elmer with recent versions of Clang? Is it expected to work?
[ 60%] Building C object fem/src/CMakeFiles/elmersolver.dir/umf4_f77wrapper.c.o
/home/jehammond/ELMER/elmerfem/fem/src/umf4_f77wrapper.c:127:5: error: call to undeclared function 'umfpack_di_defaults'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
127 | UMFPACK_defaults (Control) ;
| ^
/home/jehammond/ELMER/elmerfem/fem/src/umf4_f77wrapper.c:101:27: note: expanded from macro 'UMFPACK_defaults'
101 | #define UMFPACK_defaults umfpack_di_defaults
| ^
/home/jehammond/ELMER/elmerfem/fem/src/umf4_f77wrapper.c:143:12: error: call to undeclared function 'umfpack_di_symbolic'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
143 | (void) UMFPACK_symbolic (*m, *n, Ap, Ai, Ax, Symbolic, Control, Info) ;
| ^
/home/jehammond/ELMER/elmerfem/fem/src/umf4_f77wrapper.c:113:27: note: expanded from macro 'UMFPACK_symbolic'
113 | #define UMFPACK_symbolic umfpack_di_symbolic
| ^
/home/jehammond/ELMER/elmerfem/fem/src/umf4_f77wrapper.c:158:12: error: call to undeclared function 'umfpack_di_numeric'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
158 | (void) UMFPACK_numeric (Ap, Ai, Ax, *Symbolic, Numeric, Control, Info);
| ^
/home/jehammond/ELMER/elmerfem/fem/src/umf4_f77wrapper.c:104:27: note: expanded from macro 'UMFPACK_numeric'
104 | #define UMFPACK_numeric umfpack_di_numeric
| ^
/home/jehammond/ELMER/elmerfem/fem/src/umf4_f77wrapper.c:173:12: error: call to undeclared function 'umfpack_di_solve'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
173 | (void) UMFPACK_solve (*sys, Ap, Ai, Ax, x, b, *Numeric, Control, Info) ;
| ^
/home/jehammond/ELMER/elmerfem/fem/src/umf4_f77wrapper.c:112:25: note: expanded from macro 'UMFPACK_solve'
112 | #define UMFPACK_solve umfpack_di_solve
| ^
/home/jehammond/ELMER/elmerfem/fem/src/umf4_f77wrapper.c:188:12: error: call to undeclared function 'umfpack_di_solve'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
188 | (void) UMFPACK_solve (*sys, (Int *) NULL, (Int *) NULL, (double *) NULL,
| ^
/home/jehammond/ELMER/elmerfem/fem/src/umf4_f77wrapper.c:112:25: note: expanded from macro 'UMFPACK_solve'
112 | #define UMFPACK_solve umfpack_di_solve
| ^
/home/jehammond/ELMER/elmerfem/fem/src/umf4_f77wrapper.c:202:5: error: call to undeclared function 'umfpack_di_free_numeric'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
202 | UMFPACK_free_numeric (Numeric) ;
| ^
/home/jehammond/ELMER/elmerfem/fem/src/umf4_f77wrapper.c:102:31: note: expanded from macro 'UMFPACK_free_numeric'
102 | #define UMFPACK_free_numeric umfpack_di_free_numeric
| ^
/home/jehammond/ELMER/elmerfem/fem/src/umf4_f77wrapper.c:215:5: error: call to undeclared function 'umfpack_di_free_symbolic'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
215 | UMFPACK_free_symbolic (Symbolic) ;
| ^
/home/jehammond/ELMER/elmerfem/fem/src/umf4_f77wrapper.c:103:32: note: expanded from macro 'UMFPACK_free_symbolic'
103 | #define UMFPACK_free_symbolic umfpack_di_free_symbolic
| ^
/home/jehammond/ELMER/elmerfem/fem/src/umf4_f77wrapper.c:259:5: error: call to undeclared function 'umfpack_dl_defaults'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
259 | UMFPACK_defaults (Control) ;
| ^
/home/jehammond/ELMER/elmerfem/fem/src/umf4_f77wrapper.c:236:27: note: expanded from macro 'UMFPACK_defaults'
236 | #define UMFPACK_defaults umfpack_dl_defaults
| ^
/home/jehammond/ELMER/elmerfem/fem/src/umf4_f77wrapper.c:274:12: error: call to undeclared function 'umfpack_dl_symbolic'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
274 | (void) UMFPACK_symbolic (*m, *n, Ap, Ai, Ax, Symbolic, Control, Info) ;
| ^
/home/jehammond/ELMER/elmerfem/fem/src/umf4_f77wrapper.c:248:27: note: expanded from macro 'UMFPACK_symbolic'
248 | #define UMFPACK_symbolic umfpack_dl_symbolic
| ^
/home/jehammond/ELMER/elmerfem/fem/src/umf4_f77wrapper.c:289:12: error: call to undeclared function 'umfpack_dl_numeric'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
289 | (void) UMFPACK_numeric (Ap, Ai, Ax, *Symbolic, Numeric, Control, Info);
| ^
/home/jehammond/ELMER/elmerfem/fem/src/umf4_f77wrapper.c:239:27: note: expanded from macro 'UMFPACK_numeric'
239 | #define UMFPACK_numeric umfpack_dl_numeric
| ^
/home/jehammond/ELMER/elmerfem/fem/src/umf4_f77wrapper.c:304:12: error: call to undeclared function 'umfpack_dl_solve'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
304 | (void) UMFPACK_solve (*sys, Ap, Ai, Ax, x, b, *Numeric, Control, Info) ;
| ^
/home/jehammond/ELMER/elmerfem/fem/src/umf4_f77wrapper.c:247:25: note: expanded from macro 'UMFPACK_solve'
247 | #define UMFPACK_solve umfpack_dl_solve
| ^
/home/jehammond/ELMER/elmerfem/fem/src/umf4_f77wrapper.c:318:12: error: call to undeclared function 'umfpack_dl_solve'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
318 | (void) UMFPACK_solve (*sys, (Int *) NULL, (Int *) NULL, (double *) NULL,
| ^
/home/jehammond/ELMER/elmerfem/fem/src/umf4_f77wrapper.c:247:25: note: expanded from macro 'UMFPACK_solve'
247 | #define UMFPACK_solve umfpack_dl_solve
| ^
/home/jehammond/ELMER/elmerfem/fem/src/umf4_f77wrapper.c:332:5: error: call to undeclared function 'umfpack_dl_free_numeric'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
332 | UMFPACK_free_numeric (Numeric) ;
| ^
/home/jehammond/ELMER/elmerfem/fem/src/umf4_f77wrapper.c:237:31: note: expanded from macro 'UMFPACK_free_numeric'
237 | #define UMFPACK_free_numeric umfpack_dl_free_numeric
| ^
/home/jehammond/ELMER/elmerfem/fem/src/umf4_f77wrapper.c:345:5: error: call to undeclared function 'umfpack_dl_free_symbolic'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
345 | UMFPACK_free_symbolic (Symbolic) ;
| ^
/home/jehammond/ELMER/elmerfem/fem/src/umf4_f77wrapper.c:238:32: note: expanded from macro 'UMFPACK_free_symbolic'
238 | #define UMFPACK_free_symbolic umfpack_dl_free_symbolic
| ^
14 errors generated.
I don't see
-Werror
in my build recipe anywhere but Clang 19 errors rather than warns on these C99 violations, breaking the build.Have you tried to build Elmer with recent versions of Clang? Is it expected to work?