On Wed, Feb 13, 2019 at 09:41:25AM -0800, Anil Madhavapeddy wrote: > > > > On 13 Feb 2019, at 09:07, Jeremie Courreges-Anglas <j...@wxcvbn.org> wrote: > > > > On Sat, Jul 21 2018, Christopher Zimmermann <chr...@openbsd.org > > <mailto:chr...@openbsd.org>> wrote: > >> On 2018-06-21 Christopher Zimmermann <chr...@openbsd.org> wrote: > >>> Hi, > >>> > >>> the last few days I prepared an update of ocaml to 4.06 and opam to > >>> 2.00rc2 and along with it updates or REVISION bumps of the dependent > >>> ports. > >> > >> Here comes a reworked diff to upgrade to OCaml 4.07. (attached gzipped) > >> Thanks for the testing and fixes you supplied so far. > >> I believe I included all of them so far. > >> I will need some help in moving sysutils/dune to devel/, because I > >> imported it into the wrong category. > >> Also building dune on sparc64 was broken. I suspect the stack size > >> needs to be increased with ulimit -s 8192. Can someone with access to > >> sparc64 please test this as I don't have access to any sparc64 machine? > > > > So, back to this: > > - sysutils/dune has been moved to devel/dune, updated to the latest > > version, which also fixes the stack exhaustion seen on amd64 by krw > > and me. > > - devel/dune is still broken on sparc64 because the "custom bytecode > > executable" produced by dune are stripped by the install target. > > My first idea was just to force dune to produce standard bytecode > > executables. That would be more convenient for the ports tree, but > > ignoring the choices made upstream. We could also just ensure that > > all the ports using dune don't using strip(1). > > OCaml bytecode executables prefer -custom mode since that also > supports loading in shared library stubs automatically. If the executable > were built without -custom, it needs setting ld path variables and > matching the right version of ocamlrun. > > A reasonable default is to strip native code binaries and not do so for > any bytecode executables built by the OCaml ports (not just the ones > built with dune). > > Anil
Here's a comparison chart of whet I've got successfully compiled/installed via opam 2.0.3 and what is in our ports tree. (.org file available on request) |------------------------+----------------+-------------+-----------------------+----------------------| | Port | Port Version | OPAM Name | OPAM Version | OPAM depends ocaml | |------------------------+----------------+-------------+-----------------------+----------------------| | devel/cil | 1.5.1 | cil | 1.7.3 | < 4.06.0 | | devel/coccinelle | 1.0.4 | coccinelle | 1.0.2 (current 1.0.7) | none (?) | | devel/cudf | 0.9 | cudf | 0.9 | none | | devel/dune | 1.6.3 | dune | 1.7.1 | >= 4.02 | | devel/frama-c | 1.11 | frama-c | 18.0 | >= 4.02.3 | | devel/ocaml-cmdliner | 0.9.8 | cmdliner | 1.0.3 | >= 4.03.0 | | devel/ocaml-cppo | 1.3.2 | cppo | 1.6.5 | none | | devel/ocaml-dose | 3.3 | dose | 3.4.2 | none | | devel/ocaml-extlib | 1.7.0 | extlib | 1.7.5 | none | | devel/ocaml-graph | 1.8.8 | ocamlgraph | 1.8.8 | none | | devel/ocaml-jsonm | 0.9.1 | jsonm | 1.0.1 | >= 4.01.0 | | devel/ocaml-menhir | 20180905 | menhir | 20181113 | >= 4.02 | | devel/ocaml-ocamlbuild | 0.9.2 | ocamlbuild | 0.12.0 | >= 4.03 & < 4.08.0 | | devel/ocaml-parmap | 1.0-rc7 | parmap | 1.0-rc10 | none | | devel/ocaml-pcre | 7.2.3 | pcre | 7.4.0 | >= 4.04 | | devel/ocaml-re | 1.4.1 | re | 1.8.0 | >= 4.02.3 | | devel/ocaml-uutf | 0.9.4 | uutf | 1.0.2 | >= 4.01.0 | | devel/omake | 0.9.8.5 | omake | 0.10.3 | >= 4.03.0 | | devel/ounit | 2.0.0 | ounit | 2.0.8 | >= 3.11.0 | | graphics/pdfsandwich | 0.1.7 | <none> | <0.1.7> | | | lang/compcert | 3.4 | <none> | <3.4> | | | lang/obc | 2.9.7 | <none> | <3.1> | | | lang/ocaml | 4.03.0 | | 4.07.1 | | | lang/ocaml-camlp4 | 4.03+1 | camlp4 | 4.07+system | >= 4.07 < 4.08 | | lang/ocaml-camlp5 | 7.05 | camlp5 | 7.06.10-g84ce6cc4 | >= 4.02 & <= 4.07.1 | | math/coq | 8.4p16 | coq | 8.9.0 | >= 4.02.3 | | math/ocaml-num | 1.1 | num | 1.1 | >= 4.06 | | math/ocaml-zarith | 1.7 | zarith | 1.7 | None | | net/mldonkey | 3.1.6 | mldonkey | 3.1.6 | >= 3.10.1 & < 4.06.0 | | net/unison | 2.48.15/2.51.2 | unison | 2.48.3 | < 4.03.0 | | sysutils/findlib | 1.6.2 | ocamlfind | 1.8.0 | >= 4.00.0 | | sysutils/opam | 1.2.2 | opam | 2.0.1 | >= 4.02.3 | | textproc/bibtex2html | 1.99 | bibtex2html | 1.99 | >= 4.03.0 | | textproc/hevea | 2.23 | hevea | 2.32 | none | | x11/lablgtk2 | 2.18.5 | lablgtk | 2.18.7 | >= 4.05 | |------------------------+----------------+-------------+-----------------------+----------------------| The ocaml depends column I got from the results of 'opam show <pkg>". I am not sure how seriously to take the info since several say they won't work with 4.07.1 and yet they do. :-). I note that pdfsandwich, compcert and obc do not have opam packages. I note the oddity that our ports tree has a newer version of coccinelle than opam! Finally, while I do have frama-c successfully building it does require the nasty hack of creating a /bin/bash link to /bin/sh because the latest alt-ergo(-lib) package has a configure script that starts with "#!/bin/bash -e". I could not figure out a pin incantation that allowed me to modify that file and build alt-ergo-lib. Sad. .... Ken