You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It turns out that the generated python binary for some builds are named `python.exe` instead of `python`. This depends on the File System where the build happens. It will be named `python.exe` when the FS is case-insensitive (Mac OSX and Cygwin), but it will be named `python` when the FS is case-sensitive (most GNU Linux distributions). The proposed solution consists in make a copy of the generated python binary with a given name (python3 or python2) so this way
To achieve this goal we refactor a little our `HostPythonRecipe`:
- add private property `HostPythonRecipe._exe_name` (the name of the python executable based on major version)
- add public property `HostPythonRecipe.python_exe` (the full path of the python executable)
- implement `HostPythonRecipe.should_build`
And also it's affected the `GuestPythonRecipe`, because we need to use the generated python executable by `HostPythonRecipe`:
- add private property `GuestPythonRecipe._libpython` (python's library name with extension...hardcoded for now...)
- implement `GuestPythonRecipe.should_build`... to check the library instead of the executable so we avoid conflicts with case-insensitive FS
We also need:
- fix `PythonRecipe.real_hostpython_location` because the name of our host python executable will depend on major version
- fix python2 interpreter (fix-interpreter-version.patch)
Note: the variation of the name of the python's executable is mentioned at python's build docs (https://github.com/python/cpython/blob/3.7/README.rst#build-instructions)
Note: @TheSin- , ¡¡¡thanks for your debugging sessions!!!
0 commit comments