[Debian-astro-maintainers] Bug#1097411: montage: ftbfs with GCC-15

Matthias Klose doko at debian.org
Mon Feb 17 17:38:11 GMT 2025


Package: src:montage
Version: 6.1+dfsg-1
Severity: important
Tags: sid forky
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-15

[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/montage_6.1+dfsg-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

[...]
      |      ^~~~~~~~~~~~~~~~~~~~~
convertBesselianJulian.c:497:6: error: conflicting types for ‘getEclETermCorrection’; have ‘void(double,  double,  double,  double *, double *)’
  497 | void getEclETermCorrection(double epoch, double elon, double elat,
      |      ^~~~~~~~~~~~~~~~~~~~~
convertBesselianJulian.c:9:6: note: previous declaration of ‘getEclETermCorrection’ with type ‘void(void)’
    9 | void getEclETermCorrection();
      |      ^~~~~~~~~~~~~~~~~~~~~
convertBesselianJulian.c:572:6: error: conflicting types for ‘refinedEquETermCorrection’; have ‘void(double,  double,  double *, double *)’
  572 | void refinedEquETermCorrection(double ra, double dec, double *dra, double *ddec)
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~
convertBesselianJulian.c:10:6: note: previous declaration of ‘refinedEquETermCorrection’ with type ‘void(void)’
   10 | void refinedEquETermCorrection();
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~
convertBesselianJulian.c:615:6: error: conflicting types for ‘refinedEclETermCorrection’; have ‘void(double,  double,  double,  double *, double *)’
  615 | void refinedEclETermCorrection(double obsdatej, double elon, double elat,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~
convertBesselianJulian.c:11:6: note: previous declaration of ‘refinedEclETermCorrection’ with type ‘void(void)’
   11 | void refinedEclETermCorrection();
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~
convertBesselianJulian.c:654:6: error: conflicting types for ‘correctForEquatorialETerms’; have ‘void(double,  double *, double *)’
  654 | void correctForEquatorialETerms(double date, double *ra, double *dec)
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
convertBesselianJulian.c:12:6: note: previous declaration of ‘correctForEquatorialETerms’ with type ‘void(void)’
   12 | void correctForEquatorialETerms();
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
convertBesselianJulian.c: In function ‘correctForEquatorialETerms’:
convertBesselianJulian.c:688:7: error: too many arguments to function ‘convertEquToEcl’; expected 0, have 6
  688 |       convertEquToEcl(*ra, *dec, &elon, &elat, date, JULIAN);
      |       ^~~~~~~~~~~~~~~ ~~~
./coord.h:99:6: note: declared here
   99 | void convertEquToEcl();
      |      ^~~~~~~~~~~~~~~
convertBesselianJulian.c:697:7: error: too many arguments to function ‘convertEclToEqu’; expected 0, have 6
  697 |       convertEclToEqu(elon, elat, ra, dec, date, JULIAN);
      |       ^~~~~~~~~~~~~~~ ~~~~
./coord.h:98:6: note: declared here
   98 | void convertEclToEqu();
      |      ^~~~~~~~~~~~~~~
convertBesselianJulian.c: At top level:
convertBesselianJulian.c:714:6: error: conflicting types for ‘correctForEclipticETerms’; have ‘void(double,  double *, double *)’
  714 | void correctForEclipticETerms(double date, double *ra, double *dec)
      |      ^~~~~~~~~~~~~~~~~~~~~~~~
convertBesselianJulian.c:13:6: note: previous declaration of ‘correctForEclipticETerms’ with type ‘void(void)’
   13 | void correctForEclipticETerms();
      |      ^~~~~~~~~~~~~~~~~~~~~~~~
convertBesselianJulian.c: In function ‘correctForEclipticETerms’:
convertBesselianJulian.c:744:7: error: too many arguments to function ‘convertEquToEcl’; expected 0, have 6
  744 |       convertEquToEcl(*ra, *dec, &elon, &elat, date, JULIAN);
      |       ^~~~~~~~~~~~~~~ ~~~
./coord.h:99:6: note: declared here
   99 | void convertEquToEcl();
      |      ^~~~~~~~~~~~~~~
convertBesselianJulian.c:753:7: error: too many arguments to function ‘convertEclToEqu’; expected 0, have 6
  753 |       convertEclToEqu(elon, elat, ra, dec, date, JULIAN);
      |       ^~~~~~~~~~~~~~~ ~~~~
./coord.h:98:6: note: declared here
   98 | void convertEclToEqu();
      |      ^~~~~~~~~~~~~~~
make[4]: *** [<builtin>: decimalDegreeToSex.o] Error 1
make[4]: *** [<builtin>: convertBesselianJulian.o] Error 1
make[4]: Leaving directory '/build/reproducible-path/montage-6.1+dfsg/lib/src/coord'
make[3]: *** [Makefile:3: all] Error 2
make[3]: Leaving directory '/build/reproducible-path/montage-6.1+dfsg/lib/src'
make[2]: *** [Makefile:7: all] Error 2
make[2]: Leaving directory '/build/reproducible-path/montage-6.1+dfsg'
dh_auto_build: error: make -j8 "INSTALL=install --strip-program=true" returned exit code 2
make[1]: *** [debian/rules:24: override_dh_auto_build] Error 25
make[1]: Leaving directory '/build/reproducible-path/montage-6.1+dfsg'
make: *** [debian/rules:14: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2



More information about the Debian-astro-maintainers mailing list