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

Installation fails with ar: no archive members specifiedon MacOS with OCaml 4.04.2 #7

Open
shonfeder opened this issue Jul 24, 2022 · 3 comments · May be fixed by #8
Open

Installation fails with ar: no archive members specifiedon MacOS with OCaml 4.04.2 #7

shonfeder opened this issue Jul 24, 2022 · 3 comments · May be fixed by #8

Comments

@shonfeder
Copy link

We are hitting an installation failure in the omd CI when trying to install a package that depends on this one: https://github.com/ocaml/omd/runs/7490933831?check_suite_focus=true#step:4:4649

Seems like some other packages have hit his before, e.g.,: ocsigen/lwt#91

@gasche
Copy link
Member

gasche commented Jul 25, 2022

This is a tooling issue with OSX (and also MSVC toolchains on Windows) that was worked-around upstream in the OCaml compiler, in 4.05 for OSX and much later for MSVC. See:

I see two approaches to make your issue go away:

  • Stop supporting 4.04; why do we care about 4.04 anymore?
  • Convince someone that likes backporting and opam and old OCaml releases to backport either ones of those changes to 4.04 (the #9011 fix is more general and a bit nicer, so I would personally try that). You could try your luck with @dra27, he is unreasonably attracted to this kind of issues.

@gasche
Copy link
Member

gasche commented Jul 25, 2022

To summarize: I think that this is a compiler question with either a non-fix or a compiler-fix, not something to be fixed at the level of each affected package. I propose to close the present issue to reflect this, let me know if that sounds reasonable.

@dra27
Copy link
Member

dra27 commented Jul 25, 2022

There are third and fourth ways, the third of which I’ll do shortly:

  • Insert a dummy module in the library for these old versions (this fixes MSVC as well). This solution was rejected for stdlib-shims because the dummy module was needed for current releases of the compiler, but stdlib-shims is the opposite of camlp-streams in this regard
  • Generate an empty package in Dune when the library itself is empty.

I’m not so keen on a back-port - the back-ports we do are to allow old compilers to build in new environments, but empty libraries were always broken in macOS and MSVC prior to the workaround in 4.05 (for macOS) and the fix (for both) in 4.11

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 a pull request may close this issue.

3 participants