Debian Bug report logs -
#957565
mpgrafic: ftbfs with GCC-10
Reported by: Matthias Klose <doko@debian.org>
Date: Fri, 17 Apr 2020 11:21:45 UTC
Severity: serious
Tags: bullseye, sid
Found in version mpgrafic/0.3.18-1
Fixed in version 0.3.19-1
Done: Boud Roukema <boud-debian@cosmo.torun.pl>
Bug is archived. No further changes may be made.
Toggle useless messages
Report forwarded
to Debian Astro Team <debian-astro-maintainers@lists.alioth.debian.org>:
Bug#957565; Package src:mpgrafic.
(Fri, 17 Apr 2020 11:21:47 GMT) (full text, mbox, link).
Acknowledgement sent
to Matthias Klose <doko@debian.org>:
New Bug report received and forwarded. Copy sent to Debian Astro Team <debian-astro-maintainers@lists.alioth.debian.org>.
(Fri, 17 Apr 2020 11:21:47 GMT) (full text, mbox, link).
Message #5 received at maintonly@bugs.debian.org (full text, mbox, reply):
Package: src:mpgrafic
Version: 0.3.18-1
Severity: normal
Tags: sid bullseye
User: debian-gcc@lists.debian.org
Usertags: ftbfs-gcc-10
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-10/g++-10, but succeeds to build with gcc-9/g++-9. The
severity of this report will be raised before the bullseye release,
so nothing has to be done for the buster release.
The full build log can be found at:
http://people.debian.org/~doko/logs/gcc10-20200225/mpgrafic_0.3.18-1_unstable_gcc10.log
The last lines of the build log are at the end of this report.
To build with GCC 10, either set CC=gcc-10 CXX=g++-10 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.
apt-get -t=experimental install g++
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-10/porting_to.html
[...]
checking whether we are using the GNU Fortran compiler... yes
checking whether gfortran accepts -g... yes
checking for mpifort... mpifort
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking how to get verbose linking output from mpifort... -v
checking for Fortran libraries of mpifort... -L/usr/lib/x86_64-linux-gnu/openmpi/lib -L/usr/lib/gcc/x86_64-linux-gnu/10 -L/usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/10/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/10/../../.. -lmpi_usempif08 -lmpi_usempi_ignore_tkr -lmpi_mpifh -lmpi -lgfortran -lm -lquadmath -lpthread
checking for fftw3d_f77_create_plan in -ldfftw... no
checking for fftw3d_f77_create_plan in -lfftw... yes
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking whether gcc understands -c and -o together... (cached) yes
checking dependency style of gcc... (cached) none
checking for main in -lgcc... yes
checking for cblas_dgemv in -lgslcblas... yes
checking for gsl_spline_init in -lgsl... yes
checking for mpicc... mpicc
checking for MPI_Init... yes
checking for mpi.h... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating config.h
config.status: executing depfiles commands
configure: WARNING: unrecognized options: --disable-maintainer-mode
dh_auto_build
make -j4
make[1]: Entering directory '/<<PKGBUILDDIR>>'
make all-recursive
make[2]: Entering directory '/<<PKGBUILDDIR>>'
Making all in src
make[3]: Entering directory '/<<PKGBUILDDIR>>/src'
mpifort -cpp -DDOUB -DHAVE_USE_MPI_F08 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -c -o grafic_types.o grafic_types.f90
mpicc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -c -o parallel_io.o parallel_io.c
mpifort -cpp -DDOUB -DHAVE_USE_MPI_F08 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -c -o wrap_gsl_rng_mod.o wrap_gsl_rng_mod.f90
mpicc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -c -o c_gsl_wrap.o c_gsl_wrap.c
mpifort -cpp -DDOUB -DHAVE_USE_MPI_F08 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -c -o wrap_rfftw3d_mod.o wrap_rfftw3d_mod.f90
mpicc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -c -o rfftw3d_mpi_create_plan_c_wrap.o rfftw3d_mpi_create_plan_c_wrap.c
mpifort -cpp -DDOUB -DHAVE_USE_MPI_F08 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -c -o random.o random.f90
mpifort -cpp -DDOUB -DHAVE_USE_MPI_F08 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -c -o util.o util.f90
mpifort -cpp -DDOUB -DHAVE_USE_MPI_F08 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -c -o time.o time.f90
mpifort -cpp -DDOUB -DHAVE_USE_MPI_F08 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -c -o mppower.o mppower.f90
help2man --output=mpgrafic.1 \
--name="MPI version of N-body initial conditions grafic package" \
--no-info ./mpgrafic || true
/bin/bash: help2man: command not found
mpifort -cpp -DDOUB -DHAVE_USE_MPI_F08 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -c -o grafic_io.o grafic_io.f90
mpifort -cpp -DDOUB -DHAVE_USE_MPI_F08 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -c -o transform.o transform.f90
mpifort -cpp -DDOUB -DHAVE_USE_MPI_F08 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -c -o mpnorm.o mpnorm.f90
transform.f90:81:32:
81 | call rfftwnd_f77_mpi(plan,1,input,work, &
| 1
......
109 | call rfftwnd_f77_mpi(plan,1,input,work, &
| 2
Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/REAL(4)).
make[3]: *** [Makefile:457: transform.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory '/<<PKGBUILDDIR>>/src'
make[2]: *** [Makefile:593: all-recursive] Error 1
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[1]: *** [Makefile:533: all] Error 2
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_build: error: make -j4 returned exit code 2
make: *** [debian/rules:16: build] Error 25
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2
Severity set to 'serious' from 'normal'
Request was from Matthias Klose <doko@debian.org>
to control@bugs.debian.org.
(Wed, 22 Jul 2020 08:06:19 GMT) (full text, mbox, link).
Reply sent
to Boud Roukema <boud-debian@cosmo.torun.pl>:
You have taken responsibility.
(Sat, 01 Aug 2020 14:39:08 GMT) (full text, mbox, link).
Notification sent
to Matthias Klose <doko@debian.org>:
Bug acknowledged by developer.
(Sat, 01 Aug 2020 14:39:08 GMT) (full text, mbox, link).
Message #12 received at 957565-done@bugs.debian.org (full text, mbox, reply):
Version: 0.3.19-1
Hi Matthias, all,
On Fri, 17 Apr 2020, Matthias Klose wrote:
> Package: src:mpgrafic
> Version: 0.3.18-1
> Severity: normal
> Tags: sid bullseye
> User: debian-gcc@lists.debian.org
> Usertags: ftbfs-gcc-10
Sorry for the slow response!
This bug is fixed in 0.3.19-1 :
https://tracker.debian.org/news/1164535/accepted-mpgrafic-0319-1-source-into-unstable/
The bug is because gcc-10 is more strict about fortran overloading of
procedure modules compared to gcc-9. The newer gcc does not accept the
possibility that a compiled routine might never be used as a result of
configure.ac and src/Makefile.am decisions. The update to gcc is probably
good in terms of modularity.
The build for 0.3.19-1 passed on all the official architectures:
https://buildd.debian.org/status/package.php?p=mpgrafic
e.g. with gcc-10_10.2.0-3 on amd64, and most of the unofficial ones.
It failed on sh4 with gcc-10_10.1.0-6, which is slightly older than 10_10.2.0-3:
https://buildd.debian.org/status/fetch.php?pkg=mpgrafic&arch=sh4&ver=0.3.19-1&stamp=1596284081&raw=0
The fail reason on sh4 is for a similar reason to the original bug
#957565, with the difference that the two subroutines that gcc
requires having consistent types for parameters are MPI routines:
> mpic4.f90:242:20:
>
> 238 | call mpi_bcast(i1,1,mpi_integer,0,mpi_comm_world,ierr)
> | 2
> ......
> 242 | call mpi_bcast(iseed,1,mpi_integer8,0,mpi_comm_world,ierr)
> | 1
> Error: Type mismatch between actual argument at (1) and actual argument at (2) (INTEGER(8)/INTEGER(4)).
> mpic4.f90:503:18:
>
> 316 | call mpi_reduce(lchisq,chisq,1,mpi_double_precision,mpi_sum,0,mpi_comm_world,ierr)
> | 2
> ......
> 503 | call mpi_reduce(lfm,fm,1,mpi_real,mpi_max,0,mpi_comm_world,ierr)
> | 1
>
Since Openmpi is very actively maintained, my guess is that between
gcc-10_10.1.0-6 and gcc-10_10.2.0-3, people pointed out that MPI is
*expected* to have overloading of its input parameters, allowing different
types to be used with independent calls in a single subroutine. So
the false-positive detection of a compile error was shifted to a
non-error.
So the sh4 bug is presumably a gcc bug that appears to have been
solved (at least within Debian, though presumably also upstream). It should
disappear from sh4 when/if sh4 can handle the gcc-10 update.
Cheers
Boud
Bug archived.
Request was from Debbugs Internal Request <owner@bugs.debian.org>
to internal_control@bugs.debian.org.
(Mon, 31 Aug 2020 07:33:43 GMT) (full text, mbox, link).
Send a report that this bug log contains spam.
Debian bug tracking system administrator <owner@bugs.debian.org>.
Last modified:
Tue Sep 20 07:53:02 2022;
Machine Name:
buxtehude
Debian Bug tracking system
Debbugs is free software and licensed under the terms of the GNU
Public License version 2. The current version can be obtained
from https://bugs.debian.org/debbugs-source/.
Copyright © 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson,
2005-2017 Don Armstrong, and many other contributors.