#1096719 gkrellmoon: ftbfs with GCC-15

#1096719#5
Date:
2025-02-17 17:16:10 UTC
From:
To:
[This bug is NOT targeted to the upcoming trixie release]

Please keep this issue open in the bug tracker for the package it
was filed for.  If a fix in another package is required, please
file a bug for the other package (or clone), and add a block in this
package. Please keep the issue open until the package can be built in
a follow-up test rebuild.

The package fails to build in a test rebuild on at least amd64 with
gcc-15/g++-15, but succeeds to build with gcc-14/g++-14. The
severity of this report will be raised before the forky release.

The full build log can be found at:
http://qa-logs.debian.net/2025/02/16/amd64exp/gkrellmoon_0.6-7.1_unstable_gccexp.log.gz
The last lines of the build log are at the end of this report.

To build with GCC 15, either set CC=gcc-15 CXX=g++-15 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.

  apt-get -t=experimental install g++

GCC 15 now defaults to the C23/C++23 standards, exposing many FTBFS.
Other Common build failures are new warnings resulting in build failures
with -Werror turned on, or new/dropped symbols in Debian symbols files.
For other C/C++ related build failures see the porting guide at
http://gcc.gnu.org/gcc-15/porting_to.html

[...]
make[1]: Entering directory '/build/reproducible-path/gkrellmoon-0.6'
gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gkrellmoon-0.6=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O2 -g -Wall -fPIC `pkg-config gtk+-2.0 --cflags` -c gkrellmoon.c -o gkrellmoon.o
gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gkrellmoon-0.6=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O2 -g -Wall -fPIC `pkg-config gtk+-2.0 --cflags` -c MoonRise.c -o MoonRise.o
MoonRise.c: In function ‘SinH’:
MoonRise.c:67:61: error: conflicting types for ‘frac’; have ‘gdouble(void)’ {aka ‘double(void)’}
   67 |         gdouble TU, TU2, TU3, LambdaMoon, BetaMoon, R, AGE, frac(), jd();
      |                                                             ^~~~
In file included from MoonRise.c:9:
Moon.h:8:9: note: previous declaration of ‘frac’ with type ‘gdouble(gdouble)’ {aka ‘double(double)’}
    8 | gdouble frac(gdouble x);
      |         ^~~~
MoonRise.c:67:69: error: conflicting types for ‘jd’; have ‘gdouble(void)’ {aka ‘double(void)’}
   67 |         gdouble TU, TU2, TU3, LambdaMoon, BetaMoon, R, AGE, frac(), jd();
      |                                                                     ^~
In file included from MoonRise.h:4,
                 from MoonRise.c:10:
CalcEphem.h:80:9: note: previous declaration of ‘jd’ with type ‘gdouble(gint,  gint,  gint,  gdouble)’ {aka ‘double(int,  int,  int,  double)’}
   80 | gdouble jd(gint ny, gint nm, gint nd, gdouble UT);
      |         ^~
MoonRise.c:68:62: error: conflicting types for ‘Moon’; have ‘gdouble(void)’ {aka ‘double(void)’}
   68 |         gdouble RA_Moon, DEC_Moon, gmst, lmst, Tau, epsilon, Moon();
      |                                                              ^~~~
Moon.h:6:9: note: previous declaration of ‘Moon’ with type ‘gdouble(gdouble,  gdouble *, gdouble *, gdouble *, gdouble *)’ {aka ‘double(double,  double *, double *, double *, double *)’}
    6 | gdouble Moon(gdouble T, gdouble * LAMBDA, gdouble * BETA, gdouble * R,
      |         ^~~~
MoonRise.c:69:17: error: conflicting types for ‘angle2pi’; have ‘gdouble(void)’ {aka ‘double(void)’}
   69 |         gdouble angle2pi();
      |                 ^~~~~~~~
CalcEphem.h:82:9: note: previous declaration of ‘angle2pi’ with type ‘gdouble(gdouble)’ {aka ‘double(double)’}
   82 | gdouble angle2pi(gdouble angle);
      |         ^~~~~~~~
MoonRise.c:71:15: error: too many arguments to function ‘jd’; expected 0, have 4
   71 |         TU = (jd(c->year, c->month, c->day, UT) - 2451545.0) / 36525.0;
      |               ^~ ~~~~~~~
MoonRise.c:67:69: note: declared here
   67 |         gdouble TU, TU2, TU3, LambdaMoon, BetaMoon, R, AGE, frac(), jd();
      |                                                                     ^~
MoonRise.c:76:9: error: too many arguments to function ‘Moon’; expected 0, have 5
   76 |         Moon(TU, &LambdaMoon, &BetaMoon, &R, &AGE);
      |         ^~~~ ~~
MoonRise.c:68:62: note: declared here
   68 |         gdouble RA_Moon, DEC_Moon, gmst, lmst, Tau, epsilon, Moon();
      |                                                              ^~~~
MoonRise.c:83:13: error: too many arguments to function ‘angle2pi’; expected 0, have 1
   83 |             angle2pi(atan2
      |             ^~~~~~~~ ~~~~~
   84 |                      (sin(LambdaMoon) * cos(epsilon) -
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   85 |                       tan(BetaMoon) * sin(epsilon), cos(LambdaMoon)));
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MoonRise.c:69:17: note: declared here
   69 |         gdouble angle2pi();
      |                 ^~~~~~~~
MoonRise.c:99:21: error: too many arguments to function ‘frac’; expected 0, have 1
   99 |         UT = 24.0 * frac(UT / 24.0);
      |                     ^~~~ ~~~~~~~~~
MoonRise.c:67:61: note: declared here
   67 |         gdouble TU, TU2, TU3, LambdaMoon, BetaMoon, R, AGE, frac(), jd();
      |                                                             ^~~~
MoonRise.c:107:23: error: too many arguments to function ‘frac’; expected 0, have 1
  107 |         lmst = 24.0 * frac((gmst - c->Glon / 15.0) / 24.0);
      |                       ^~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MoonRise.c:67:61: note: declared here
   67 |         gdouble TU, TU2, TU3, LambdaMoon, BetaMoon, R, AGE, frac(), jd();
      |                                                             ^~~~
make[1]: *** [Makefile:14: MoonRise.o] Error 1
make[1]: Leaving directory '/build/reproducible-path/gkrellmoon-0.6'
dh_auto_build: error: make -j1 returned exit code 2
make: *** [debian/rules:22: build] Error 255
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2