Open tahina-pro opened 3 months ago
I suspect one possible reason may be that opam install
is not running with a "full Cygwin PATH environment" such as the one that bash --login
would provide. More precisely, python3
should be found as /usr/bin/python3
(a symlink to /etc/alternatives/python3
, which is itself a symlink to python
), but is not.
I know nothing about windows, and would not be able to test anything related to it. If you have a suggestion to fix this package, it is welcome and others will review it.
This doesn't have an easy solution, I'm afraid. There are two parts to it:
.exe
searching in PATH in opam at the moment.@dra27
it seems to be just a symbolic link issue (the same happens with bash.exe);
I've tried, but the paths of the z3 build scripts need to be “quoted” for the path conversion to take place, and some other commands like copy
need to be replaced by cp
.
Ugly workaround for Windows compilation using github actions
buildonwindows:
name: Build on windows
runs-on: windows-latest
steps:
- name: Checkout tree
uses: actions/checkout@v2
- name: Set-up OCaml
uses: ocaml/setup-ocaml@v3
with:
ocaml-compiler: 4
- run: $env:Path = 'D:\cygwin\bin;' + $env:Path; setx /m PATH "$env:PATH"
- run: opam install conf-python-3
- run: opam exec -- python3 --version
- run: cp D:\cygwin\bin\python3.9.exe D:\cygwin\bin\python3.exe
- run: opam exec -- python3 --version
- run: ls D:\cygwin ; ls D:\cygwin\bin ; $env:Path
- run: opam install . --with-test
First shows python version 3.9.13 (windows), then 3.9.16 (cygwin).
May it helps someone.
If, after removing any python3.exe in Windows' PATH, I try
opam install conf-python-3
with the mingw64 compilers, either from a full-fledged Cygwin environment, or from a Windows opam with its own copy of Cygwin (underC:\Users\...\AppData\Local\opam\.cygwin\root
), then Cygwinpython3
installs successfully, but then opam fails with:By contrast, if I install Windows (not Cygwin) Python 3.x "by hand", then
opam install conf-python-3
succeeds. But that may not be the result I want, because if I then install an opam package such asz3.4.8.5-1
, it fails to compile because of directory separators:\
with Windows Python, but I expect Cygwin/
because I expect to compilez3.4.8.5-1
with the Cygwin mingw64 compilers.Is this related to #26130 ? Thank you in advance @UnixJunkie , @dra27 for clarifying!
Output of
opam var os
:win32
Output ofopam var os-distribution
:cygwin
Output of
opam config report
: