ocaml-multicore / reagents

Reagents for multicore OCaml
ISC License
125 stars 6 forks source link

Reagents does not compile on Multicore OCaml 4.02.2 #18

Closed henrymercer closed 7 years ago

henrymercer commented 7 years ago

Currently, Reagents is not compiling on Multicore OCaml 4.02.2.

I have set up a Travis configuration to demonstrate the problem with a failing build. I hope this can be merged into the repository when the compilation is fixed so that it will be clear whether the repository builds or not.

The issue is due to the example schedulers assuming that Domain.id is of type int, however this has been made a private type. The compilation works fine without the examples, so it is only the examples which are broken.

The relevant part of the build log is:

File "examples/sched_ws.ml", line 68, characters 31-47:
Error: This expression has type Domain.id
       but an expression was expected of type int
Command exited with code 2.
pkg.ml: [ERROR] cmd ['ocamlbuild' '-use-ocamlfind' '-classic-display' '-j' '2' '-tag' 'debug'
     '-build-dir' '_build' 'opam' 'pkg/META' 'CHANGES.md' 'LICENSE.md'
     'README.md' 'src/reagents.a' 'src/reagents.cmxs' 'src/reagents.cmxa'
     'src/reagents.cma' 'src/reagents_sync.cmx' 'src/reagents_sync.cmi'
     'src/reagents_sync.mli' 'src/reagents_data.cmx' 'src/reagents_data.cmi'
     'src/reagents_data.mli' 'src/reagents.cmx' 'src/reagents.cmi'
     'src/reagents.mli' 'examples/ref_test.native'
     'examples/swap_test.native' 'examples/counter_test.native'
     'examples/queue_test.native' 'examples/stack_test.native'
     'examples/lock_test.native' 'examples/dining_philosophers.native'
     'examples/rec_test.native' 'examples/three_way.native'
     'examples/two_way.native' 'examples/ref_channel.native'
     'examples/sat.native' 'examples/swap_test2.native'
     'examples/stack_test_compose.native' 'examples/reagent_queue.native'
     'examples/hw_queue.native' 'examples/eli_stack.native']: exited with 10
make: *** [all] Error 1
kayceesrk commented 7 years ago

Ah. Good catch. The use of domain id in sched_ws.ml needs to be updated. If you can make that change and send me a PR, I'll be happy to merge it!