[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#714730: gfortran: binNMU is needed for all packages which contains Fortran90 .mod file when upgrading default version



Control: severity -1 important
Control: tag -1 + help

On 07/02/13 11:12, Ryo IGARASHI wrote:
> Package: gfortran Version: 4:4.8.1-2 Severity: critical Justification:
> breaks unrelated software
> 
> Dear Maintainer,
> 
> Currently, gfortran 4.7 to 4.8 transition causes many failures when 
> compiling user code.

Downgrading. This affects "only" some packages using Fortran90 files, and as
it looks it was handled in the past outside the gfortran package.

> When you upgrade the default gfortran version, you should ask binNMU for 
> all packages which contains Fortran90 .mod files.

As you write, these affects Fortran90 code, nothing broken with libraries
which don't use Fortran90 features.

> All the time you bump up the default gfortran version, packages which
> contains .mod file, such as MPI(openmpi), HDF5, or netCDF, needs
> recompilation since .mod files are incompatible between gfortran version.

Looks this is known upstream, see http://gcc.gnu.org/PR49138 for the GCC
issue, and https://bugs.linuxfoundation.org/show_bug.cgi?id=757 for the
general issue.

> This is hidden dependency,

... for Fortran90 code only. So something is needed to record the Fortran mod
version for those packages.

$ echo "module m; end module m" > test.f90
$ gfortran test.f90; zcat -f m.mod | head -n 1
GFORTRAN module version '10' created from test.f90

Use zcat to be prepared for compressed mod files in 4.9.

So as a first step, this mod version should be included in a package using
Fortran90, so that you can determine which version was used to build the package.

> However, I believe this incompatibiliy is not a user packager's fault.
> 
> I believe that these issue can be more easily handled by gfortran toolchain
> layer.

Well, there is currently no mechanism to record the gfortran module version.
This has to happen in the packages using fortran90 modules.  Some
infrastructure for that could be added in the gfortran-4.x packages.

This looks like a more general issue, but specific to Fortran90. The severity
is overrated.  I think if you want to properly address this,

 - then open a bug report for general, or come up with a proposal
   for debian-policy, or create a fortran90 policy.

 - file rc bug reports for all packages using fortran90 to include information
   which fortran module version it was built with (after coming up with
   a proposal how to record that). This is needed anyway to identify
   all packages which need binNMUs for future version changes.

  Matthias

PS: Thanks for Tobias for helping with this issue.


Reply to: