Public bug reported:

The fortran-lang stack in stonking-proposed is stuck on a bootstrap loop
between fortran-fpm and its libraries:

 * fortran-testdrive 0.6.1-1, fortran-toml 0.5.2-1, fortran-jonquil 0.3.2-1, 
fortran-assert 3.1.2-1 (and fortran-stdlib, which build-depends on them) fail 
with fortran-fpm 0.12, the version in stonking:
     <ERROR>*cmd_build* Package error: Key type is not allowed in library
   Their fpm.toml uses "[library] type = ['shared','static']", which needs fpm 
0.13.
 * fortran-cli2, fortran-regex and fortran-shlex are in Dependency wait on 
fortran-fpm (>= 0.13.0-4).
 * fortran-fpm 0.13.0-6 (Debian) cannot be synced and built as-is: its full 
build needs libfortran-toml-dev and libfortran-jonquil-dev whose Fortran 
modules match each other. The versions in stonking (toml 0.5.1-1, jonquil 
0.3.0-3) don't:
     Fatal Error: Mismatch in components of derived type 
'__vtype_tomlf_de_abc_Abstract_lexer' from 'tomlf_de_abc'
   Its stage1 profile does not help either: it only installs the bundled 
bootstrap fpm.F90, which is fpm 0.8.0 and has the same "Key type is not 
allowed" error. A no-change rebuild of jonquil 0.3.0-3 doesn't help: it 
downloads its own toml-f from GitHub during the build.

Ubuntu's fortran-fpm 0.12.0-5ubuntu1 delta ("Drop build-dependencies for
bootstrapping") is obsolete: Debian's packaging now has a stage1
profile, and 0.13.0-6 can be used unchanged.

Bootstrap plan, tested in stonking containers (no network during builds):
 1. In a bootstrap PPA, build fortran-toml 0.5.2-0~bootstrap1 and 
fortran-jonquil 0.3.2-0~bootstrap1. These are the 0.5.2-1/0.3.2-1 sources with 
a bootstrap-only packaging that uses upstream's meson build (gfortran only, no 
fpm, no dh-fortran). They ship only libfortran-*-dev with the static library, 
modules (in /usr/lib/<triplet>/fortran/gfortran-mod-16/) and pkgconfig file. 
Their versions are lower than the archive's, so the real packages replace them.
 2. In the same PPA, build fortran-fpm 0.13.0-6 unchanged from Debian against 
them. This gives a real fpm 0.13, statically linked.
 3. Copy the fortran-fpm binaries from the PPA to stonking-proposed (archive 
admin), or sync 0.13.0-6 and build it with the PPA as an extra dependency.
 4. Then, in this order, rebuild or retry in the archive: fortran-testdrive, 
fortran-toml, fortran-jonquil, then a no-change rebuild of fortran-fpm against 
the archive libraries, then fortran-assert, fortran-julienne, fortran-caffeine, 
fortran-stdlib, fortran-cli2, fortran-regex and fortran-shlex.
    Tested in the container: with fpm 0.13 from step 2, fortran-testdrive 
0.6.1-1, fortran-toml 0.5.2-1 and fortran-jonquil 0.3.2-1 build, and 
fortran-fpm 0.13.0-6 rebuilds fine against the resulting archive libraries.

Step 4 additionally needs:
 * LP: #2169677 (dh_strip/debugedit corrupting the patchelf'd libraries; every 
one of these packages fails in dh_strip without it)
 * LP: #2169678 (dh-fortran not stripping Ubuntu's default flags for 
flang/lfortran; fortran-toml FTBFS without it)
 * LP: #2169224 (gfortran-16), already fixed in dh-fortran 0.85ubuntu2.

** Affects: fortran-assert (Ubuntu)
     Importance: Undecided
         Status: New

** Affects: fortran-caffeine (Ubuntu)
     Importance: Undecided
         Status: New

** Affects: fortran-cli2 (Ubuntu)
     Importance: Undecided
         Status: New

** Affects: fortran-fpm (Ubuntu)
     Importance: Undecided
         Status: New

** Affects: fortran-jonquil (Ubuntu)
     Importance: Undecided
         Status: New

** Affects: fortran-julienne (Ubuntu)
     Importance: Undecided
         Status: New

** Affects: fortran-regex (Ubuntu)
     Importance: Undecided
         Status: New

** Affects: fortran-shlex (Ubuntu)
     Importance: Undecided
         Status: New

** Affects: fortran-stdlib (Ubuntu)
     Importance: Undecided
         Status: New

** Affects: fortran-testdrive (Ubuntu)
     Importance: Undecided
         Status: New

** Affects: fortran-toml (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: update-excuse

** Tags added: update-excuse

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2169679

Title:
  fortran-lang stack stuck: packages need fortran-fpm 0.13, which needs
  a bootstrap (toml-f/jonquil module mismatch)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/fortran-assert/+bug/2169679/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to