Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to 5.00.0+domains #270

Merged

Conversation

shubhamkumar13
Copy link
Contributor

This PR updates/removes the dependencies and benchmarks needed to run 5.00.0+domains variant with sandmark and sandmark-nightly

This PR removes the coq and irmin benchmarks because coq-core package seemed to have the following build failure

#=== ERROR while compiling coq-core.dev =======================================#
# context     2.0.7 | linux/x86_64 | ocaml-base-compiler.5.00.0+domains | pinned(https://github.com/ejgallego/coq/archive/refs/tags/multicore-2021-09-29.tar.gz)
# path        ~/sandmark/_opam/5.00.0+domains/.opam-switch/build/coq-core.dev
# command     ~/sandmark/_opam/5.00.0+domains/bin/dune build -p coq-core -j 27 @install
# exit-code   1
# env-file    ~/sandmark/_opam/log/coq-core-3876763-ce6ef9.env
# output-file ~/sandmark/_opam/log/coq-core-3876763-ce6ef9.out
### output ###
# Use the camlp-streams library instead.
# [...]
# (cd _build/default && /home/shubham/sandmark/_opam/5.00.0+domains/bin/ocamlc.opt -w -40 -rectypes -g -bin-annot -I engine/.engine.objs/byte -I engine/.engine.objs/public_cmi -I /home/shubham/sandmark/_opam/5.00.0+domains/lib/ocaml/threads -I boot/.boot.objs/public_cmi -I clib/.clib.objs/byte -I config/.config.objs/byte -I kernel/.kernel.objs/byte -I kernel/coqrun/.coqrun.objs/byte -I lib/.lib[...]
# File "engine/evarutil.ml", line 128, characters 10-18:
# 128 |   let m = E.create () in
#                 ^^^^^^^^
# Error: Unbound value E.create
#     ocamlopt engine/.engine.objs/native/evarutil.{cmx,o} (exit 2)
# (cd _build/default && /home/shubham/sandmark/_opam/5.00.0+domains/bin/ocamlopt.opt -w -40 -rectypes -g -O3 -unbox-closures -I engine/.engine.objs/byte -I engine/.engine.objs/native -I engine/.engine.objs/public_cmi -I /home/shubham/sandmark/_opam/5.00.0+domains/lib/ocaml/threads -I boot/.boot.objs/native -I boot/.boot.objs/public_cmi -I clib/.clib.objs/byte -I clib/.clib.objs/native -I config[...]
# File "engine/evarutil.ml", line 128, characters 10-18:
# 128 |   let m = E.create () in
#                 ^^^^^^^^
# Error: Unbound value E.create

The irmin benchmarks requires ppxlib which fails with 5.00.0+* ocaml variants and hence is disabled in this PR

@kayceesrk
Copy link
Contributor

The version on the multicore branch is also 5.00.

@kayceesrk
Copy link
Contributor

The PR is removing the Coq and Irmin files. Is it not possible to keep the files in the same place, but only disable building them? Otherwise, it will not be apparent that we have only disabled Coq and Irmin, but not removed.

Makefile Show resolved Hide resolved
@shakthimaan
Copy link
Contributor

The PR is removing the Coq and Irmin files. Is it not possible to keep the files in the same place, but only disable building them?

Yes. Use a sed command to disable for 5.00. For example:
https://github.com/ocaml-bench/sandmark/blob/main/Makefile#L121

@kayceesrk
Copy link
Contributor

The PR will also need to update https://github.com/ocaml-bench/sandmark#benchmarks-status.

@kayceesrk
Copy link
Contributor

kayceesrk commented Jan 6, 2022

Again, coq is “removed” but you probably want to “disable” it. By deleting those lines related to running Coq you are making it harder for a future contributor to figure out from scratch how to add coq; they only see the code of the latest commit and may not be aware that coq was present but disabled. Looking at the current code which has a number of lines deleted, they may find it harder to get back to a working state.

Instead of deleting, a better approach may be to comment the deleted lines out? JSON doesn’t have comments but you may find other ways of disabling the coq benchmarks. For example, move the benchmarks that you want to disable to a different field whose name is “disabled_benchmarks”. The scripts won’t look at them.

@shakthimaan
Copy link
Contributor

There is a fatal error when compiling base.v0.15.0. See: https://cloud.drone.io/ocaml-bench/sandmark/962/1/2

#=== ERROR while compiling base.v0.15.0 =======================================#
339s
674# context              2.0.10 | linux/x86_64 | ocaml-base-compiler.5.00.0+trunk | pinned(git+https://github.com/janestreet/base.git#v0.15.0#2f23176f)
339s
675# path                 /drone/src/_opam/5.00.0+trunk/.opam-switch/build/base.v0.15.0
339s
676# command              /drone/src/_opam/5.00.0+trunk/bin/dune build -p base -j 47
339s
677# exit-code            1
339s
678# env-file             /drone/src/_opam/log/base-14687-f7741b.env
339s
679# output-file          /drone/src/_opam/log/base-14687-f7741b.out
339s
680### output ###
339s
681#          gen shadow-stdlib/src/shadow_stdlib.mli (exit 2)
339s
682# (cd _build/default/shadow-stdlib/src && ../gen/gen.exe -caml-cmi ../../compiler-stdlib/src/.caml.objs/caml.cmi ../../compiler-stdlib/src/.caml.objs/byte/caml.cmi -o shadow_stdlib.mli)
339s
683# Fatal error: exception Failure("no equivalent for symbol \"acosh\"")

Makefile Show resolved Hide resolved
Makefile Show resolved Hide resolved
@kayceesrk
Copy link
Contributor

This looks like a known failure: janestreet/base#125.

@shakthimaan shakthimaan merged commit ad199a7 into ocaml-bench:master Jan 7, 2022
@shubhamkumar13
Copy link
Contributor Author

Thanks @shakthimaan @kayceesrk for reviewing the PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants