Ximin Luo: > Stéphane Glondu: >> On 03/03/2017 14:19, Ximin Luo wrote: >>> I've pushed the changes to the debian/experimental branch. It builds well >>> but fails here: >> >> Looking at the commit diff, I suspect the package won't build on bytecode >> architectures. For example, it unconditionally installs ocamlopt.*. You >> should try on a porterbox. >> >> [..] > > Thanks for the hint, I've fixed this and some other things, and have done a > test build on mips64el. However there are a few last failures: > > dh_install: Cannot find (any matches for) > "/usr/lib/ocaml/raw_spacetime_lib.mli" (tried in "." and "debian/tmp") > dh_install: ocaml-nox missing files: /usr/lib/ocaml/raw_spacetime_lib.mli > dh_install: Cannot find (any matches for) > "/usr/lib/ocaml/raw_spacetime_lib.cmi" (tried in "." and "debian/tmp") > dh_install: ocaml-base-nox missing files: /usr/lib/ocaml/raw_spacetime_lib.cmi > dh_install: Cannot find (any matches for) > "/usr/lib/ocaml/raw_spacetime_lib.cma" (tried in "." and "debian/tmp") > dh_install: ocaml-base-nox missing files: /usr/lib/ocaml/raw_spacetime_lib.cma > > I'm not sure the best way to solve these. I could add OPT: to the relevant > entries in the *.install.in files, but nothing else in there follows this > pattern. Do you have any ideas? > > The build file for those libs are here: > https://anonscm.debian.org/git/pkg-ocaml-maint/packages/ocaml.git/tree/otherlibs/raw_spacetime_lib/Makefile.shared?h=debian/experimental >
The fix was to add a 64: prefix for the raw_spacetime_lib files. I added this in ocamlinit.mk and now all the builds are green. It seems upstream is slightly confused about whether this is supported for all 64-bit arches or just native-code 64-bit arches; discussion is onngoing here: https://github.com/ocaml/ocaml/pull/1080 However in practise the lib is enabled on all 64-bit arches, as can be seen (e.g.) by our mips64el packages. However findlib is now failing for the same reason (plus a dynlink issue that I've fixed in git already): https://buildd.debian.org/status/package.php?p=findlib&suite=experimental This uses dh-ocaml to parse the "DYN:"/"OPT:" prefixes so to add a 64: prefix I need to add it to dh-ocaml. (I thought ocamlinit.mk was something specific to the ocaml package, or I would have asked this question earlier): What shall we call the prefix? "64:" is OK for me, but I also wonder if we should call it "RAW_SP:" or something, in case they bring that library to more architectures in the future. There is also the question whether our prefix-based approach is sustainable in the long run, or whether we can think of a better solution that involves less manual work. X -- GPG: ed25519/56034877E1F87C35 GPG: rsa4096/1318EFAC5FBBDBCE https://github.com/infinity0/pubkeys.git

