Your message dated Sat, 1 Aug 2020 16:31:29 +0200 (CEST)
with message-id <alpine.deb.2.20.2008011615420.28...@adjani.astro.uni.torun.pl>
and subject line Re: Bug#957565: mpgrafic: ftbfs with GCC-10
has caused the Debian Bug report #957565,
regarding mpgrafic: ftbfs with GCC-10
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
957565: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=957565
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: src:mpgrafic
Version: 0.3.18-1
Severity: normal
Tags: sid bullseye
User: debian-...@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

--- End Message ---
--- Begin Message ---
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-...@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

--- End Message ---

Reply via email to