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

ocaml-*: revbump JaneStreet ports for ocaml-sexplib0 update #24735

Merged
merged 3 commits into from
Jul 7, 2024

Conversation

barracuda156
Copy link
Contributor

Description

@pmetzger Could you review this please?

Not that I do this happily, but an alternative is to revbump a lot of OCaml packages: everything JaneStreet, potentially other as well.

Upstream did a weird thing: while ocaml-sexplib0 0.17.0 is compatible with OCaml 4.14, all subsequent updates to 0.17.x require OCaml 5.x.
I tried rebuilding ocaml-base, ocaml-ppxlib and a few other dependents, and it works fine. But there are a lot of dependents, and determining sequentially which need a rebuild will be ridiculously time-consuming. We can just revbump everything that in some way depends indirectly on ocaml-sexplib0, but we will need to rebuild everything.

I am fine with just revbump of everything, but not sure it is justified.

Leaving things as they are is not an option though, since nothing builds now, and I cannot update stanc3, for example.

Type(s)
  • bugfix
  • enhancement
  • security fix
Tested on

macOS 10.6
Xcode 3.2

Verification

Have you

  • followed our Commit Message Guidelines?
  • squashed and minimized your commits?
  • checked that there aren't other open pull requests for the same change?
  • referenced existing tickets on Trac with full URL in commit message?
  • checked your Portfile with port lint --nitpick?
  • tried existing tests with sudo port test?
  • tried a full install with sudo port -vst install?
  • tested basic functionality of all binary files?
  • checked that the Portfile's most important variants haven't been broken?

@macportsbot
Copy link

Notifying maintainers:
@landonf for port ocaml-sexplib0.

@macportsbot macportsbot added type: bugfix maintainer: open Affects an openmaintainer port labels Jun 30, 2024
@barracuda156
Copy link
Contributor Author

Upstream does not appear enthusiastic to address issues, unfortunately, but just in case: janestreet/sexplib0#14

@pmetzger
Copy link
Member

pmetzger commented Jul 1, 2024

Why can't we just leave 0.17.0 in place until a few months from now when OCaml 5 is declared stable?

@barracuda156
Copy link
Contributor Author

Why can't we just leave 0.17.0 in place until a few months from now when OCaml 5 is declared stable?

We can, but then need to revbump almost all of OCaml ports (not Dune or Opam, of course, but Janestreet ones).
But I can do revbumping, no problem.

@pmetzger
Copy link
Member

pmetzger commented Jul 1, 2024

Why do we need to revbump everything?

@barracuda156
Copy link
Contributor Author

Why do we need to revbump everything?

Because nothing works now, every dependent will fail to build with ”makes inconsistent assumptions about…”.
I am away from machine, if you are interested in the logs, I can post those tomorrow.

This applies to ports which depend on sexplib0, others should be not affected.

@pmetzger
Copy link
Member

pmetzger commented Jul 2, 2024

I'd like to see the actual error message.

@barracuda156
Copy link
Contributor Author

I'd like to see the actual error message.

Sure, will post today once back to the machine.

@barracuda156
Copy link
Contributor Author

@pmetzger This is on Sonoma, everything default, I try to update stanc3:

--->  Building stanc3
Executing:  cd "/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_math_stanc3/stanc3/work/stanc3-2.35.0" && /opt/local/bin/dune build -j 4 --root=/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_math_stanc3/stanc3/work/stanc3-2.35.0 --profile=release --ignore-promoted-rules --no-config --only-packages=stanc --default-target=@install @install 
File "_none_", line 1:
Error: Files /opt/local/lib/ocaml/site-lib/base/base.cmxa
       and /opt/local/lib/ocaml/site-lib/sexplib0/sexplib0.cmxa
       make inconsistent assumptions over interface Sexplib0__Sexp_grammar
Read 410 sample input sentences and 180 error messages.
File "_none_", line 1:
Error: Files /opt/local/lib/ocaml/site-lib/ppxlib/stdppx/stdppx.cmxa
       and /opt/local/lib/ocaml/site-lib/sexplib0/sexplib0.cmxa
       make inconsistent assumptions over interface Sexplib0__Sexp_grammar
Command failed:  cd "/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_math_stanc3/stanc3/work/stanc3-2.35.0" && /opt/local/bin/dune build -j 4 --root=/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_math_stanc3/stanc3/work/stanc3-2.35.0 --profile=release --ignore-promoted-rules --no-config --only-packages=stanc --default-target=@install @install 
Exit code: 1
Error: Failed to build stanc3: command execution failed
Error: See /opt/local/var/macports/logs/_opt_svacchanda_SonomaPorts_math_stanc3/stanc3/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there
is a bug.
Error: Processing of port stanc3 failed

(All the same I was getting also on 10.6 ppc, of course.)

@pmetzger
Copy link
Member

pmetzger commented Jul 2, 2024

Okay, so I take it that the interface changed since 1.6. Given that, yes, bump the ports that depend on it. Moving backwards isn't the way to deal with this. It's no different than someone updating any other port whose dependents need to be rebuilt because of a change in interface.

@barracuda156
Copy link
Contributor Author

@pmetzger Okay, will drop the revert and revbump dependents.

@barracuda156 barracuda156 changed the title ocaml-sexplib0: revert to 0.16.0, bump epoch ocaml-*: revbump JaneStreet ports for ocaml-sexplib0 update Jul 4, 2024
@barracuda156 barracuda156 force-pushed the sexplib0 branch 3 times, most recently from 1b3620e to d186478 Compare July 4, 2024 10:50
@barracuda156 barracuda156 marked this pull request as ready for review July 4, 2024 10:52
@barracuda156
Copy link
Contributor Author

@pmetzger Perhaps this is good to go.

@barracuda156
Copy link
Contributor Author

I can confirm that now building stanc3 works fine.

@barracuda156
Copy link
Contributor Author

barracuda156 commented Jul 5, 2024

UPD. I have found the correct fix to use LegacySupport without silly earlier hacks which turned out to be fragile.

@pmetzger pmetzger merged commit 617c46f into macports:master Jul 7, 2024
3 checks passed
@barracuda156 barracuda156 deleted the sexplib0 branch July 8, 2024 04:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
maintainer: open Affects an openmaintainer port type: bugfix
Development

Successfully merging this pull request may close these issues.

4 participants