#1098129 xcrysden: ftbfs with GCC-15

Package:
src:xcrysden
Source:
src:xcrysden
Submitter:
Matthias Klose
Date:
2025-10-05 00:51:02 UTC
Severity:
normal
Tags:
#1098129#5
Date:
2025-02-17 18:01:21 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/xcrysden_1.6.2-4_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

[...]

  265 | 11      read(1,99990)x(1,na),x(2,na),x(3,na)
      |                                                                        1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 11 at (1)
str2xcr.f:269:72:

  269 | 12      klz(im)=z
      |                                                                        1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 12 at (1)
str2xcr.f:272:72:

  272 | 10     read(1,99993)
      |                                                                        1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 10 at (1)
gfortran -g -O2 -ffile-prefix-map=/build/reproducible-path/xcrysden-1.6.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -c fracCoor.f
gfortran -g -O2 -ffile-prefix-map=/build/reproducible-path/xcrysden-1.6.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -c multislab.f
gfortran -g -O2 -ffile-prefix-map=/build/reproducible-path/xcrysden-1.6.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -c writeftn34.f
gfortran -g -O2 -ffile-prefix-map=/build/reproducible-path/xcrysden-1.6.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -c ftnunit.f
gfortran -g -O2 -ffile-prefix-map=/build/reproducible-path/xcrysden-1.6.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -c savestruct.f
gfortran -g -O2 -ffile-prefix-map=/build/reproducible-path/xcrysden-1.6.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -c kPath.f
gfortran -g -O2 -ffile-prefix-map=/build/reproducible-path/xcrysden-1.6.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -c getintcoor.f
gfortran -g -O2 -ffile-prefix-map=/build/reproducible-path/xcrysden-1.6.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -c pwKPath.f
gfortran -g -O2 -ffile-prefix-map=/build/reproducible-path/xcrysden-1.6.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -c fhi_inpini2ftn34.f
gfortran -g -O2 -ffile-prefix-map=/build/reproducible-path/xcrysden-1.6.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -c fhi_coord2xcr.f
gfortran -g -O2 -ffile-prefix-map=/build/reproducible-path/xcrysden-1.6.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -c wn_readbands.f
gfortran -g -O2 -ffile-prefix-map=/build/reproducible-path/xcrysden-1.6.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -c wn_readbakgen.f
gfortran -g -O2 -ffile-prefix-map=/build/reproducible-path/xcrysden-1.6.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -c pwi2xsf.f
gfortran -g -O2 -ffile-prefix-map=/build/reproducible-path/xcrysden-1.6.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -c latgen.f90
gfortran -g -O2 -ffile-prefix-map=/build/reproducible-path/xcrysden-1.6.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -c pw_util.f
gfortran -g -O2 -ffile-prefix-map=/build/reproducible-path/xcrysden-1.6.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -c pwi2xsf_old.f
gfortran -g -O2 -ffile-prefix-map=/build/reproducible-path/xcrysden-1.6.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -c pwo_xsf2xsf.f
gfortran -g -O2 -ffile-prefix-map=/build/reproducible-path/xcrysden-1.6.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -c fsReadBXSF.f
gfortran -g -O2 -ffile-prefix-map=/build/reproducible-path/xcrysden-1.6.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -c cube2xsf.f
gfortran -g -O2 -ffile-prefix-map=/build/reproducible-path/xcrysden-1.6.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -c xsf2cube.f
for prog in gengeom calplane atomlab recvec str2xcr fracCoor multislab savestruct ftnunit kPath pwKPath fhi_inpini2ftn34 fhi_coord2xcr wn_readbands wn_readbakgen pwi2xsf pwi2xsf_old pwo_xsf2xsf fsReadBXSF cube2xsf xsf2cube; do \
	if test -x $prog.exe ; then cp $prog.exe ../bin ; \
	elif test -x $prog ; then cp $prog ../bin ; fi; \
done
gfortran -g -O2 -ffile-prefix-map=/build/reproducible-path/xcrysden-1.6.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o gengeom gengeom.o multhexa.o multatom.o box.o ttcplane.o readf1.o auxil.o wigner.o wigner12d.o reduce.o convexhull.o p2c.o
gfortran -g -O2 -ffile-prefix-map=/build/reproducible-path/xcrysden-1.6.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o calplane calplane.o
gfortran -g -O2 -ffile-prefix-map=/build/reproducible-path/xcrysden-1.6.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o atomlab atomlab.o readXYZ.o readf1.o auxil.o
gfortran -g -O2 -ffile-prefix-map=/build/reproducible-path/xcrysden-1.6.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o recvec recvec.o auxil.o
gfortran -g -O2 -ffile-prefix-map=/build/reproducible-path/xcrysden-1.6.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o str2xcr str2xcr.o auxil.o
gfortran -g -O2 -ffile-prefix-map=/build/reproducible-path/xcrysden-1.6.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o fracCoor fracCoor.o auxil.o  readf1.o
gfortran -g -O2 -ffile-prefix-map=/build/reproducible-path/xcrysden-1.6.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o multislab multislab.o readf1.o auxil.o writeftn34.o
gfortran -g -O2 -ffile-prefix-map=/build/reproducible-path/xcrysden-1.6.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o ftnunit ftnunit.o
gfortran -g -O2 -ffile-prefix-map=/build/reproducible-path/xcrysden-1.6.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o savestruct savestruct.o readf1.o auxil.o
gfortran -g -O2 -ffile-prefix-map=/build/reproducible-path/xcrysden-1.6.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o kPath kPath.o getintcoor.o auxil.o readf1.o
gfortran -g -O2 -ffile-prefix-map=/build/reproducible-path/xcrysden-1.6.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o pwKPath pwKPath.o auxil.o readf1.o
gfortran -g -O2 -ffile-prefix-map=/build/reproducible-path/xcrysden-1.6.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o fhi_inpini2ftn34 fhi_inpini2ftn34.o
gfortran -g -O2 -ffile-prefix-map=/build/reproducible-path/xcrysden-1.6.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o fhi_coord2xcr fhi_coord2xcr.o
gfortran -g -O2 -ffile-prefix-map=/build/reproducible-path/xcrysden-1.6.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o wn_readbands wn_readbands.o  SRC_spaghetti/get_k.o SRC_spaghetti/get_ei.o
gfortran -g -O2 -ffile-prefix-map=/build/reproducible-path/xcrysden-1.6.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o wn_readbakgen wn_readbakgen.o
gfortran -g -O2 -ffile-prefix-map=/build/reproducible-path/xcrysden-1.6.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o pwi2xsf pwi2xsf.o latgen.o auxil.o pw_util.o
gfortran -g -O2 -ffile-prefix-map=/build/reproducible-path/xcrysden-1.6.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o pwi2xsf_old pwi2xsf_old.o
gfortran -g -O2 -ffile-prefix-map=/build/reproducible-path/xcrysden-1.6.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o pwo_xsf2xsf pwo_xsf2xsf.o latgen.o auxil.o pw_util.o
gfortran -g -O2 -ffile-prefix-map=/build/reproducible-path/xcrysden-1.6.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o fsReadBXSF fsReadBXSF.o auxil.o wigner.o convexhull.o reduce.o
gfortran -g -O2 -ffile-prefix-map=/build/reproducible-path/xcrysden-1.6.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o cube2xsf cube2xsf.o
gfortran -g -O2 -ffile-prefix-map=/build/reproducible-path/xcrysden-1.6.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o xsf2cube xsf2cube.o
make[3]: Leaving directory '/build/reproducible-path/xcrysden-1.6.2/F'
make[4]: Leaving directory '/build/reproducible-path/xcrysden-1.6.2/C'
make[3]: *** [Makefile:22: compile] Error 2
make[3]: Leaving directory '/build/reproducible-path/xcrysden-1.6.2/C'
make[2]: *** [Makefile:83: src-C] Error 2
make[2]: Leaving directory '/build/reproducible-path/xcrysden-1.6.2'
dh_auto_build: error: make -j8 "INSTALL=install --strip-program=true" xcrysden returned exit code 2
make[1]: *** [debian/rules:22: override_dh_auto_build] Error 25
make[1]: Leaving directory '/build/reproducible-path/xcrysden-1.6.2'
make: *** [debian/rules:19: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2

#1098129#14
Date:
2025-10-04 17:43:03 UTC
From:
To:
Dear maintainer,

I've prepared an NMU for xcrysden (versioned as 1.6.2-4.1) and uploaded
it to DELAYED/14. Please feel free to tell me if I should cancel it.

cu
Adrian

#1098129#21
Date:
2025-10-05 00:35:58 UTC
From:
To:
Hello,

Bug #1098129 in xcrysden reported by you has been fixed in the
Git repository and is awaiting an upload. You can see the commit
message below and you can check the diff of the fix at:

https://salsa.debian.org/debichem-team/xcrysden/-/commit/4f982e220da4696efce45778e13f23144263d1ca

(this message was generated automatically)
-- 
Greetings

https://bugs.debian.org/1098129

#1098129#26
Date:
2025-10-05 00:38:59 UTC
From:
To:
Thanks for your work. I've made a team upload (versioned -5) from your NMU.

Thanks.

#1098129#31
Date:
2025-10-05 00:49:44 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
xcrysden, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1098129@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Santiago Vila <sanvila@debian.org> (supplier of updated xcrysden package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Sun, 05 Oct 2025 01:55:00 +0200
Source: xcrysden
Architecture: source
Version: 1.6.2-5
Distribution: unstable
Urgency: medium
Maintainer: Debichem Team <debichem-devel@lists.alioth.debian.org>
Changed-By: Santiago Vila <sanvila@debian.org>
Closes: 1098129
Changes:
 xcrysden (1.6.2-5) unstable; urgency=medium
 .
   * Team upload.
 .
   [ Adrian Bunk ]
   * Fix FTBFS with GCC 15. Closes: #1098129.
 .
   [ Santiago Vila ]
   * Use standard simplified salsa-ci.yml.
   * Build-depends on libgl-dev instead of libgl1-mesa-dev.
   * Drop debian/compat and use modern syntax to specify compat level.
   * Use debhelper compat level 13.
   * Update standards-version.
Checksums-Sha1:
 e5b86dd76eda5b0046de82efc550abb545e351f9 1805 xcrysden_1.6.2-5.dsc
 11b061944a2e484ed6181cb9c49b98cb3cf7bf36 8060 xcrysden_1.6.2-5.debian.tar.xz
 c8374707eebed4766adc8ce8eae1a3ab4d0b1308 8114 xcrysden_1.6.2-5_source.buildinfo
Checksums-Sha256:
 e6eda3ee0667428b8b06835666d6afc8a11246306e66a158de38c1e6c53f2a38 1805 xcrysden_1.6.2-5.dsc
 9662a2fad6e870f7b86beaeb766e119e74c54786e84ae7d4d33fa1a6558435ab 8060 xcrysden_1.6.2-5.debian.tar.xz
 980837bb818142c529e85a57f4aea35ea9ae7878c731e235acfec01ccd8ee5bd 8114 xcrysden_1.6.2-5_source.buildinfo
Files:
 a6e90743343ab8436d0e517d25d2d743 1805 science optional xcrysden_1.6.2-5.dsc
 6c95b976b4ae63569a699eb389aa6e80 8060 science optional xcrysden_1.6.2-5.debian.tar.xz
 fa24ce8db944ea69143fb71466ba80b8 8114 science optional xcrysden_1.6.2-5_source.buildinfo
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEE1Uw7+v+wQt44LaXXQc5/C58bizIFAmjhvRYACgkQQc5/C58b
izIcxwgAjdIqlNk6ymHWChQEsIvj7//xwqQKYSPlKi61uE7CWR336t2lxjFJiEbd
uTrjnyB3sIAZGLvFN5vXVoKJCD+CAHcYbuxKJ7KHBHmgBktBRLSFGHdDWFxcytZD
jSqSlD6gd5LR7wn14+hhpZhdtzxkmPtCLL4t3xER4vpDmjRSsa9aAdfh3dky9+0y
0At3YcgF/RHYUya5sWJbx2S1JfINzMzmY7CccOJTw6Y+dI9Te8V/HjwxVH1maHH3
N1B+RPe624r31SJ5NBGyC7bpQZn32x3gdg12llBoN8IKjk04arekrwv8XKG3Q3yO
8vmMYxJIib82VKSnngyZ3rorbsJ2OA==
=8R62
-----END PGP SIGNATURE-----