Hi, I know instructions have been posted here many times, but for people not steeped in multicore lore–where should we go to get instructions on how to try out multicore with opam? I tried to adapt the instructions from GitHub - ocaml-multicore/multicore-opam: OPAM repo for OCaml multicore development, but on creating a new switch and trying to install packages I get an error:
[ERROR] Package conflict!
* No agreement on the version of ocaml:...
(Followed by long list of constraint solver errors)
What am I missing? Is it not possible to try out the latest multicore with opam? And if I don’t have the right instructions, can we decide on a prominent place to put the correct instructions that’s easily reachable from the ocaml.org landing page? I’m happy to send a PR once I very done working instructions.
EDIT: actually looks like ocaml-lsp-server was the culprit
EDIT 2: ptime and all its reverse deps failed to install.
Error log: Error: .../ocamlbuild_plugin.cmx was built with -for-pack Ocamlbuild_pack, but the current unit Myocamlbuild is not
I’m getting the same error on trying to install either dream or piaf:
File "src/vendor/h2/lib/scheduler.ml", lines 34-40, characters 10-6:
34 | ..........Hashtbl.MakeSeeded (struct
35 | type t = Stream_identifier.t
36 |
37 | let equal = Stream_identifier.( === )
38 |
39 | let hash i k = Hashtbl.seeded_hash i k
40 | end)
Error: Modules do not match:
sig
type t = H2__.Stream_identifier.t
val equal : Int32.t -> Int32.t -> bool
val hash : int -> 'a -> int
end
is not included in Hashtbl.SeededHashedType
The value `seeded_hash' is required but not provided
But, it seems like both dream and piaf are pointing at the ‘old’ version of h2 which does not include seeded_hash.
On a more meta level, can we raise the visibility of these instructions a bit? Many people are excited about multicore, yet there’s no mention of it on the OCaml home page. I think we should benefit quite a lot by trying to cater to people’s enthusiasm to try the hard work that the Multicore team and everyone else put in. I honestly think we should put in a Call To Action directly on the ocaml.org landing page, above the fold, saying something like ‘Try Multicore Alpha Release’ and pointing to (current, updated) instructions.
It should also speed up the process of ironing out issues like the above, if more people try it out and file reports. Right now it feels like we are crawling along to release ‘someday’.
Increasing the visibility of the OCaml 5 release is part of my plans for the beta releases. Right now during the alpha releases, there are still some on-going API and internal fixes that might break early adopter code. But that should be stabilized soon: there is only a handful of bugs blocking the beta left.