Windows Build issues (both target and native)

Open
#10 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Stale
Tech stack
python, zig

Research direction

Start by reproducing the default build on a Windows host and the x86_64-windows-gnu target from Linux, then compare win11build.txt with linuxToWindow.txt. Trace the failures around freeze_module and openssl before narrowing the two reported build paths. Done means both host and target builds complete successfully.

Written by the indexing model from the issue text.

Description

Windows Build Issues

Windows seems to have issues in terms of both targeting it and building on it as a dev platform. I'll split up the descriptions.

Note: all windows builds were for the gnu abi, so no msvc libc weirdness should be at play.

Windows Issues as a build host

When on windows (which I see is not in the project's CI, that could very much be intentional) when trying to build any target (e.g. even x86_64-linux-musl from a windows host) the build fails when trying to build freeze_module and ssl: win11build.txt. The file is quite large, but I think the important part is around:

Build Summary: 16/54 steps succeeded; 2 failed
install transitive failure
+- install generated/ transitive failure
   +- WriteFile lib\python3.12 transitive failure
      +- WriteFile cached
      +- compile exe python Debug native transitive failure
      |  +- add module sources/includes to python exe success
      |  |  +- run exe makesetup (gen) cached
      |  |     +- compile exe makesetup Debug native cached 10s MaxRSS:19M
      |  |     +- run exe replace (Setup.bootstrap) cached
      |  |     |  +- compile exe replace Debug native cached 10s MaxRSS:19M
      |  |     +- run exe replace (Setup.stdlib) cached
      |  |        +- compile exe replace Debug native (reused)
      |  +- run exe freeze_module (Python/frozen_modules/getpath.h) transitive failure
      |  |  +- compile exe freeze_module Debug native 15 errors
      |  |     +- add module sources/includes to freeze_module exe success
      |  |     |  +- run exe makesetup (gen) cached
      |  |     |     +- compile exe makesetup Debug native (reused)
      |  |     |     +- run exe replace (Setup.bootstrap) cached
      |  |     |     |  +- compile exe replace Debug native (reused)
      |  |     |     +- run exe replace (Setup.stdlib) cached
      |  |     |        +- compile exe replace Debug native (reused)
      |  |     +- run exe makesetup (gen) (+3 more reused dependencies)
      |  +- run exe freeze_module (Python/frozen_modules/importlib._bootstrap.h) transitive failure
      |  |  +- compile exe freeze_module Debug native (+2 more reused dependencies)
      |  +- run exe freeze_module (Python/frozen_modules/importlib._bootstrap_external.h) transitive failure
      |  |  +- compile exe freeze_module Debug native (+2 more reused dependencies)
      |  +- run exe freeze_module (Python/frozen_modules/zipimport.h) transitive failure
      |  |  +- compile exe freeze_module Debug native (+2 more reused dependencies)
      |  +- run _freeze_module.py for 'Lib/importlib/_bootstrap.py' (frozen_modules/importlib._bootstrap.h) transitive failure
      |  |  +- WriteFile lib\python3.12 transitive failure
      |  |     +- WriteFile cached
      |  |     +- compile exe bootstrap_python Debug native transitive failure
      |  |     |  +- add module sources/includes to bootstrap_python exe success
      |  |     |  |  +- run exe makesetup (gen) (+3 more reused dependencies)
      |  |     |  +- run exe freeze_module (Python/frozen_modules/getpath.h) (+1 more reused dependencies)
      |  |     |  +- run exe freeze_module (Python/frozen_modules/importlib._bootstrap.h) (+1 more reused dependencies)
      |  |     |  +- run exe freeze_module (Python/frozen_modules/importlib._bootstrap_external.h) (+1 more reused dependencies)
      |  |     |  +- run exe freeze_module (Python/frozen_modules/zipimport.h) (+1 more reused dependencies)
      |  |     |  +- run exe makesetup (gen) (+3 more reused dependencies)
      |  |     +- compile exe bootstrap_python Debug native (+6 more reused dependencies)
      |  +- run _freeze_module.py for 'Lib/importlib/_bootstrap_external.py' (frozen_modules/importlib._bootstrap_external.h) transitive failure
      |  |  +- WriteFile lib\python3.12 (+3 more reused dependencies)
      |  +- run _freeze_module.py for 'Lib/zipimport.py' (frozen_modules/zipimport.h) transitive failure
      |  |  +- WriteFile lib\python3.12 (+3 more reused dependencies)
      |  +- run _freeze_module.py for 'Lib/abc.py' (frozen_modules/abc.h) transitive failure
      |  |  +- WriteFile lib\python3.12 (+3 more reused dependencies)
      |  +- run _freeze_module.py for 'Lib/codecs.py' (frozen_modules/codecs.h) transitive failure
      |  |  +- WriteFile lib\python3.12 (+3 more reused dependencies)
      |  +- run _freeze_module.py for 'Lib/io.py' (frozen_modules/io.h) transitive failure
      |  |  +- WriteFile lib\python3.12 (+3 more reused dependencies)
      |  +- run _freeze_module.py for 'Lib/_collections_abc.py' (frozen_modules/_collections_abc.h) transitive failure
      |  |  +- WriteFile lib\python3.12 (+3 more reused dependencies)
      |  +- run _freeze_module.py for 'Lib/_sitebuiltins.py' (frozen_modules/_sitebuiltins.h) transitive failure
      |  |  +- WriteFile lib\python3.12 (+3 more reused dependencies)
      |  +- run _freeze_module.py for 'Lib/genericpath.py' (frozen_modules/genericpath.h) transitive failure
      |  |  +- WriteFile lib\python3.12 (+3 more reused dependencies)
      |  +- run _freeze_module.py for 'Lib/ntpath.py' (frozen_modules/ntpath.h) transitive failure
      |  |  +- WriteFile lib\python3.12 (+3 more reused dependencies)
      |  +- run _freeze_module.py for 'Lib/posixpath.py' (frozen_modules/posixpath.h) transitive failure
      |  |  +- WriteFile lib\python3.12 (+3 more reused dependencies)
      |  +- run _freeze_module.py for 'Lib/os.py' (frozen_modules/os.h) transitive failure
      |  |  +- WriteFile lib\python3.12 (+3 more reused dependencies)
      |  +- run _freeze_module.py for 'Lib/site.py' (frozen_modules/site.h) transitive failure
      |  |  +- WriteFile lib\python3.12 (+3 more reused dependencies)
      |  +- run _freeze_module.py for 'Lib/stat.py' (frozen_modules/stat.h) transitive failure
      |  |  +- WriteFile lib\python3.12 (+3 more reused dependencies)
      |  +- run _freeze_module.py for 'Lib/importlib/util.py' (frozen_modules/importlib.util.h) transitive failure
      |  |  +- WriteFile lib\python3.12 (+3 more reused dependencies)
      |  +- run _freeze_module.py for 'Lib/importlib/machinery.py' (frozen_modules/importlib.machinery.h) transitive failure
      |  |  +- WriteFile lib\python3.12 (+3 more reused dependencies)
      |  +- run _freeze_module.py for 'Lib/runpy.py' (frozen_modules/runpy.h) transitive failure
      |  |  +- WriteFile lib\python3.12 (+3 more reused dependencies)
      |  +- run _freeze_module.py for 'Lib/__hello__.py' (frozen_modules/__hello__.h) transitive failure
      |  |  +- WriteFile lib\python3.12 (+3 more reused dependencies)
      |  +- run _freeze_module.py for 'Lib/__phello__/__init__.py' (frozen_modules/__phello__.h) transitive failure
      |  |  +- WriteFile lib\python3.12 (+3 more reused dependencies)
      |  +- run _freeze_module.py for 'Lib/__phello__/ham/__init__.py' (frozen_modules/__phello__.ham.h) transitive failure
      |  |  +- WriteFile lib\python3.12 (+3 more reused dependencies)
      |  +- run _freeze_module.py for 'Lib/__phello__/ham/eggs.py' (frozen_modules/__phello__.ham.eggs.h) transitive failure
      |  |  +- WriteFile lib\python3.12 (+3 more reused dependencies)
      |  +- run _freeze_module.py for 'Lib/__phello__/spam.py' (frozen_modules/__phello__.spam.h) transitive failure
      |  |  +- WriteFile lib\python3.12 (+3 more reused dependencies)
      |  +- run _freeze_module.py for 'Tools/freeze/flag.py' (frozen_modules/frozen_only.h) transitive failure
      |  |  +- WriteFile lib\python3.12 (+3 more reused dependencies)
      |  +- WriteFile  cached
      |  +- compile lib z Debug native cached 10s MaxRSS:19M
      |  +- WriteFile  cached
      |  +- compile lib openssl Debug native 134 errors
      |  +- run exe makesetup (gen) (+3 more reused dependencies)
      |  +- run deepfreeze.py (deepfreeze.c) transitive failure
      |  |  +- WriteFile lib\python3.12 (+3 more reused dependencies)
      |  |  +- add modules to run deepfreeze.py transitive failure
      |  |     +- freeze transitive failure
      |  |        +- run _freeze_module.py for 'Lib/importlib/_bootstrap.py' (frozen_modules/importlib._bootstrap.h) (+1 more reused 
dependencies)
      |  |        +- run _freeze_module.py for 'Lib/importlib/_bootstrap_external.py' (frozen_modules/importlib._bootstrap_external.h) (+1 more 
reused dependencies)
      |  |        +- run _freeze_module.py for 'Lib/zipimport.py' (frozen_modules/zipimport.h) (+1 more reused dependencies)
      |  |        +- run _freeze_module.py for 'Lib/abc.py' (frozen_modules/abc.h) (+1 more reused dependencies)
      |  |        +- run _freeze_module.py for 'Lib/codecs.py' (frozen_modules/codecs.h) (+1 more reused dependencies)
      |  |        +- run _freeze_module.py for 'Lib/io.py' (frozen_modules/io.h) (+1 more reused dependencies)
      |  |        +- run _freeze_module.py for 'Lib/_collections_abc.py' (frozen_modules/_collections_abc.h) (+1 more reused dependencies)
      |  |        +- run _freeze_module.py for 'Lib/_sitebuiltins.py' (frozen_modules/_sitebuiltins.h) (+1 more reused dependencies)
      |  |        +- run _freeze_module.py for 'Lib/genericpath.py' (frozen_modules/genericpath.h) (+1 more reused dependencies)
      |  |        +- run _freeze_module.py for 'Lib/ntpath.py' (frozen_modules/ntpath.h) (+1 more reused dependencies)
      |  |        +- run _freeze_module.py for 'Lib/posixpath.py' (frozen_modules/posixpath.h) (+1 more reused dependencies)
      |  |        +- run _freeze_module.py for 'Lib/os.py' (frozen_modules/os.h) (+1 more reused dependencies)
      |  |        +- run _freeze_module.py for 'Lib/site.py' (frozen_modules/site.h) (+1 more reused dependencies)
      |  |        +- run _freeze_module.py for 'Lib/stat.py' (frozen_modules/stat.h) (+1 more reused dependencies)
      |  |        +- run _freeze_module.py for 'Lib/importlib/util.py' (frozen_modules/importlib.util.h) (+1 more reused dependencies)
      |  |        +- run _freeze_module.py for 'Lib/importlib/machinery.py' (frozen_modules/importlib.machinery.h) (+1 more reused dependencies)
      |  |        +- run _freeze_module.py for 'Lib/runpy.py' (frozen_modules/runpy.h) (+1 more reused dependencies)
      |  |        +- run _freeze_module.py for 'Lib/__hello__.py' (frozen_modules/__hello__.h) (+1 more reused dependencies)
      |  |        +- run _freeze_module.py for 'Lib/__phello__/__init__.py' (frozen_modules/__phello__.h) (+1 more reused dependencies)
      |  |        +- run _freeze_module.py for 'Lib/__phello__/ham/__init__.py' (frozen_modules/__phello__.ham.h) (+1 more reused dependencies)
      |  |        +- run _freeze_module.py for 'Lib/__phello__/ham/eggs.py' (frozen_modules/__phello__.ham.eggs.h) (+1 more reused dependencies)
      |  |        +- run _freeze_module.py for 'Lib/__phello__/spam.py' (frozen_modules/__phello__.spam.h) (+1 more reused dependencies)
      |  |        +- run _freeze_module.py for 'Tools/freeze/flag.py' (frozen_modules/frozen_only.h) (+1 more reused dependencies)
      |  +- compile lib z Debug native (reused)
      |  +- compile lib openssl Debug native (reused)
      +- compile exe python Debug native (+36 more reused dependencies)

Again, this happens when building for any target from a windows machine. I tried the same default build step on my linux box and the same build worked.

Windows target issues

This seems a bit more specific to the targeting of windows regardless of build host. On my linux box, I can build the native target and even macos fine. However, when I target x86_64-windows-gnu, I get build errors that seemingly look a bit different from the last section: linuxToWindow.txt

Dominant language
Zig
Stars
19
Forks
7
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from allyourcodebase/cpython

All issues in allyourcodebase/cpython

Similar issues

More Build System issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.