Windows Build issues (both target and native)

未关闭
#10 0 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
5/5
预计耗时
一周以上
新手友好度
25/100
Issue 类型
缺陷
描述清晰度
需要澄清
活跃度
停滞
技术栈
python, zig

调研方向

首先在 Windows 主机上复现默认构建,并从 Linux 复现 x86_64-windows-gnu 目标,然后比较 win11build.txt 与 linuxToWindow.txt。在缩小所报告的两个构建路径之前,跟踪 freeze_module 和 openssl 附近的失败。主机和目标构建均成功完成即表示完成。

由索引模型根据 Issue 内容生成。

描述

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

主要语言
Zig
星标
19
派生
7
PR 合并指标
30 天内没有已合并 PR

贡献指南

这个仓库没有索引到贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

allyourcodebase/cpython 的其他 Issue

查看 allyourcodebase/cpython 的全部 Issue

相似的 Issue

更多 Build System Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。