ocaml / opam

opam is a source-based package manager. It supports multiple simultaneous compiler installations, flexible package constraints, and a Git-friendly development workflow.
https://opam.ocaml.org
Other
1.21k stars 348 forks source link

install report (windows): conflict with dkml #6025

Open emillon opened 2 weeks ago

emillon commented 2 weeks ago

Hi,

I have the following experience to report on windows. I installed opam 2.2.0~beta3 from winget, but it's conflicting with a previous forgotten dkml install. Here are my interactions:

I'm not sure what to fix / if there's anything to fix, but this might come up again in the future so I figured I'd open this. Thanks

kit-ty-kate commented 2 weeks ago

I try to run the uninstaller from dkml, but it doesn't work

we do not maintain that installer/uninstaller, could you report this at https://github.com/diskuv/dkml-installer-ocaml/issues instead?

opam init says it cannot configure cmd, and then exits without doing anything. I suppose cmd is not supported, and retry with powershell. same thing.

This seems to be the only thing we can fix on our side. Could you expend on that? What does the message looked like?

jonahbeckford commented 2 weeks ago

I try to run the uninstaller from dkml, but it doesn't work

we do not maintain that installer/uninstaller, could you report this at https://github.com/diskuv/dkml-installer-ocaml/issues instead?

emillon commented 2 weeks ago

Yes, I understand that this installer is not handled by opam itself, but maybe it could detect this situation. Otherwise, feel free to close this issue.

This seems to be the only thing we can fix on our side. Could you expend on that? What does the message looked like?

I'll get back at you with that info.

dra27 commented 2 weeks ago
  • now opam init works, but detects the ocamlc 4.14.0 from dkml 2.0.2 and uses it as a system switch

Just to confirm or check further - this is intended behaviour, right? opam on Linux also creates a system switch by default if you have a system compiler?

dra27 commented 2 weeks ago

@jonahbeckford - the only possibility for 2.2.0 is that opam init might recognise that there's an existing DKML installation and display a warning, rather than anything further. Although I agree that just documenting this may well be the best approach.

emillon commented 2 weeks ago
  • now opam init works, but detects the ocamlc 4.14.0 from dkml 2.0.2 and uses it as a system switch

Just to confirm or check further - this is intended behaviour, right? opam on Linux also creates a system switch by default if you have a system compiler?

Yes, I think that's reasonable, though the only indication that I was not on the "golden path" of opam init is that it was very quick (and also using 4.14.0, which isn't a version number I'd expect to see in a fresh install otherwise). Well, and the fact that it was ocaml-system.