Skip to content

Windows: problems installing packages that manifest via Sys_error("...\CMD.exe: Invalid argument") e.g. CMD=python3 #6395

Open
@lukstafi

Description

@lukstafi

I faced such problem right after installing OCaml on native Windows: related to dune in the default switch. The problem went away after reinstalling dune.
It is easier to reproduce by trying to install conf-python-3 since the installation fails more straightforwardly.
The problem appears both with and without Windows-wide python3 installed. In the logs below, I have Python 3.13 installed under the command python3 (or python3.exe).

PS C:\Users\lukst\GitHub\ocannl> opam install conf-python-3 -vvv --debug-level=3
00:00.019  FILE(config)           Read ~\AppData\Local\opam\config in 0.000s
00:00.019  CLI                    Parsing CLI version 2.3
00:00.020  GSTATE                 LOAD-GLOBAL-STATE @ C:\Users\lukst\AppData\Local\opam
00:00.020  SYSTEM                 LOCK C:\Users\lukst\AppData\Local\opam\lock (none => read)
00:00.021  FILE(config)           Read ~\AppData\Local\opam\config in 0.000s
00:00.021  RSTATE                 LOAD-REPOSITORY-STATE @ C:\Users\lukst\AppData\Local\opam
00:00.022  FILE(repos-config)     Read ~\AppData\Local\opam\repo\repos-config in 0.001s
00:00.022  SYSTEM                 LOCK C:\Users\lukst\AppData\Local\opam\repo\state-33BF9E46.cache (none => read)
00:00.068  CACHE(repository)      Loaded C:\Users\lukst\AppData\Local\opam\repo\state-33BF9E46.cache in 0.045s
00:00.068  SYSTEM                 LOCK C:\Users\lukst\AppData\Local\opam\repo\state-33BF9E46.cache (read => none)
00:00.068  RSTATE                 Cache found
00:00.068  STATE                  LOAD-SWITCH-STATE @ 5.3.0
00:00.069  SYSTEM                 LOCK C:\Users\lukst\AppData\Local\opam\5.3.0\.opam-switch\lock (none => write)
00:00.069  FILE(switch-config)    Read ~\AppData\Local\opam\5.3.0\.opam-switch\switch-config in 0.000s
00:00.069  FILE(switch-state)     Read ~\AppData\Local\opam\5.3.0\.opam-switch\switch-state in 0.000s
00:00.071  FILE(opam)             Read ~\AppData\Local\opam\5.3.0\.opam-switch\overlay\ppx_minidebug\opam in 0.000s
00:00.072  SYSTEM                 LOCK C:\Users\lukst\AppData\Local\opam\5.3.0\.opam-switch\packages\cache (none => read)
00:00.072  CACHE(installed)       Loaded C:\Users\lukst\AppData\Local\opam\5.3.0\.opam-switch\packages\cache in 0.001s
00:00.072  SYSTEM                 LOCK C:\Users\lukst\AppData\Local\opam\5.3.0\.opam-switch\packages\cache (read => none)
00:00.240  FILE(.config)          Read ~\AppData\Local\opam\5.3.0\.opam-switch\config\ocaml.config in 0.000s
00:00.241  FILE(.config)          Read ~\AppData\Local\opam\5.3.0\.opam-switch\config\mingw-w64-shims.config in 0.000s
00:00.242  STATE                  Switch state loaded in 0.174s
00:00.246  FILE(switch-state)     Wrote C:\Users\lukst\AppData\Local\opam\5.3.0\.opam-switch\backup\state-20250223152337.export atomically in 0.004s
00:00.298  CLIENT                 INSTALL conf-python-3
00:00.474  FILE(environment)      Read ~\AppData\Local\opam\.last-env\env-7dfcb3d2f1f63a3e5a6a3e7b26326fa5-0 in 0.000s
00:00.609  PROC                   gen_quote: "C:\\Users\\lukst\\AppData\\Local\\opam\\.cygwin\\root\\bin\\cygpath.exe"
00:00.609  PROC                   result: "C:\\Users\\lukst\\AppData\\Local\\opam\\.cygwin\\root\\bin\\cygpath.exe"
00:00.609  PROC                   gen_quote: "--"
00:00.609  PROC                   result: "--"
00:00.609  PROC                   gen_quote: "C:\\Users\\lukst\\AppData\\Local\\opam\\5.3.0\\man"
00:00.610  PROC                   result: "C:\\Users\\lukst\\AppData\\Local\\opam\\5.3.0\\man"
00:00.610  PROC                   cygvoke(glob): "C:\Users\lukst\AppData\Local\opam\.cygwin\root\bin\cygpath.exe" "--" "C:\Users\lukst\AppData\Local\opam\5.3.0\man"
00:00.610  PROC                   Adding CYGWIN=winsymlinks:native
00:00.651  PROC                   safe_unlink: C:\Users\lukst\AppData\Local\opam\log\command-8956-a57c47.info
00:00.652  PROC                   safe_unlink: C:\Users\lukst\AppData\Local\opam\log\command-8956-a57c47.env
00:00.652  PROC                   safe_unlink: C:\Users\lukst\AppData\Local\opam\log\command-8956-a57c47.out
00:00.655  GSTATE                 Failed to evaluate global variable sys-ocaml-version: "ocamlc": command not found.
+ C:\windows\system32\cmd.exe "/d" "/c" "for /f %f in ('ocamlc -config-var os_type 2^>nul') do @if '%f' equ 'Win32' (echo msvc) else (echo libc)"
00:00.721  SYSTEM                 [log-8956-4b3b67] (in 0.064s) cmd /d /c for /f %f in ('ocamlc -config-var os_type 2^>nul') do @if '%f' equ 'Win32' (echo msvc) else (echo libc)
00:00.721  GSTATE                 Failed to evaluate global variable sys-ocaml-libc: "C:\\windows\\system32\\cmd.exe /d /c for /f %f in ('ocamlc -config-var os_type 2^>nul') do @if '%f' equ 'Win32' (echo msvc) else (echo libc)" exited with code 1
00:00.844  XSYS                   Adding to env { LC_ALL=C }
00:01.011  STATE                  depexts loaded in 0.168s
00:01.016  STATE                  Availability of packages computed in 0.718s.
00:01.017  STATE                  Detected changed packages (marked for reinstall): {}
00:01.017  FILE(package-version-list)  Cannot find C:\Users\lukst\AppData\Local\opam\5.3.0\.opam-switch\reinstall
+ C:\windows\system32\cmd.exe "/d" "/c" "for /f %f in ('ocamlc -config-var architecture 2^>nul') do @if '%f' equ 'i386' (echo i686) else if '%f' equ 'amd64' (echo x86_64) else (echo %f)"
00:01.134  SYSTEM                 [log-8956-27d600] (in 0.025s) cmd /d /c for /f %f in ('ocamlc -config-var architecture 2^>nul') do @if '%f' equ 'i386' (echo i686) else if '%f' equ 'amd64' (echo x86_64) else (echo %f)
00:01.134  GSTATE                 Failed to evaluate global variable sys-ocaml-arch: "C:\\windows\\system32\\cmd.exe /d /c for /f %f in ('ocamlc -config-var architecture 2^>nul') do @if '%f' equ 'i386' (echo i686) else if '%f' equ 'amd64' (echo x86_64) else (echo %f)" exited with code 1
+ C:\windows\system32\cmd.exe "/d" "/c" "ocamlc -config-var ccomp_type 2>nul"
00:01.150  SYSTEM                 [log-8956-3c9560] (in 0.016s) cmd /d /c ocamlc -config-var ccomp_type 2>nul
00:01.151  GSTATE                 Failed to evaluate global variable sys-ocaml-cc: "C:\\windows\\system32\\cmd.exe /d /c ocamlc -config-var ccomp_type 2>nul" exited with code 1
00:01.261  STATE                  Universe load: 0.220s
00:01.261  SOLVER                 resolve request=install:conf-python-3 remove:() upgrade:()
00:01.261  SOLVER                 cudf_versions_map
00:01.447  SOLVER                 Load cudf universe: opam2cudf
00:01.832  SOLVER                 Preload of cudf universe: done in 0.385s
00:01.832  SOLVER                 Load cudf universe (depopts:false, build:true, post:true)
00:01.833  SOLVER                 Load cudf universe (depopts:false, build:true, post:true)
00:01.912  SOLVER                 opam2cudf: done in 0.079s
00:01.929  SOLVER                 Secondary load of cudf universe: done in 0.096s
00:01.929  CUDF                   resolve request=install:conf-python-3 remove:() upgrade:()
00:01.929  CUDF                   Checking request...
00:02.828  CUDF                   Request checked in 0.899s
00:02.998  CUDF                   Conflicts: 303 (303) pkgs to remove
00:02.998  CUDF                   Preprocess cudf request (trimming: full): from 21384 to 2150 packages in 0.17s
00:02.998  SOLVER                 Calling solver builtin-mccs+glpk with criteria -removed,-count[avoid-version,changed],-count[version-lag,request],-count[version-lag,changed],-count[missing-depexts,changed],-changed
Can reduce graph.
Initial size: 2150 packages (142 installed, 2008 uninstalled), 240 virtual packages
Final size: 2147 packages (142 installed, 2005 uninstalled), 202 virtual packages
Constructing initial basis...
Number of 0-1 knapsack inequalities = 4102
Constructing conflict graph...
Conflict graph has 1316 + 604 = 1920 vertices
00:03.201  SOLVER                 External solver took 0.202s
00:03.201  CUDF                   Solver call done in 0.373s
00:03.202  SOLVER                 Load cudf universe (depopts:true, build:false, post:false)
00:03.203  SOLVER                 Load cudf universe (depopts:true, build:false, post:false)
00:03.264  SOLVER                 opam2cudf: done in 0.061s
00:03.276  SOLVER                 Secondary load of cudf universe: done in 0.073s
00:03.276  SOLVER                 Load cudf universe (depopts:true, build:true, post:false)
00:03.276  SOLVER                 Load cudf universe (depopts:true, build:true, post:false)
00:03.339  SOLVER                 opam2cudf: done in 0.063s
00:03.349  SOLVER                 Secondary load of cudf universe: done in 0.073s
00:03.349  CUDF                   graph_of_actions root_actions={  - ∗ conf-python-3 (= 2) }
00:03.355  CUDF                   Graph generation: 0.001
00:03.357  CUDF                   Graph generation: 0.000
00:03.361  CUDF                   Graph generation: 0.000
00:03.368  CUDF                   Removed unrelated actions: {}
00:03.368  SOLUTION               apply
The following actions will be performed:
=== install 1 package
  ∗ conf-python-3 9.0.0
00:03.372  PROC                   gen_quote: "C:\\Users\\lukst\\AppData\\Local\\opam\\.cygwin\\root\\bin\\cygpath.exe"
00:03.372  PROC                   result: "C:\\Users\\lukst\\AppData\\Local\\opam\\.cygwin\\root\\bin\\cygpath.exe"
00:03.372  PROC                   gen_quote: "--"
00:03.372  PROC                   result: "--"
00:03.372  PROC                   gen_quote: "C:\\Users\\lukst\\AppData\\Local\\opam\\5.3.0\\man"
00:03.372  PROC                   result: "C:\\Users\\lukst\\AppData\\Local\\opam\\5.3.0\\man"
00:03.372  PROC                   cygvoke(glob): "C:\Users\lukst\AppData\Local\opam\.cygwin\root\bin\cygpath.exe" "--" "C:\Users\lukst\AppData\Local\opam\5.3.0\man"
00:03.372  PROC                   Adding CYGWIN=winsymlinks:native
00:03.394  PROC                   safe_unlink: C:\Users\lukst\AppData\Local\opam\log\command-8956-a89170.info
00:03.394  PROC                   safe_unlink: C:\Users\lukst\AppData\Local\opam\log\command-8956-a89170.env
00:03.394  PROC                   safe_unlink: C:\Users\lukst\AppData\Local\opam\log\command-8956-a89170.out
00:03.397  PROC                   gen_quote: "C:\\Users\\lukst\\AppData\\Local\\opam\\.cygwin\\root\\bin\\cygpath.exe"
00:03.399  PROC                   result: "C:\\Users\\lukst\\AppData\\Local\\opam\\.cygwin\\root\\bin\\cygpath.exe"
00:03.399  PROC                   gen_quote: "--"
00:03.399  PROC                   result: "--"
00:03.400  PROC                   gen_quote: "C:\\Users\\lukst\\AppData\\Local\\opam\\5.3.0\\man"
00:03.400  PROC                   result: "C:\\Users\\lukst\\AppData\\Local\\opam\\5.3.0\\man"
00:03.400  PROC                   cygvoke(glob): "C:\Users\lukst\AppData\Local\opam\.cygwin\root\bin\cygpath.exe" "--" "C:\Users\lukst\AppData\Local\opam\5.3.0\man"
00:03.401  PROC                   Adding CYGWIN=winsymlinks:native
00:03.422  PROC                   safe_unlink: C:\Users\lukst\AppData\Local\opam\log\command-8956-66c1ae.info
00:03.422  PROC                   safe_unlink: C:\Users\lukst\AppData\Local\opam\log\command-8956-66c1ae.env
00:03.423  PROC                   safe_unlink: C:\Users\lukst\AppData\Local\opam\log\command-8956-66c1ae.out
00:03.423  SOLUTION               parallel_apply
00:03.423  SOLUTION               Regroup shared source packages: {}

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><>  🐫
00:03.423  PARALLEL               Iterate over 3 task(s) with 23 process(es)
00:03.424  PARALLEL               Starting job 976010819 (worker -/23 -/1 1/3): ⬇ conf-python-3.9.0.0
00:03.424  SOLUTION               Fetching sources for conf-python-3.9.0.0
00:03.424  ACTION                 download_package: conf-python-3.9.0.0
⬇ retrieved conf-python-3.9.0.0  (cached)
00:03.425  PARALLEL               Job 976010819 finished
00:03.427  PARALLEL               Starting job 419973939 (worker 1/23 -/1 -/3): λ conf-python-3.9.0.0
00:03.428  SYSTEM                 rmdir C:\Users\lukst\AppData\Local\opam\5.3.0\.opam-switch\build\conf-python-3.9.0.0
00:03.429  SYSTEM                 mkdir C:\Users\lukst\AppData\Local\opam\5.3.0\.opam-switch\build\conf-python-3.9.0.0
00:03.430  ACTION                 prepare_package_source: conf-python-3.9.0.0 at C:\Users\lukst\AppData\Local\opam\5.3.0\.opam-switch\build\conf-python-3.9.0.0
00:03.430  SYSTEM                 copy C:\Users\lukst\AppData\Local\opam\download-cache\sha256\50\50738b59f747bf6464ec69a083c7f21e768f0a77df6520a091636c74bb1b7b77 -> C:\Users\lukst\AppData\Local\opam\5.3.0\.opam-switch\build\conf-python-3.9.0.0\test.py
00:03.433  PROC                   gen_quote: "C:\\Users\\lukst\\AppData\\Local\\opam\\.cygwin\\root\\bin\\cygpath.exe"
00:03.433  PROC                   result: "C:\\Users\\lukst\\AppData\\Local\\opam\\.cygwin\\root\\bin\\cygpath.exe"
00:03.433  PROC                   gen_quote: "--"
00:03.433  PROC                   result: "--"
00:03.433  PROC                   gen_quote: "C:\\Users\\lukst\\AppData\\Local\\opam\\5.3.0\\man"
00:03.433  PROC                   result: "C:\\Users\\lukst\\AppData\\Local\\opam\\5.3.0\\man"
00:03.433  PROC                   cygvoke(glob): "C:\Users\lukst\AppData\Local\opam\.cygwin\root\bin\cygpath.exe" "--" "C:\Users\lukst\AppData\Local\opam\5.3.0\man"
00:03.434  PROC                   Adding CYGWIN=winsymlinks:native
00:03.454  PROC                   safe_unlink: C:\Users\lukst\AppData\Local\opam\log\command-8956-4708d2.info
00:03.454  PROC                   safe_unlink: C:\Users\lukst\AppData\Local\opam\log\command-8956-4708d2.env
00:03.454  PROC                   safe_unlink: C:\Users\lukst\AppData\Local\opam\log\command-8956-4708d2.out
00:03.456  PROC                   gen_quote: "C:\\Users\\lukst\\AppData\\Local\\opam\\.cygwin\\root\\bin\\cygpath.exe"
00:03.456  PROC                   result: "C:\\Users\\lukst\\AppData\\Local\\opam\\.cygwin\\root\\bin\\cygpath.exe"
00:03.456  PROC                   gen_quote: "--"
00:03.457  PROC                   result: "--"
00:03.457  PROC                   gen_quote: "C:\\Users\\lukst\\AppData\\Local\\opam\\5.3.0\\man"
00:03.457  PROC                   result: "C:\\Users\\lukst\\AppData\\Local\\opam\\5.3.0\\man"
00:03.457  PROC                   cygvoke(glob): "C:\Users\lukst\AppData\Local\opam\.cygwin\root\bin\cygpath.exe" "--" "C:\Users\lukst\AppData\Local\opam\5.3.0\man"
00:03.457  PROC                   Adding CYGWIN=winsymlinks:native
00:03.478  PROC                   safe_unlink: C:\Users\lukst\AppData\Local\opam\log\command-8956-4dc9d6.info
00:03.478  PROC                   safe_unlink: C:\Users\lukst\AppData\Local\opam\log\command-8956-4dc9d6.env
00:03.479  PROC                   safe_unlink: C:\Users\lukst\AppData\Local\opam\log\command-8956-4dc9d6.out
00:03.480  PARALLEL               Next task in job 419973939: C:\Users\lukst\AppData\Local\Microsoft\WindowsApps\python3.exe test.py
[ERROR] Actions cancelled because of Sys_error("C:\\Users\\lukst\\AppData\\Local\\Microsoft\\WindowsApps\\python3.exe: Invalid argument")
00:03.481  SYSTEM                 LOCK C:\Users\lukst\AppData\Local\opam\5.3.0\.opam-switch\lock (write => none)
00:03.484  FILE(switch-state)     Read ~\AppData\Local\opam\5.3.0\.opam-switch\switch-state in 0.002s
00:03.484  SYSTEM                 rm C:\Users\lukst\AppData\Local\opam\5.3.0\.opam-switch\backup\state-20250223152337.export
00:03.484  SYSTEM                 LOCK C:\Users\lukst\AppData\Local\opam\repo\lock (none => none)
00:03.484  SYSTEM                 LOCK C:\Users\lukst\AppData\Local\opam\config.lock (none => none)
'C:\Users\lukst\AppData\Local\Microsoft\WinGet\Packages\OCaml.opam_Microsoft.Winget.Source_8wekyb3d8bbwe\opam.exe install conf-python-3 -vvv --debug-level=3' failed.
Fatal error:
Sys_error("C:\\Users\\lukst\\AppData\\Local\\Microsoft\\WindowsApps\\python3.exe: Invalid argument")

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions