Flambda for Linux distros

We’re considering enabling flambda in Fedora. Neither Debian nor Arch distro packages of OCaml enable flambda, and so the question arises:

  • Is flambda stable enough and widely used for distro use?
  • Have other distros tried enabling it in the past and had problems?
  • Is it known to be compatible with most packages? (For example I wonder if anyone has compiled a large proportion of the opam packages and had issues?)

Any thoughts on this welcome.

(Also calling Debian maintainer @Stephane_Glondu)

1 Like

Note: I’m one of the maintainers of flambda, so I’m not completely neutral.

As far as I know, yes. We’ve got reports of people using it on various large scale projects, and we have had very few flambda-specific bugs (mostly around compilation times).

I’m not aware of any such attempts.

It is supposed to be 100% compatible. When we initially introduced flambda we did several large opam installations and only had trouble with stack overflows during compilation of a few specific packages, which we sorted out at the time by increasing the system stack size. Some of these packages have since been adapted to that issue (usually by splitting very large files), and starting from OCaml 5 stack overflows should be much harder to trigger (OCaml stacks are not stored on the system stack anymore).

I believe that there are still semi-regular opam-wide checks being run with flambda, although not all packages include tests so for many packages this only compiles the code without running it.

Overall I don’t feel particularly worried by a switch to flambda in a distro, and in case something unexpected happens I’m available to help.

1 Like

@rwmjones Did you do it, eventually? I guess this needs a transition (i.e. recompiling all packages)…? I would be interested if you posted a report of the progress in Fedora.

It’s not the right time to update OCaml in Debian now (we are still at 4.13.1), but I might consider enabling flambda when updating to OCaml 5.1.0.