Re: Bug#1034691: nmu: why3_1.5.1-1+b1 frama-c_20220511-manganese-3-10
On 2023-04-22 11:30:48 +0200, Jochen Sprickerhof wrote:
> Control: tag -1 - moreinfo
>
> Hi Sebastian,
>
> * Sebastian Ramacher <sramacher@debian.org> [2023-04-22 11:10]:
> > On 2023-04-21 21:35:21 +0200, Jochen Sprickerhof wrote:
> > > Package: release.debian.org
> > > Severity: normal
> > > User: release.debian.org@packages.debian.org
> > > Usertags: binnmu
> > > X-Debbugs-Cc: why3@packages.debian.org
> > > Control: affects -1 + src:why3 src:frama-c
> > >
> > > Hi release team,
> > >
> > > can you please binNMU why3 to pick up the new ABI:
> > >
> > > nmu why3_1.5.1-1+b1 . ANY . unstable . -m "Rebuild with new OCaml ABI"
> > >
> > > And afterwards frama-c needs a rebuild against the new why3:
> > >
> > > nmu frama-c_20220511-manganese-3-10 . ANY . unstable . -m "Rebuild with new OCaml ABI (Closes: #1033701)"
> >
> > why3 installs perfectly fine in both bookworm and unstable. Why is this
> > needed? We are past the point of doing transitions (especially
> > uncoordinated ones).
>
> I don't know enough OCaml but rebuilding why3 and frama-c on top fixes
> frama-c and thus #1033701 for me.
>
> My understanding is that dh-ocaml uses some hash to track the ABI of a
> library and encodes into a virtual package:
>
> $ apt-cache show libwhy3-ocaml-dev | grep Provides
> Provides: libwhy3-ocaml-dev-mzlf3
>
> And frama-c-base depends exactly on that:
>
> apt-cache show frama-c-base | grep -o "libwhy3-ocaml-dev[^,]*"
> libwhy3-ocaml-dev-mzlf3
>
> But rebuilding the package in testing generates a different hash:
>
> $ sbuild -d testing why3 | grep Provides
> Provides: libwhy3-ocaml-dev-2bt20
Both why3 and frama-c have been rebuilt after the last ocaml ABI change.
>From a quick between a build now and from the last why3, the following
packages changed (that appear to be relevant):
libcairo2-ocaml-dev (= [-0.6.2+dfsg-1+b1),-] {+0.6.4+dfsg-1),+}
ocaml (= [-4.13.1-3),-] {+4.13.1-4),+}
ocaml-base (= [-4.13.1-3),-] {+4.13.1-4),+}
ocaml-compiler-libs (= [-4.13.1-3),-] {+4.13.1-4),+}
ocaml-findlib (= [-1.9.3-1),-] {+1.9.6-1+b1),+}
ocaml-interp (= [-4.13.1-3),-] {+4.13.1-4),+}
ocaml-nox (= [-4.13.1-3),-] {+4.13.1-4),
So either the change in ocaml caused the ABI to change and we probably
need to rebuild the world of ocaml packages, or the ABI of why3 is
influenced by libcairo2-ocaml-dev but is missing the proper
dependencies.
Adding the OCaml maintainers to the loop to check the situation. But
overall this sounds liek a bug that we want to have fixed properly and
not paper over with a couple of rebuilds.
Cheers
--
Sebastian Ramacher
Reply to: