Skip to content

Add pip req arm64 - #5468

Merged
JuanMBriones merged 0 commit into
mac_arm64_coverage_guided_fuzzers_support_extra_depsfrom
add_pip_req_arm64
Sep 25, 2026
Merged

JuanMBriones merged 0 commit into
mac_arm64_coverage_guided_fuzzers_support_extra_depsfrom
add_pip_req_arm64

Conversation

@JuanMBriones

@JuanMBriones JuanMBriones commented Sep 11, 2026 •

Copy link
Copy Markdown
Contributor

When packaging bot deployment bundles on a Linux host via butler package,
_install_pip() installs all packages from Pipfile.lock (including
transitive dependencies with Linux x86_64 ELF shared objects) into
src/third_party. _install_platform_pip() then downloads pre-compiled
binary wheels for each package listed in src/platform_requirements.txt
to replace the Linux binaries with target platform native binaries.

Previously, markupsafe and pynacl were transitive dependencies containing
compiled C/CFFI extensions that were missing from
src/platform_requirements.txt:

  • markupsafe==3.0.3 (transitive dependency of Jinja2==3.1.4 / Flask):
    contains the compiled C extension markupsafe/_speedups.cpython-*.so.
    Without it in platform_requirements.txt, the Linux ELF .so remained in
    the macOS ARM64 bundle.
  • pynacl==1.6.0 (transitive dependency of pygithub==1.55): contains the
    compiled libsodium CFFI native binary nacl/_sodium.abi3.so. Without it in
    platform_requirements.txt, importing github / nacl on macOS ARM64 fails
    with ImportError: dlopen(.../nacl/_sodium.abi3.so): not a mach-o file.

Adding both packages ensures butler package -p macos_arm64 downloads the
native macOS ARM64/universal2 wheels (markupsafe-3.0.3-cp311-cp311-macosx_11_0_arm64.whl
and pynacl-1.6.0-cp38-abi3-macosx_10_10_universal2.whl) into src/third_party.

Bug: 555853673

@JuanMBriones
JuanMBriones added this pull request to stack #5469 September 11, 2026 19:47
@JuanMBriones
JuanMBriones requested a review from a team as a code owner September 11, 2026 19:47
Comment thread src/platform_requirements.txt Outdated
Comment thread src/platform_requirements.txt Outdated
@g-ortuno

Copy link
Copy Markdown
Collaborator

I think you pushed your radamsa changes to this branch 😅

@JuanMBriones
JuanMBriones removed this pull request from stack #5469 September 21, 2026 23:52
@JuanMBriones
JuanMBriones added this pull request to stack #5478 September 21, 2026 23:54
@JuanMBriones
JuanMBriones force-pushed the add_pip_req_arm64 branch 2 times, most recently from 6363a0e to 89cac14 Compare September 22, 2026 01:25
@g-ortuno g-ortuno added the ready for GOSST review Pull requests ready for GOSST team review label Sep 22, 2026
@JuanMBriones
JuanMBriones removed this pull request from stack #5478 September 23, 2026 06:52
@JuanMBriones
JuanMBriones added this pull request to stack #5484 September 23, 2026 06:53
@g-ortuno

Copy link
Copy Markdown
Collaborator

@PauloVLB PTAL!

@JuanMBriones
JuanMBriones merged commit 38eb3ca into master Sep 25, 2026
@JuanMBriones
JuanMBriones deleted the add_pip_req_arm64 branch September 25, 2026 20:50
@JuanMBriones
JuanMBriones restored the add_pip_req_arm64 branch September 25, 2026 23:00
ViniciustCosta pushed a commit that referenced this pull request Sep 29, 2026
Same changes as #5468. Faced a
bug while using gh stack github/gh-stack#385.
The past PR is claimed to be "merged" but it isn't.

-----

When packaging bot deployment bundles on a Linux host via butler
package,
_install_pip() installs all packages from Pipfile.lock (including
transitive dependencies with Linux x86_64 ELF shared objects) into
src/third_party. _install_platform_pip() then downloads pre-compiled
binary wheels for each package listed in src/platform_requirements.txt
to replace the Linux binaries with target platform native binaries.

Previously, markupsafe and pynacl were transitive dependencies
containing
compiled C/CFFI extensions that were missing from
src/platform_requirements.txt:

markupsafe==3.0.3 (transitive dependency of Jinja2==3.1.4 / Flask):
contains the compiled C extension markupsafe/_speedups.cpython-*.so.
Without it in platform_requirements.txt, the Linux ELF .so remained in
the macOS ARM64 bundle.
pynacl==1.6.0 (transitive dependency of pygithub==1.55): contains the
compiled libsodium CFFI native binary nacl/_sodium.abi3.so. Without it
in
platform_requirements.txt, importing github / nacl on macOS ARM64 fails
with ImportError: dlopen(.../nacl/_sodium.abi3.so): not a mach-o file.
Adding both packages ensures butler package -p macos_arm64 downloads the
native macOS ARM64/universal2 wheels
(markupsafe-3.0.3-cp311-cp311-macosx_11_0_arm64.whl
and pynacl-1.6.0-cp38-abi3-macosx_10_10_universal2.whl) into
src/third_party.

Bug: 555853673

Signed-off-by: Manuel Briones <manuelbriones@google.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready for GOSST review Pull requests ready for GOSST team review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants