-
Notifications
You must be signed in to change notification settings - Fork 370
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
OPAM on Cygwin: lambda-term fails to install due to a glitch of xxx.install processing #2313
Comments
Possible fixes are:
My current package specific workaround is remove |
There's no fix to be done here. It's using
Note that this may be due to |
That is in |
I agree that How about opam itself? In Unix, it seems that files already exist at their destinations are ignored even they are listed in |
Regarding the cygwin case this was settled down #2253: build system should be fixed (this one is obviously wrong since it's trying to install things twice) and no magic should be introduced in the straightforward mechanism of
If that is the case I think you should file a separate issue for that one so that this gets clarified. The manual itself says nothing special about this. |
I think the reason that this is listed in the install file is so that the file gets automatically removed on uninstall. I have the same problem for jsonm, menhir, and many other packages. Someone with enough knowledge of the OPAM command wizardry could just replace the call to install with |
What exact install problem do you have with |
notice the |
installs |
@msprotz Uuuuh, it seems that a jsonm release has been pending for more than 2 years... guess it's time to clear the pins (n.b. |
@dbuenzli have you had any luck updating jsonm? we're likely to start using it in F*, but for that to happen we need jsonm to be easily installable via my "hacked" windows build of opam (protz.github.io/ocaml-installer/)... |
I'll make a new release when I port it to the new |
I think for F* specifically using Thanks, Jonathan |
What is the status of this issue? |
I am playing Cygwin OPAM to install MinGW OCaml packages and found a glitch. I guess this is not specific to MinGW OCaml installation therefore file an inssue.
opam install lambda-term
fails at the last stage:File
.../bin/lambda-term-actions.exe
is already installed whenocaml setup.ml -install
is executed. The processing oflambda-term.install
tries to reinstall the executable again and fails. In Unix, this does not happen. The related code (opamAction.ml, around line 77) checks the destination file and does not install the file if the destination already exists.In Cygwin OPAM + MinGW OCaml, (and in Cygwin OPAM + Cygwin OCaml too I imagine) somehow
opam
tries to reinstall this executable file and fails since the destination already exists. Here is my rough guess:opam
checks the existence of the destination usingOpamFilename.exists
which callsUnix.stat
with..../lambda-term-actions
. It returnsfalse
.opam
tries to install the executable as..../lambda-term-actions
byOpamSystem.install
. It executes Cygwin'sinstall
command.install
command is Cygwin friendly therefore it awares the existence of..../lambda-term-actions.exe
and fails to install.The text was updated successfully, but these errors were encountered: