[ocaml-platform] Is it taking too long for OCaml software to become 4.03-compatible? Would release process changes help?

Alain Frisch alain at frisch.fr
Fri Jul 1 10:54:50 BST 2016

On 01/07/2016 11:10, Fabrice Le Fessant wrote:
> About that part of the discussion, I am really against any additional
> constraint that would delay a release of OCaml. We waited for years
> before deciding to have a regular release schedule (every 6 months), and
> now, everybody tries to delay releases for various reasons. So, yes to
> more monitoring of the compatibility of platform packages with trunk and
> beta-releases, but no to delaying the release because of platform
> packages being late to meet compatibility.

I fully agree.  The responsibility of the core team is to ensure the 
quality of the core distribution and to provide some clear and reliable 
information about the release cycle.  Each package maintainer is then 
responsible for ensuring their package work correctly, in a timely 
manner.  Then, if some groups want to create more stable subsets (your 
idea of a stable opam repository, or the "platform"), they would be 
responsible for managing the life-cycle and the stability of their subsets.

>     Do you have a description of OPAM-builder current strategy?
> For the strategy, it is the same as OPAM's standard strategy, i.e. it
> tries to match your query while minimizing the number of installed
> packages. That's the reason why it prefers `ppx_deriving.3.3` to
> `ppx_deriving.4.0` (that have an additional requirement to `result`).

Weird.  I tried again from an empty 4.03 switch and I get:

$ opam install ppx_type_conv

The following actions will be performed:
   ∗  install ocamlbuild    0.9.2              [required by ppx_type_conv]
   ∗  install ocamlfind     1.6.2              [required by ppx_type_conv]
   ∗  install result        1.2                [required by ppx_deriving]
   ∗  install ppx_tools     5.0+4.03.0         [required by ppx_type_conv]
   ∗  install cppo          1.3.2              [required by ppx_deriving]
   ∗  install ppx_core      113.33.01+4.03     [required by ppx_type_conv]
   ∗  install ppx_deriving  4.0                [required by ppx_type_conv]
   ∗  install ppx_optcomp   113.33.00+4.03     [required by ppx_driver]
   ∗  install ppx_driver    113.33.01+4.03     [required by ppx_type_conv]
   ∗  install ppx_type_conv 113.33.01+4.03

(which leads to a failure)

If I install ppx_deriving.3.3 manually, I get ocamlbuild, ocamlfind, 
cppo, ppx_tools, ppx_deriving, and then "opam install ppx_type_conv" 
suggests to install: ppx_core, ppx_optcomp, ppx_driver, ppx_type_conv. 
And this succeeds.  So the solver did not suggest in my case the path 
with fewer installed packages.  And I don't think that I ever tweaked 
the OPAM strategy.


More information about the Platform mailing list