Skip to content

Bump ninja to 1.12.1 to fix Python 3.13 build error #78240

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

MaxDesiatov
Copy link
Contributor

New version of ninja includes ninja-build/ninja#2471, which allows building Swift when Python 3.13 is installed

New version of ninja includes ninja-build/ninja#2471, which allows building Swift when Python 3.13 is installed
@MaxDesiatov MaxDesiatov requested review from etcwilde, shahmishal and compnerd and removed request for shahmishal December 17, 2024 15:00
@MaxDesiatov MaxDesiatov added update-checkout Area → utils: the `update-checkout` script utils Area: the build system and other accessory scripts under the "utils" directory labels Dec 17, 2024
@MaxDesiatov
Copy link
Contributor Author

@swift-ci test

@MaxDesiatov
Copy link
Contributor Author

@swift-ci build toolchain

Copy link
Member

@compnerd compnerd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@etcwilde do you remember if this was the version of ninja that occasionally had flakes?

@@ -149,7 +149,7 @@
"swift-corelibs-libdispatch": "main",
"swift-integration-tests": "main",
"swift-xcode-playground-support": "main",
"ninja": "v1.11.1",
"ninja": "v1.12.1",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's a bug in 1.12+ that results in dependencies not always rebuilding correctly. I haven't been able to fully investigate, but we should not do this until we know what is happening and have a fix.

@bc-lee
Copy link
Contributor

bc-lee commented Jan 4, 2025

I agree that we need to replace the existing pipes.quote in Ninja to address the incompatibilities with Python 3.13.

If upgrading the Ninja version is not feasible at this time, perhaps the Swift community forking https://github.com/ninja-build/ninja and applying the necessary changes to the forked repository could be a viable solution. Specifically, we could cherry-pick commit 9cf13cd1ecb7ae649394f4133d121a01e191560b to resolve the issue. (For context, I authored that commit.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
update-checkout Area → utils: the `update-checkout` script utils Area: the build system and other accessory scripts under the "utils" directory
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants