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

Pin dune and base to work around ocaml trunk changes #472

Merged
merged 6 commits into from
Jun 6, 2024

Conversation

punchagan
Copy link
Contributor

@punchagan punchagan commented Jun 4, 2024

The primary changes in this PR are:

  • Pin base to workaround Format_doc change (see commit message)
  • Pin dune to workaround splitting native and bytecode compiler flags (see commit message)

The PR also has other small changes:

  • upgrades dune to latest version
  • Switches OCaml 5.2.0 to 5.2.1
  • Fixes broken notebook tests by pinning Python dependencies
  • Disable sys dune hack for nightly builds

@punchagan
Copy link
Contributor Author

CI for OCaml 5.3 is expected to fail due to #471

@punchagan
Copy link
Contributor Author

Pushed a couple of new commits to use a patched version of dune to work around the changes in ocaml/ocaml#13201 where the compiler flags for bytecode and native compilers have been separated out, and name prefixes have been changed to bytecode_ and native_ from ocamlc_ and ocamlopt_.

@punchagan
Copy link
Contributor Author

@shakthimaan is my understanding correct that dune would previously not compile against multicore branch and USE_SYS_DUNE_HACK was required? It seems okay to me to disable this hack and use a patched version of dune. Can you please confirm with a review? Thanks!

@punchagan punchagan changed the title Pin base to forked version to workaround Format_doc change Pin dune and base to work around ocaml trunk changes Jun 5, 2024
Due to a [recent change] on `ocaml/ocaml` `trunk`, `base.v0.16.3` fails
to [install]. `base` is a build dependency of `owl`, which only has
sequential benchmarks (no parallel ones). So, the failure happens only
for sequential benchmarks. Parallel ones run alright.

Closes ocaml-bench#470

[recent change]: ocaml/ocaml#13169
[install]: ocaml-bench/sandmark-nightly@197c9bd#diff-c635461b488c1e7d7b7feaf5fcb01945d54f84c512cf4db7e2dc390a2a23c5e8R456-R476
ocaml/ocaml@51e5cf2 split the compiler
flags for native and bytecode compiler to separate flags. It also
changes the flag names which breaks builds of several packages. This
commit is a workaround for that change.
@shakthimaan
Copy link
Contributor

Sure. It will be good to decide on LTS and whether you need to support earlier versions. Otherwise, it is better to upgrade.

@punchagan
Copy link
Contributor Author

Makes sense. I guess we could make the "use_sys_dune" an option in the configuration files, if we'd like to support older versions alongside the current versions. I've not removed the USE_SYS_DUNE_HACK option in this PR, but will discuss and plan on removing it vs supporting it as a config option.

@punchagan punchagan merged commit 19c98b1 into ocaml-bench:main Jun 6, 2024
4 checks passed
@punchagan punchagan deleted the fix-pin-base branch June 6, 2024 19:09
@punchagan
Copy link
Contributor Author

Deployed run_all_custom.sh script to navajo. Remote login to turing fails - deployment pending.

@punchagan
Copy link
Contributor Author

Builds on navajo are running again!

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.

2 participants