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

make cold picks up dune from PATH instead of building it #3987

Closed
glondu opened this issue Sep 17, 2019 · 5 comments · Fixed by #4776
Closed

make cold picks up dune from PATH instead of building it #3987

glondu opened this issue Sep 17, 2019 · 5 comments · Fixed by #4776

Comments

@glondu
Copy link

glondu commented Sep 17, 2019

With opam-full-2.0.5.tar.gz, running make cold while there is a dune binary in PATH picks up that binary instead of building it.

@rjbou
Copy link
Collaborator

rjbou commented Oct 8, 2019

It is the normal behavior of make cold, dune existence is checked, installed only if missing. Meanwhile, it is required to have some version check on dune, as in the opam file, it's minimum 1.2.1.

@glondu
Copy link
Author

glondu commented Oct 9, 2019

Would you reconsider this behaviour? I expect make cold to produce and use a self-contained installation of all OCaml-related stuff...

@dra27
Copy link
Member

dra27 commented Oct 9, 2019

I don't think that's an unreasonable option - when the bootstrap directory exists, the compiler there is used over any found in PATH (and consequently any external libraries are ignored, unless you use make lib-pkg to install them in the bootstrap compiler) so it makes sense that external Dune should either be ignored in this context, or at least there should be a way to ignore it.

As a workaround, make DUNE= cold I think should cause the external dune to be ignored.

@glondu
Copy link
Author

glondu commented Oct 17, 2019

As a workaround, make DUNE= cold I think should cause the external dune to be ignored.

It tries to use the empty string as dune command, and fails with:

build --profile=release  opam-installer.install opam.install
make[1]: build: Command not found
make[1]: *** [Makefile:107: opam.install] Error 127

@avsm
Copy link
Member

avsm commented Aug 26, 2020

Agreed. make cold was intended to be an entirely standalone target, so it should also build the local dune.

@dra27 dra27 self-assigned this Jul 13, 2021
@dra27 dra27 added this to the 2.2.0~alpha milestone Jul 13, 2021
@dra27 dra27 linked a pull request Jul 29, 2021 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants