The release of OCaml 4.13.0 is expected for next week.
Since we had a native code generation bug fix and two minor configuration tweaks
since the first release candidate, we are publishing a second release candidate.
If you find any bugs, please report them here:
GitHub · Where software is built
Happy hacking,
Florian Angeletti for the OCaml team.
Installation instructions
The base compiler can be installed as an opam switch with the following commands
opam update
opam switch create 4.13.0~rc2 --repositories=default,beta=git+https://github.com/ocaml/ocaml-beta-repository.git
If you want to tweak the configuration of the compiler, you can switch to the option variant with:
opam update
opam switch create <switch_name> --packages=ocaml-variants.4.13.0~rc2+options,<option_list> --repositories=default,beta=git+https://github.com/ocaml/ocaml-beta-repository.git
where <option_list> is a comma separated list of ocaml-option-* packages. For instance, for a flambda and no-flat-float-array switch:
opam switch create 4.13.0~rc2+flambda+nffa --packages=ocaml-variants.4.13.0~rc2+options,ocaml-option-flambda,ocaml-option-no-flat-float-array --repositories=default,beta=git+https://github.com/ocaml/ocaml-beta-repository.git
All available options can be listed with “opam search ocaml-option”.
The source code for the release candidate is also available at these addresses:
https://github.com/ocaml/ocaml/archive/4.13.0-rc2.tar.gz
https://caml.inria.fr/pub/distrib/ocaml-4.13/ocaml-4.13.0~rc2.tar.gz
Changes since the first release candidate
- #10626, #10628: Wrong reloading of the x86-64 instruction for
integer multiplication by a constant, causing the assembler to
reject the ocamlopt-generated code.
(Xavier Leroy, report by Dave Aitken, review by Vincent Laviron)
-
#10176, #10632(new in rc2): By default, call the assembler through the C compiler driver
(Sébastien Hinderer, review by Gabriel Scherer, David Allsopp and Xavier
Leroy) -
#10451, #10635(new in rc2): Replace the use of iconv with a C utility to convert $(LIBDIR)
to a C string constant on Windows when building the runtime. Hardens the
generation of the constant on Unix for paths with backslashes, double-quotes
and newlines.
(David Allsopp, review by Florian Angeletti and Sébastien Hinderer)