Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
jeffhammond opened this issue Jun 6, 2024 · 13 comments

Comments

@jeffhammond
Copy link

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.
@ghostforest
Copy link

ghostforest commented Jun 13, 2024

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!

@barracuda156
Copy link

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....

@raback
Copy link
Contributor

raback commented Jul 5, 2024

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.

@barracuda156
Copy link

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

@barracuda156
Copy link

@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).

@mmuetzel
Copy link
Contributor

#488 would probably fix that build error.

@mmuetzel
Copy link
Contributor

mmuetzel commented Aug 4, 2024

#488 has been merged to the devel branch.

I guess this issue could be closed.

@barracuda156
Copy link

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

@mmuetzel
Copy link
Contributor

mmuetzel commented Aug 5, 2024

@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...)

@barracuda156
Copy link

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

@barracuda156
Copy link

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

@raback
Copy link
Contributor

raback commented Aug 5, 2024

I guess this can be closed then?

@barracuda156
Copy link

I guess this can be closed then?

I think so.

@raback raback closed this as completed Aug 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants