Bug#939386: FTBFS with OCaml 4.08.0 (embeds .cmi in source package)

Stéphane Glondu glondu at debian.org
Wed Sep 4 11:56:24 BST 2019


Package: src:diffoscope
Version: 122
Severity: important
User: debian-ocaml-maint at lists.debian.org
Usertags: ocaml-4.08-transition

Dear Maintainer,

Your package diffoscope FTBFS with OCaml 4.08.0.

The failure is due to a test that inspects a .cmi file that is shipped
by the source package, using the "ocamlobjinfo" command. This cannot
work.

Indeed there is no compatibility guarantee on .cmi (or any other type
of object files) between different versions of OCaml. And this
incompatibility is what hurts here: the .cmi shipped in the source
package was made with OCaml < 4.08.0. The difference in version can be
seen with the "file" command.

I have two suggestions:
- Handle gracefully the case where ocamlobjinfo rejects an object file
  because it was not compiled with the same version of OCaml.
- Instead of shipping a .cmi file in the source package, generate one
  at build time.


Cheers,

-- 
Stéphane

-- System Information:
Debian Release: bullseye/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 5.2.0-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), LANGUAGE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled


More information about the Reproducible-builds mailing list