diskuv / dkml-installer-ocaml

The Windows-friendly distribution of OCaml
Apache License 2.0
63 stars 2 forks source link

Windows install error (Detected that the setup program has been called inside a Cygwin or MSYS2 environment) #93

Closed reedjones closed 10 months ago

reedjones commented 10 months ago

Trying to install on windows, getting this error:

Detected that the setup program has been called inside a Cygwin or MSYS2 environment. In particular, C:\msys64\usr\bin\cygpath.exe was available in the PATH. Since the setup program uses its own MSYS2 environment, and since MSYS2 does not support one MSYS2 or Cygwin environment calling another MSYS2 environment, it is highly probable the installation will fail. Please rerun the setup program directly from a Command Prompt, PowerShell, the File Explorer or directly from the browser Downloads if you downloaded it. Do not use Git Bash (part of Git for Windows) or anything else that contains an MSYS2 environment.

dkml-package.bc: [ERROR] FATAL [5f927a8b].
                         A transient failure occurred.

                         Root cause: The command had exit code 20:
                                       C:\Users\reedj\AppData\Local\Temp\7z69CCF908\bin\dkml-install-user-runner.exe
                                         install-user-ocamlcompiler-network --verbosity=info
                                         --color=always --prefix
                                         C:\Users\reedj\AppData\Local\Programs\DkMLNative
                                         --staging-files
                                         C:\Users\reedj\AppData\Local\Temp\7z69CCF908\sg

                         >>> A t
jonahbeckford commented 10 months ago

What do you see when you type: echo $env:PATH in PowerShell?

Get Outlook for Androidhttps://aka.ms/AAb9ysg


From: Reed Jones @.> Sent: Monday, December 25, 2023 8:58:36 PM To: diskuv/dkml-installer-ocaml @.> Cc: Subscribed @.***> Subject: [diskuv/dkml-installer-ocaml] Windows install error (Detected that the setup program has been called inside a Cygwin or MSYS2 environment) (Issue #93)

Trying to install on windows, getting this error:

Detected that the setup program has been called inside a Cygwin or MSYS2 environment. In particular, C:\msys64\usr\bin\cygpath.exe was available in the PATH. Since the setup program uses its own MSYS2 environment, and since MSYS2 does not support one MSYS2 or Cygwin environment calling another MSYS2 environment, it is highly probable the installation will fail. Please rerun the setup program directly from a Command Prompt, PowerShell, the File Explorer or directly from the browser Downloads if you downloaded it. Do not use Git Bash (part of Git for Windows) or anything else that contains an MSYS2 environment. �[0;1m�[0m dkml-package.bc: [ERROR] �[4m�[1m�[31mFATAL [5f927a8b].�[0;4;1m�[0;4m�[0m �[1m�[31mA transient failure occurred.

                     Root cause: The command had exit code 20:
                                   C:\Users\reedj\AppData\Local\Temp\7z69CCF908\bin\dkml-install-user-runner.exe
                                     install-user-ocamlcompiler-network --verbosity=info
                                     --color=always --prefix
                                     C:\Users\reedj\AppData\Local\Programs\DkMLNative
                                     --staging-files
                                     C:\Users\reedj\AppData\Local\Temp\7z69CCF908\sg

                     >>> A t

— Reply to this email directly, view it on GitHubhttps://github.com/diskuv/dkml-installer-ocaml/issues/93, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AREG4PJDD7YQAIMGPGMUEGTYLJKPZAVCNFSM6AAAAABBC4NHWWVHI2DSMVQWIX3LMV43ASLTON2WKOZSGA2TMMBSHEZDIOI. You are receiving this because you are subscribed to this thread.Message ID: @.***>

reedjones commented 10 months ago

I have a bunch of stuff on path, why do you ask something specific you suspect I'm missing or? One thing relevant I found was I had 'AppData\Local\Programs\DkMLNative\usr\bin'
which I had added this to path, because whenever I run anything from 'AppData\Local\Programs\DkMLNative\bin' (which I had added onto path before as well) I got some error about missing: 'dklmvars-v2. or something' I never got anything to work

jonahbeckford commented 10 months ago

The error message you got is that you have a conflicting program in your PATH. Kinda hard to help you identify it if you don't tell me your PATH though.

Get Outlook for Androidhttps://aka.ms/AAb9ysg


From: Reed Jones @.> Sent: Monday, December 25, 2023 9:17:20 PM To: diskuv/dkml-installer-ocaml @.> Cc: Jonah Beckford @.>; Comment @.> Subject: Re: [diskuv/dkml-installer-ocaml] Windows install error (Detected that the setup program has been called inside a Cygwin or MSYS2 environment) (Issue #93)

I have a bunch of stuff on path, why do you ask something specific you suspect I'm missing or? One thing relevant I found was I had 'AppData\Local\Programs\DkMLNative\usr\bin' which I had added this to path, because whenever I run anything from 'AppData\Local\Programs\DkMLNative\bin' (which I had added onto path before as well) I got some error about missing: 'dklmvars-v2. or something' I never got anything to work

— Reply to this email directly, view it on GitHubhttps://github.com/diskuv/dkml-installer-ocaml/issues/93#issuecomment-1869262167, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AREG4PP5KMOWZA67NVA7QODYLJMVXAVCNFSM6AAAAABBC4NHWWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNRZGI3DEMJWG4. You are receiving this because you commented.Message ID: @.***>

reedjones commented 10 months ago

here's the full output of path:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\libnvvp;C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\wbin;C:\Program Files\ImageMagick-7.1.1-Q16-HDRI;C:\PROGRA~1\MICROS~2\JDK-11~1.7-H\bin;C:\PROGRA~1\MICROS~1\Bin\;C:\PROGRA~2\COMMON~1\Intel\SHARED~1\redist\intel64\compiler;C:\msys64\usr\bin;C:\windows\system32;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\windows\System32\OpenSSH\;C:\PROGRA~3\COMPOS~1\bin;C:\PROGRA~1\Docker\Docker\RESOUR~1\bin;C:\PROGRA~1\MI35E1~1\bin\;C:\PROGRA~2\MICROS~3\110\DTS\Binn\;C:\tools\msys64;C:\src\CHROME~1;C:\PROGRA~2\WI3CF2~1\10\WINDOW~1\;C:\Program Files\Docker\Docker\resources\bin;C:\Program Files\GTK3-Runtime Win64\bin;C:\Program Files\Amazon\AWSCLIV2\;C:\Windows;C:\Users\reedj\AppData\Local\Yarn\bin;C:\Program Files (x86)\Tailscale IPN;C:\Program Files\Microsoft SQL Server\150\Tools\Binn\;C:\Program Files\dotnet\;C:\Users\reedj\AppData\bin\nim-2.0.0\bin;C:\Program Files\Vagrant\bin;C:\Users\reedj\.nimble\bin;C:\Users\reedj\AppData\Local\pnpm;C:\Users\reedj\AppData\Local\Programs\Python\Python310\Scripts;C:\Users\reedj\AppData\Local\Programs\Python\Python310\;C:\Users\reedj\AppData\Local\Programs\Python\Launcher\;C:\Users\reedj\AppData\Local\MICROS~1\WINDOW~1;C:\Users\reedj\AppData\Roaming\npm;C:\PROGRA~3\CHOCOL~1\lib\ghc\tools\GHC-81~1.2\bin;C:\tools\msys64;C:\src\CHROME~1;C:\Users\reedj\LOCAL~1\bin;C:\Users\reedj\AppData\Roaming\nvm;C:\MinGW\lib\gcc\mingw32\92F99B~1.0\include\C__~1;C:\PROGRA~1\OpenVPN\bin;C:\PROGRA~1\nodejs;C:\Users\reedj\AppData\Local\Programs\MICROS~1\bin;C:\PROGRA~1\TESSER~1;C:\PROGRA~1\CMake\bin\;C:\Users\reedj\SURREA~1;C:\PROGRA~1\PostgreSQL\12\bin;C:\Users\reedj\DOTNET~1\tools;C:\Users\reedj\AppData\Local\.bvm;C:\Program Files\Git\cmd;C:\Users\reedj\.cargo\bin;C:\Users\reedj\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\reedj\AppData\bin;C:\Users\reedj\AppData\bin\poppler\Library\bin;C:\Users\reedj\scoop\shims;C:\Users\reedj\AppData\Local\Programs\Azure Dev CLI\;C:\Program Files\ImageMagick-7.1.1-Q16-HDRI;C:\Users\reedj\.dotnet\tools;C:\Users\reedj\AppData\bin\nim-2.0.0\bin;C:\Users\reedj\AppData\Local\Programs\DkMLNative\usr\bin;

jonahbeckford commented 10 months ago

You have both the following in your PATH:

Having the first one in the PATH will definitely conflict with DkML (and other programs that use MSYS2). I'm not sure about the second but I think that will conflict as well.

The MSYS2 installer does not add itself to the PATH, so I'm guessing you did it manually or some other program did it automatically. Regardless, remove both of them from your PATH.

Root cause: Only one version of MSYS2 is allowed to be accessible to programs on your machine, so placing MSYS2 in the PATH is almost always "wrong". You can always launch MSYS2 using the MSYS2 recommended https://www.msys2.org/docs/terminals/ if you need your own private copy.

reedjones commented 10 months ago

That worked, thanks for the help.