elmerfem icon indicating copy to clipboard operation
elmerfem copied to clipboard

error: call to undeclared function 'umfpack_di_defaults'; ISO C99 and later do not support implicit function declarations

Open jeffhammond opened this issue 1 year ago • 1 comments
trafficstars

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.

jeffhammond avatar Jun 06 '24 13:06 jeffhammond

This issue can be solved by adding:

#include "../umfpack/src/umfpack/include/umfpack.h"

right below the

#include "../config.h" statement inside umf4_f77wrapper.c inside elmer/fem/src

However beware of spiraling down into deeper compiler rabbitholes!

ghostforest avatar Jun 13 '24 14:06 ghostforest

This issue also breaks build with gcc14:

:info:build [ 61%] Building C object fem/src/CMakeFiles/elmersolver.dir/umf4_f77wrapper.o
:info:build cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/build/fem/src && /opt/local/bin/gcc-mp-14 -DHAVE_EXECUTECOMMANDLINE -DUSE_ARPACK -DUSE_ISO_C_BINDINGS -Delmersolver_EXPORTS -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/build -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/build/fem/src -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/elmerfem-1df67599af4e6389d46fa172e6c53354cd73863a/fhutiter/src -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/build/fem/src/binio -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/build/fhutiter/src -pipe -Os -DNDEBUG -isystem/opt/local/include/LegacySupport -I/opt/local/include -fopenmp -arch ppc -mmacosx-version-min=10.6 -fPIC   -DCONTIG= -MD -MT fem/src/CMakeFiles/elmersolver.dir/umf4_f77wrapper.o -MF CMakeFiles/elmersolver.dir/umf4_f77wrapper.o.d -o CMakeFiles/elmersolver.dir/umf4_f77wrapper.o -c /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/elmerfem-1df67599af4e6389d46fa172e6c53354cd73863a/fem/src/umf4_f77wrapper.c
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/elmerfem-1df67599af4e6389d46fa172e6c53354cd73863a/fem/src/umf4_f77wrapper.c: In function 'umf4def':
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/elmerfem-1df67599af4e6389d46fa172e6c53354cd73863a/fem/src/umf4_f77wrapper.c:101:34: error: implicit declaration of function 'umfpack_di_defaults'; did you mean 'UMFPACK_defaults'? [-Wimplicit-function-declaration]
:info:build   101 | #define UMFPACK_defaults         umfpack_di_defaults
:info:build       |                                  ^~~~~~~~~~~~~~~~~~~
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/elmerfem-1df67599af4e6389d46fa172e6c53354cd73863a/fem/src/umf4_f77wrapper.c:127:5: note: in expansion of macro 'UMFPACK_defaults'
:info:build   127 |     UMFPACK_defaults (Control) ;
:info:build       |     ^~~~~~~~~~~~~~~~
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/elmerfem-1df67599af4e6389d46fa172e6c53354cd73863a/fem/src/umf4_f77wrapper.c: In function 'umf4sym':
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/elmerfem-1df67599af4e6389d46fa172e6c53354cd73863a/fem/src/umf4_f77wrapper.c:113:34: error: implicit declaration of function 'umfpack_di_symbolic'; did you mean 'UMFPACK_symbolic'? [-Wimplicit-function-declaration]
:info:build   113 | #define UMFPACK_symbolic         umfpack_di_symbolic
:info:build       |                                  ^~~~~~~~~~~~~~~~~~~
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/elmerfem-1df67599af4e6389d46fa172e6c53354cd73863a/fem/src/umf4_f77wrapper.c:143:12: note: in expansion of macro 'UMFPACK_symbolic'
:info:build   143 |     (void) UMFPACK_symbolic (*m, *n, Ap, Ai, Ax, Symbolic, Control, Info) ;
:info:build       |            ^~~~~~~~~~~~~~~~
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/elmerfem-1df67599af4e6389d46fa172e6c53354cd73863a/fem/src/umf4_f77wrapper.c: In function 'umf4num':
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/elmerfem-1df67599af4e6389d46fa172e6c53354cd73863a/fem/src/umf4_f77wrapper.c:104:34: error: implicit declaration of function 'umfpack_di_numeric'; did you mean 'UMFPACK_numeric'? [-Wimplicit-function-declaration]
:info:build   104 | #define UMFPACK_numeric          umfpack_di_numeric
:info:build       |                                  ^~~~~~~~~~~~~~~~~~
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/elmerfem-1df67599af4e6389d46fa172e6c53354cd73863a/fem/src/umf4_f77wrapper.c:158:12: note: in expansion of macro 'UMFPACK_numeric'
:info:build   158 |     (void) UMFPACK_numeric (Ap, Ai, Ax, *Symbolic, Numeric, Control, Info);
:info:build       |            ^~~~~~~~~~~~~~~
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/elmerfem-1df67599af4e6389d46fa172e6c53354cd73863a/fem/src/umf4_f77wrapper.c: In function 'umf4solr':
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/elmerfem-1df67599af4e6389d46fa172e6c53354cd73863a/fem/src/umf4_f77wrapper.c:112:34: error: implicit declaration of function 'umfpack_di_solve' [-Wimplicit-function-declaration]
:info:build   112 | #define UMFPACK_solve            umfpack_di_solve
:info:build       |                                  ^~~~~~~~~~~~~~~~
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/elmerfem-1df67599af4e6389d46fa172e6c53354cd73863a/fem/src/umf4_f77wrapper.c:173:12: note: in expansion of macro 'UMFPACK_solve'
:info:build   173 |     (void) UMFPACK_solve (*sys, Ap, Ai, Ax, x, b, *Numeric, Control, Info) ;
:info:build       |            ^~~~~~~~~~~~~
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/elmerfem-1df67599af4e6389d46fa172e6c53354cd73863a/fem/src/umf4_f77wrapper.c: In function 'umf4fnum':
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/elmerfem-1df67599af4e6389d46fa172e6c53354cd73863a/fem/src/umf4_f77wrapper.c:102:34: error: implicit declaration of function 'umfpack_di_free_numeric'; did you mean 'UMFPACK_free_numeric'? [-Wimplicit-function-declaration]
:info:build   102 | #define UMFPACK_free_numeric     umfpack_di_free_numeric
:info:build       |                                  ^~~~~~~~~~~~~~~~~~~~~~~
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/elmerfem-1df67599af4e6389d46fa172e6c53354cd73863a/fem/src/umf4_f77wrapper.c:202:5: note: in expansion of macro 'UMFPACK_free_numeric'
:info:build   202 |     UMFPACK_free_numeric (Numeric) ;
:info:build       |     ^~~~~~~~~~~~~~~~~~~~
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/elmerfem-1df67599af4e6389d46fa172e6c53354cd73863a/fem/src/umf4_f77wrapper.c: In function 'umf4fsym':
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/elmerfem-1df67599af4e6389d46fa172e6c53354cd73863a/fem/src/umf4_f77wrapper.c:103:34: error: implicit declaration of function 'umfpack_di_free_symbolic'; did you mean 'UMFPACK_free_symbolic'? [-Wimplicit-function-declaration]
:info:build   103 | #define UMFPACK_free_symbolic    umfpack_di_free_symbolic
:info:build       |                                  ^~~~~~~~~~~~~~~~~~~~~~~~
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/elmerfem-1df67599af4e6389d46fa172e6c53354cd73863a/fem/src/umf4_f77wrapper.c:215:5: note: in expansion of macro 'UMFPACK_free_symbolic'
:info:build   215 |     UMFPACK_free_symbolic (Symbolic) ;
:info:build       |     ^~~~~~~~~~~~~~~~~~~~~
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/elmerfem-1df67599af4e6389d46fa172e6c53354cd73863a/fem/src/umf4_f77wrapper.c: In function 'umf4_l_def':
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/elmerfem-1df67599af4e6389d46fa172e6c53354cd73863a/fem/src/umf4_f77wrapper.c:236:34: error: implicit declaration of function 'umfpack_dl_defaults'; did you mean 'UMFPACK_defaults'? [-Wimplicit-function-declaration]
:info:build   236 | #define UMFPACK_defaults         umfpack_dl_defaults
:info:build       |                                  ^~~~~~~~~~~~~~~~~~~
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/elmerfem-1df67599af4e6389d46fa172e6c53354cd73863a/fem/src/umf4_f77wrapper.c:259:5: note: in expansion of macro 'UMFPACK_defaults'
:info:build   259 |     UMFPACK_defaults (Control) ;
:info:build       |     ^~~~~~~~~~~~~~~~
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/elmerfem-1df67599af4e6389d46fa172e6c53354cd73863a/fem/src/umf4_f77wrapper.c: In function 'umf4_l_sym':
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/elmerfem-1df67599af4e6389d46fa172e6c53354cd73863a/fem/src/umf4_f77wrapper.c:248:34: error: implicit declaration of function 'umfpack_dl_symbolic'; did you mean 'UMFPACK_symbolic'? [-Wimplicit-function-declaration]
:info:build   248 | #define UMFPACK_symbolic         umfpack_dl_symbolic
:info:build       |                                  ^~~~~~~~~~~~~~~~~~~
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/elmerfem-1df67599af4e6389d46fa172e6c53354cd73863a/fem/src/umf4_f77wrapper.c:274:12: note: in expansion of macro 'UMFPACK_symbolic'
:info:build   274 |     (void) UMFPACK_symbolic (*m, *n, Ap, Ai, Ax, Symbolic, Control, Info) ;
:info:build       |            ^~~~~~~~~~~~~~~~
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/elmerfem-1df67599af4e6389d46fa172e6c53354cd73863a/fem/src/umf4_f77wrapper.c: In function 'umf4_l_num':
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/elmerfem-1df67599af4e6389d46fa172e6c53354cd73863a/fem/src/umf4_f77wrapper.c:239:34: error: implicit declaration of function 'umfpack_dl_numeric'; did you mean 'UMFPACK_numeric'? [-Wimplicit-function-declaration]
:info:build   239 | #define UMFPACK_numeric          umfpack_dl_numeric
:info:build       |                                  ^~~~~~~~~~~~~~~~~~
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/elmerfem-1df67599af4e6389d46fa172e6c53354cd73863a/fem/src/umf4_f77wrapper.c:289:12: note: in expansion of macro 'UMFPACK_numeric'
:info:build   289 |     (void) UMFPACK_numeric (Ap, Ai, Ax, *Symbolic, Numeric, Control, Info);
:info:build       |            ^~~~~~~~~~~~~~~
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/elmerfem-1df67599af4e6389d46fa172e6c53354cd73863a/fem/src/umf4_f77wrapper.c: In function 'umf4_l_solr':
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/elmerfem-1df67599af4e6389d46fa172e6c53354cd73863a/fem/src/umf4_f77wrapper.c:247:34: error: implicit declaration of function 'umfpack_dl_solve' [-Wimplicit-function-declaration]
:info:build   247 | #define UMFPACK_solve            umfpack_dl_solve
:info:build       |                                  ^~~~~~~~~~~~~~~~
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/elmerfem-1df67599af4e6389d46fa172e6c53354cd73863a/fem/src/umf4_f77wrapper.c:304:12: note: in expansion of macro 'UMFPACK_solve'
:info:build   304 |     (void) UMFPACK_solve (*sys, Ap, Ai, Ax, x, b, *Numeric, Control, Info) ;
:info:build       |            ^~~~~~~~~~~~~
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/elmerfem-1df67599af4e6389d46fa172e6c53354cd73863a/fem/src/umf4_f77wrapper.c: In function 'umf4_l_fnum':
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/elmerfem-1df67599af4e6389d46fa172e6c53354cd73863a/fem/src/umf4_f77wrapper.c:237:34: error: implicit declaration of function 'umfpack_dl_free_numeric'; did you mean 'UMFPACK_free_numeric'? [-Wimplicit-function-declaration]
:info:build   237 | #define UMFPACK_free_numeric     umfpack_dl_free_numeric
:info:build       |                                  ^~~~~~~~~~~~~~~~~~~~~~~
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/elmerfem-1df67599af4e6389d46fa172e6c53354cd73863a/fem/src/umf4_f77wrapper.c:332:5: note: in expansion of macro 'UMFPACK_free_numeric'
:info:build   332 |     UMFPACK_free_numeric (Numeric) ;
:info:build       |     ^~~~~~~~~~~~~~~~~~~~
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/elmerfem-1df67599af4e6389d46fa172e6c53354cd73863a/fem/src/umf4_f77wrapper.c: In function 'umf4_l_fsym':
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/elmerfem-1df67599af4e6389d46fa172e6c53354cd73863a/fem/src/umf4_f77wrapper.c:238:34: error: implicit declaration of function 'umfpack_dl_free_symbolic'; did you mean 'UMFPACK_free_symbolic'? [-Wimplicit-function-declaration]
:info:build   238 | #define UMFPACK_free_symbolic    umfpack_dl_free_symbolic
:info:build       |                                  ^~~~~~~~~~~~~~~~~~~~~~~~
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/elmerfem-1df67599af4e6389d46fa172e6c53354cd73863a/fem/src/umf4_f77wrapper.c:345:5: note: in expansion of macro 'UMFPACK_free_symbolic'
:info:build   345 |     UMFPACK_free_symbolic (Symbolic) ;
:info:build       |     ^~~~~~~~~~~~~~~~~~~~~
:info:build make[2]: *** [fem/src/CMakeFiles/elmersolver.dir/umf4_f77wrapper.o] Error 1
:info:build make[2]: *** Waiting for unfinished jobs....
:info:build [ 61%] Building C object fem/src/CMakeFiles/elmersolver.dir/cholmod.o
:info:build cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/build/fem/src && /opt/local/bin/gcc-mp-14 -DHAVE_EXECUTECOMMANDLINE -DUSE_ARPACK -DUSE_ISO_C_BINDINGS -Delmersolver_EXPORTS -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/build -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/build/fem/src -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/elmerfem-1df67599af4e6389d46fa172e6c53354cd73863a/fhutiter/src -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/build/fem/src/binio -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/build/fhutiter/src -pipe -Os -DNDEBUG -isystem/opt/local/include/LegacySupport -I/opt/local/include -fopenmp -arch ppc -mmacosx-version-min=10.6 -fPIC   -DCONTIG= -MD -MT fem/src/CMakeFiles/elmersolver.dir/cholmod.o -MF CMakeFiles/elmersolver.dir/cholmod.o.d -o CMakeFiles/elmersolver.dir/cholmod.o -c /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/elmerfem-1df67599af4e6389d46fa172e6c53354cd73863a/fem/src/cholmod.c
:info:build [ 61%] Building CXX object ElmerGUI/Application/CMakeFiles/ElmerGUI.dir/src/sifgenerator.cpp.o
:info:build make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_elmerfem/elmerfem/work/build'
:info:build make[1]: *** [fem/src/CMakeFiles/elmersolver.dir/all] Error 2
:info:build make[1]: *** Waiting for unfinished jobs....

barracuda156 avatar Jul 05 '24 07:07 barracuda156

Have you tried with "EXTERNAL_UMFPACK=ON". This way you could use umfpack from SuiteSparse. It is a lot faster and more robust. The default version is ages old because at v. 5.1 UMFPACK license was changed from LGPL to GPL.

raback avatar Jul 05 '24 07:07 raback

@raback Thank you, this sounds good. I will try it and change the port to use it then in MacPorts.

barracuda156 avatar Jul 05 '24 08:07 barracuda156

@ghostforest Bundled one works, though the path should be ../../umfpack/src/umfpack/include/umfpack.h.

@raback And external seems to work, though gcc14 needs to disable these (trivially):

:info:build [ 23%] Building C object fem/src/CMakeFiles/elmersolver.dir/cholmod.c.o
:info:build cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_science_elmerfem/elmerfem/work/build/fem/src && /opt/local/bin/gcc-mp-14 -DHAVE_EXECUTECOMMANDLINE -DUSE_ARPACK -DUSE_ISO_C_BINDINGS -Delmersolver_EXPORTS -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_science_elmerfem/elmerfem/work/build -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_science_elmerfem/elmerfem/work/build/fem/src -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_science_elmerfem/elmerfem/work/elmerfem-a21b1be9009d210c8839bea8f8724bc5fb529f3b/fhutiter/src -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_science_elmerfem/elmerfem/work/build/fem/src/binio -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_science_elmerfem/elmerfem/work/build/fhutiter/src -I/opt/local/include -pipe -Os -DNDEBUG -isystem/opt/local/include/LegacySupport -I/opt/local/include -fopenmp -arch ppc -mmacosx-version-min=10.6 -fPIC   -DCONTIG= -MD -MT fem/src/CMakeFiles/elmersolver.dir/cholmod.c.o -MF CMakeFiles/elmersolver.dir/cholmod.c.o.d -o CMakeFiles/elmersolver.dir/cholmod.c.o -c /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_science_elmerfem/elmerfem/work/elmerfem-a21b1be9009d210c8839bea8f8724bc5fb529f3b/fem/src/cholmod.c
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_science_elmerfem/elmerfem/work/elmerfem-a21b1be9009d210c8839bea8f8724bc5fb529f3b/fem/src/umf4_f77wrapper.c: In function 'umf4_l_sym':
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_science_elmerfem/elmerfem/work/elmerfem-a21b1be9009d210c8839bea8f8724bc5fb529f3b/fem/src/umf4_f77wrapper.c:275:38: error: passing argument 3 of 'umfpack_dl_symbolic' from incompatible pointer type [-Wincompatible-pointer-types]
:info:build   275 |     (void) UMFPACK_symbolic (*m, *n, Ap, Ai, Ax, Symbolic, Control, Info) ;
:info:build       |                                      ^~
:info:build       |                                      |
:info:build       |                                      long int *
:info:build In file included from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_science_elmerfem/elmerfem/work/elmerfem-a21b1be9009d210c8839bea8f8724bc5fb529f3b/fem/src/umf4_f77wrapper.c:82:
:info:build /opt/local/include/umfpack.h:422:19: note: expected 'const int64_t *' {aka 'const long long int *'} but argument is of type 'long int *'
:info:build   422 |     const int64_t Ap [ ],
:info:build       |     ~~~~~~~~~~~~~~^~~~~~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_science_elmerfem/elmerfem/work/elmerfem-a21b1be9009d210c8839bea8f8724bc5fb529f3b/fem/src/umf4_f77wrapper.c:275:42: error: passing argument 4 of 'umfpack_dl_symbolic' from incompatible pointer type [-Wincompatible-pointer-types]
:info:build   275 |     (void) UMFPACK_symbolic (*m, *n, Ap, Ai, Ax, Symbolic, Control, Info) ;
:info:build       |                                          ^~
:info:build       |                                          |
:info:build       |                                          long int *
:info:build /opt/local/include/umfpack.h:423:19: note: expected 'const int64_t *' {aka 'const long long int *'} but argument is of type 'long int *'
:info:build   423 |     const int64_t Ai [ ],
:info:build       |     ~~~~~~~~~~~~~~^~~~~~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_science_elmerfem/elmerfem/work/elmerfem-a21b1be9009d210c8839bea8f8724bc5fb529f3b/fem/src/umf4_f77wrapper.c: In function 'umf4_l_num':
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_science_elmerfem/elmerfem/work/elmerfem-a21b1be9009d210c8839bea8f8724bc5fb529f3b/fem/src/umf4_f77wrapper.c:290:29: error: passing argument 1 of 'umfpack_dl_numeric' from incompatible pointer type [-Wincompatible-pointer-types]
:info:build   290 |     (void) UMFPACK_numeric (Ap, Ai, Ax, *Symbolic, Numeric, Control, Info);
:info:build       |                             ^~
:info:build       |                             |
:info:build       |                             long int *
:info:build /opt/local/include/umfpack.h:960:19: note: expected 'const int64_t *' {aka 'const long long int *'} but argument is of type 'long int *'
:info:build   960 |     const int64_t Ap [ ],
:info:build       |     ~~~~~~~~~~~~~~^~~~~~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_science_elmerfem/elmerfem/work/elmerfem-a21b1be9009d210c8839bea8f8724bc5fb529f3b/fem/src/umf4_f77wrapper.c:290:33: error: passing argument 2 of 'umfpack_dl_numeric' from incompatible pointer type [-Wincompatible-pointer-types]
:info:build   290 |     (void) UMFPACK_numeric (Ap, Ai, Ax, *Symbolic, Numeric, Control, Info);
:info:build       |                                 ^~
:info:build       |                                 |
:info:build       |                                 long int *
:info:build /opt/local/include/umfpack.h:961:19: note: expected 'const int64_t *' {aka 'const long long int *'} but argument is of type 'long int *'
:info:build   961 |     const int64_t Ai [ ],
:info:build       |     ~~~~~~~~~~~~~~^~~~~~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_science_elmerfem/elmerfem/work/elmerfem-a21b1be9009d210c8839bea8f8724bc5fb529f3b/fem/src/umf4_f77wrapper.c: In function 'umf4_l_solr':
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_science_elmerfem/elmerfem/work/elmerfem-a21b1be9009d210c8839bea8f8724bc5fb529f3b/fem/src/umf4_f77wrapper.c:305:33: error: passing argument 2 of 'umfpack_dl_solve' from incompatible pointer type [-Wincompatible-pointer-types]
:info:build   305 |     (void) UMFPACK_solve (*sys, Ap, Ai, Ax, x, b, *Numeric, Control, Info) ;
:info:build       |                                 ^~
:info:build       |                                 |
:info:build       |                                 long int *
:info:build /opt/local/include/umfpack.h:1503:19: note: expected 'const int64_t *' {aka 'const long long int *'} but argument is of type 'long int *'
:info:build  1503 |     const int64_t Ap [ ],
:info:build       |     ~~~~~~~~~~~~~~^~~~~~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_science_elmerfem/elmerfem/work/elmerfem-a21b1be9009d210c8839bea8f8724bc5fb529f3b/fem/src/umf4_f77wrapper.c:305:37: error: passing argument 3 of 'umfpack_dl_solve' from incompatible pointer type [-Wincompatible-pointer-types]
:info:build   305 |     (void) UMFPACK_solve (*sys, Ap, Ai, Ax, x, b, *Numeric, Control, Info) ;
:info:build       |                                     ^~
:info:build       |                                     |
:info:build       |                                     long int *
:info:build /opt/local/include/umfpack.h:1504:19: note: expected 'const int64_t *' {aka 'const long long int *'} but argument is of type 'long int *'
:info:build  1504 |     const int64_t Ai [ ],
:info:build       |     ~~~~~~~~~~~~~~^~~~~~

Since it is recommended, we will go with external one (that is also a preference of MacPorts generally).

barracuda156 avatar Jul 05 '24 08:07 barracuda156

#488 would probably fix that build error.

mmuetzel avatar Jul 14 '24 14:07 mmuetzel

#488 has been merged to the devel branch.

I guess this issue could be closed.

mmuetzel avatar Aug 04 '24 19:08 mmuetzel

@mmuetzel Incompatible pointers type error has not been addressed so far?

barracuda156 avatar Aug 05 '24 06:08 barracuda156

@barracuda156: Thank you for the feedback. Could you please show the exact error or warning that you are seeing when building from a current head of the devel branch? (#499 might have addressed that...)

mmuetzel avatar Aug 05 '24 06:08 mmuetzel

@mmuetzel I will try building the master and let you know.

barracuda156 avatar Aug 05 '24 07:08 barracuda156

Yeah, ebd157e6b588a451aff167e3ac2c61fd0334bcef builds fine for me with gcc-14.

barracuda156 avatar Aug 05 '24 10:08 barracuda156

I guess this can be closed then?

raback avatar Aug 05 '24 10:08 raback

I guess this can be closed then?

I think so.

barracuda156 avatar Aug 05 '24 10:08 barracuda156