#2802: compilation faiulres in TwoPunctures_BBHSF and TwoPunctures_KerrProca with gcc14
Reporter:Roland Haas
Status:open
Milestone:
Version:
Type:bug
Priority:major
Component:EinsteinToolkit thorn

Changes (by Roland Haas):

GCC14 removed implicit pointer casts and requires explicit casts for C in the same manner that C++ requires them.

https://gcc.gnu.org/gcc-14/porting_to.html

This affects TwoPunctures and thus all thorns that are derived from TwoPunctures. Typical compile failures are error messages such as:

COMPILING Proca/TwoPunctures_KerrProca/src/Newton.c
/Users/rhaas/Cactus/configs/sim/build/TwoPunctures_KerrProca/Newton.c: In function 'TPKP_TestRelax':
/Users/rhaas/Cactus/configs/sim/build/TwoPunctures_KerrProca/Newton.c:287:37: error: passing argument 6 of 'resid' from incompatible pointer type [-Wincompatible-pointer-types]
  287 |   resid (res, ntotal, dv, F, ncols, cols, JFD);
      |                                     ^~~~
      |                                     |
      |                                     int **

This is fixed for TwoPunctures in https://bitbucket.org/einsteintoolkit/einsteininitialdata/pull-requests/18 but the patch used there does not cleanly apply to the derived codes (possibly due to some extra lines of code being present).

--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2802/compilation-faiulres-in-twopunctures_bbhsf