The latest Python version 3.9 available on Cygwin breaks the WebKit build on Windows. The previous version, Python 3.8, works fine.

The bug is reported to Python in the GitHub issue below, but the Python developers expect any fix to come from the Cygwin Python maintainers:

  Windows-style path is not recognized under cygwin
  https://github.com/python/cpython/issues/90907

I'm building with:

bash gradlew --no-daemon \
  -PCONF=Release -PPROMOTED_BUILD_NUMBER=7 \
  -PHUDSON_BUILD_NUMBER=101 -PHUDSON_JOB_NAME=jfx \
  -PCOMPILE_WEBKIT=true -PCOMPILE_MEDIA=true -PBUILD_LIBAV_STUBS=true \
  sdk jmods javadoc

The build fails with the following messages:

----------------------------
> Task :web:compileNativeWin

...

[424/5282] Generating
    ../../JavaScriptCore/DerivedSources/CombinedDomains.json
FAILED: JavaScriptCore/DerivedSources/CombinedDomains.json
C:/cygwin64/home/john/src/jfx/modules/javafx.web/build/win/Release/
    JavaScriptCore/DerivedSources/CombinedDomains.json
cmd.exe /C "cd /D
    C:\cygwin64\home\john\src\jfx\modules\javafx.web\build\win\Release\
        Source\JavaScriptCore
        && C:\cygwin64\bin\python3.9.exe
    C:/cygwin64/home/john/src/jfx/modules/javafx.web/build/win/Release/
        JavaScriptCore/Scripts/generate-combined-inspector-json.py ...

...

/usr/bin/python3.9: can't open file
'/home/john/src/jfx/modules/javafx.web/build/win/Release/Source/
    JavaScriptCore/C:/cygwin64/home/john/src/jfx/modules/javafx.web/
    build/win/Release/JavaScriptCore/Scripts/
    generate-combined-inspector-json.py':
[Errno 2] No such file or directory
----------------------------

An up-to-date installation of Cygwin has the following Python versions available:

----------------------------
$ /usr/sbin/update-alternatives --display python
python - status is auto.
 link currently points to /usr/bin/python3.9
/usr/bin/python2.7 - priority 27
/usr/bin/python3.8 - priority 38
/usr/bin/python3.9 - priority 39
Current `best' version is /usr/bin/python3.9.

$ python --version
Python 3.9.10
----------------------------

To run the build, I had to remove the Python 3.9 packages entirely so that only the following two alternatives remain:

----------------------------
$ /usr/sbin/update-alternatives --display python
python - status is auto.
 link currently points to /usr/bin/python3.8
/usr/bin/python2.7 - priority 27
/usr/bin/python3.8 - priority 38
Current `best' version is /usr/bin/python3.8.

$ python --version
Python 3.8.12
----------------------------

John

Reply via email to