Previously discussed:
https://www.redhat.com/archives/libguestfs/2017-September/msg00203.html
Currently libguestfs and virt-v2v require OCaml >= 4.01. (That's
perhaps theoretical, as I don't think anyone is really compiling them
with such an old compiler). This causes a bunch of trouble. To my
mind the major things are:
- Having to have the "Bytes" compatibility module (added in OCaml 4.02).
- Conditional on -runtime-variant _pic (added in OCaml 4.03).
- Not being able to use ppx extension points, which means we have
lots of repetitive string_of_* functions that could be mostly
eliminated (needs OCaml >= 4.02).
- Match + catch (needs OCaml >= 4.02)
https://blog.janestreet.com/pattern-matching-and-exception-handling-unite/
- Warnings about "noalloc" (>= 4.03) and "Pervasives" (>=
4.07).
I guess it's also the case that some dependencies that we require
don't actually work on OCaml 4.01.
Here are some common distros and the versions of OCaml available:
Arch (Extra) OCaml 4.09
Debian stable OCaml 4.05
Debian testing OCaml 4.08
Fedora 31 OCaml 4.08
OpenSUSE OCaml 4.05
RHEL 7 OCaml 4.05
RHEL 8 OCaml 4.07
Ubuntu 16.04 OCaml 4.02
Ubuntu 18.04 OCaml 4.05
Here are the release dates of the OCaml compiler:
OCaml version Release date
4.02 2014-08
4.03 2016-04
4.04 2016-11
4.05 2017-07
4.06 2017-11
4.07 2018-07
4.08 2019-06
4.09 2019-09
4.10 2020
I think we should move the minimum to 4.05 since that covers
everything except the old Ubuntu LTS (and that's their fault for
releasing an LTS with a version of OCaml which was already nearly 2
years out of date, and not updating it in the meantime).
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
Read my programming and virtualization blog:
http://rwmj.wordpress.com
virt-p2v converts physical machines to virtual machines. Boot with a
live CD or over the network (PXE) and turn machines into KVM guests.
http://libguestfs.org/virt-v2v