Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

iOS multi-arch simulator framework duplicates libPython dylib #146498

Copy link
Copy link
@freakboy3742

Description

@freakboy3742
Issue body actions

Bug description:

The XCframework utility script that is used to process the dylibs in the Python standard library does two things:

  1. Copies the standard library from the XCframework location in the Xcode project into the app
  2. Processes all libraries in the lib/python3.x folder, and turns them into frameworks.

If you build a thin simulator framework (i.e., a single architecture), it explicitly excludes the libPython dylib from step (1). However, this isn't done for a multi-architecture simulator framework. This historically wasn't necessary, because the libPython is platform specific, and was contained in the lib-<arch> folder.

However, as a result of #141692, a multi-architecture framework now includes a lib folder that has a libpython dylib. This means step (1) now copies. By introducing a symlink in the lib folder, the util script now has two problems:

  1. There's content in the lib folder that will be rejected by the App Store validation process
  2. The util script breaks in such a way that it doesn't find the python3.X folder that needs to be processed in step (2).

This problem can be seen by building a full framework (i.e., python Apple ci --slow-ci) - a handful of tests will fail because .origin files for modules in the standard library aren't written. It doesn't affect the "--fast-ci" path (which is what GitHub Actions runs), as that only generates a "thin" framework.

CPython versions tested on:

CPython main branch

Operating systems tested on:

Other

Linked PRs

Reactions are currently unavailable

Metadata

Metadata

Assignees

Labels

3.14bugs and security fixesbugs and security fixes3.15pre-release feature fixes, bugs and security fixespre-release feature fixes, bugs and security fixesOS-iostype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions

    Morty Proxy This is a proxified and sanitized view of the page, visit original site.