Debian Bug report logs - #957565
mpgrafic: ftbfs with GCC-10

version graph

Package: src:mpgrafic; Maintainer for src:mpgrafic is Debian Astro Team <debian-astro-maintainers@alioth-lists.debian.net>;

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

View this report as an mbox folder, status mbox, maintainer mbox


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):

From: Matthias Klose <doko@debian.org>
To: maintonly@bugs.debian.org
Subject: mpgrafic: ftbfs with GCC-10
Date: Fri, 17 Apr 2020 11:06:34 +0000
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):

From: Boud Roukema <boud-debian@cosmo.torun.pl>
To: 957565-done@bugs.debian.org, Matthias Klose <doko@debian.org>
Cc: Boud Roukema <boud-debian@cosmo.torun.pl>
Subject: Re: Bug#957565: mpgrafic: ftbfs with GCC-10
Date: Sat, 1 Aug 2020 16:31:29 +0200 (CEST)
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.