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

Re: Many Ocaml packages ftbfs on riscv64



Hi,

Le 07/02/2023 à 10:43, Bo YU a écrit :
There are many packages after upgrading new version and ftbfs on
riscv64 only with the same reason, like
[...]
File "_none_", line 1:
Error: Files /usr/lib/ocaml/ppxlib/astlib/astlib.cmxa
        and /usr/lib/ocaml/compiler-libs/ocamlcommon.cmxa
        make inconsistent assumptions over implementation Location
make[1]: *** [debian/rules:12: override_dh_auto_build] Error 1
make[1]: Leaving directory '/home/vimer/build/01/04/ppx-bin-prot-0.15.0'
make: *** [debian/rules:9: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2

```
The full log is here:
https://paste.debian.net/1269912/

Could you help me to have a look? TIA.

Ah, the infamous "inconsistent assumptions" error...


My theory is that the binNMU of ocaml that happened on riscv64 52 days ago actually changed some ABI deep down in OCaml, in a way that is not captured by ABIs seen by dh_ocaml (who only sees the OCaml version for the OCaml itself).


Indeed, in 4.13.1-3, the implementation of Location has hash:

  71ef05860655aabe363196083f27f3ba

whereas in 4.13.1-3+b1, it has hash:

  d953ceaf4bea20046c579284fe5c8418


Looking further, some configuration options are embedded in config.cmx, and some of them depend on the building path... this is a bug (#1030785)!

In the specific case at hand, there was also a change in default link options ("-ldl" was dropped).


I'm afraid this bug is going to be difficult to fix in practice... For the time being, you can binNMU ppxlib, then all broken packages. It should fix the errors you see.


Cheers,

--
Stéphane


Reply to: