ocaml/opam-repository

ocamlfind 1.9.6 broken in Dream's quick start script (esy)

aantron opened this issue · 3 comments

ocamlfind 1.9.6 is failing to build in Dream's quick start script on Ubuntu with

   Cannot find file /home/runner/.esy/3__________________________________________________________________/s/opam__s__ocamlfind-opam__c__1.9.6-fa4fed9f/lib/findlib/findlib.cma.
    Cannot find file /home/runner/.esy/3__________________________________________________________________/s/opam__s__ocamlfind-opam__c__1.9.6-fa4fed9f/lib/findlib/findlib_top.cma.
    File "/home/runner/.esy/3__________________________________________________________________/i/ocaml-4.12.1001-d0588c96/lib/ocaml/topfind", line 53, characters 0-22:
    53 | Topfind.add_predicates [ pred; "toploop" ];
         ^^^^^^^^^^^^^^^^^^^^^^
    Error: Unbound module Topfind
    Hint: Did you mean Topdirs?
    Unknown directive `require'.
    error: command failed: 'ocaml' 'pkg/pkg.ml' 'build' '--dev-pkg' 'false' '--with-base-unix' 'true' '--with-cmdliner' 'false' (exited with 2)

It is also failing on macOS with

    install: /Users/runner/.esy/3_________________________________________________________________/i/ocaml-4.12.1001-00b0534a/lib/ocaml//topfind: Operation not permitted

ocamlfind 1.9.5 builds succeeded on both Ubuntu and macOS earlier on the same day (the day ocamlfind 1.9.6 was released).

I am able to reproduce the Ubuntu failure locally under WSL, and it does not appear to be fixed by recent commits fixing ocamlfind 1.9.6.

I realize this is happening in esy-the-client and not in opam-the-client. However, the issue seems likely to be in ocamlfind or opam-repository, so I think it's correct to open it here. Perhaps someone can comment on what might be happening.

cc @gerdstolpmann @ManasJayanth

is it still failing after an opam update -u? f6590e5

EDIT: ah sorry i skipped over the part where you said it doesn’t help

I’m seeing ocamlfind in the esy override repository: https://github.com/esy-ocaml/esy-opam-override/tree/6/packages/ocamlfind.1.9.5. I’m not sure what it is doing but if this is required for ocamlfind to work for esy then 1.9.6 is missing in there. That would be my guess

Ah, thanks! Didn't know about that. Looks like there is already a PR about this in the repo: esy-ocaml/esy-opam-override#129. I'll close this in favor of watching that. Thanks again, sorry about the noise!