Skip to content

[ABLD-28] Bump delocate for better macOS multiarch support #20577

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

Merged

Conversation

rdesgroppes
Copy link
Contributor

@rdesgroppes rdesgroppes commented Jun 24, 2025

What does this PR do?

Bump delocate to a version that better supports Python wheels embedding multiple macOS architectures.

Motivation

Working on adding support for macOS AArch64/ARM64 "native" build, I faced that:

Using existing wheel
--> cm_client-45.0.4-py3-none-any.whl
--> confluent_kafka-2.8.0-cp312-cp312-macosx_11_0_universal2.whl
Traceback (most recent call last):
[...]
NotImplementedError: This function does not support separate values per-architecture: {'x86_64': [('/usr/lib/libSystem.B.dylib', '1.0.0', '1336.61.1')], 'arm64': [('/Users/runner/builder_root/prefix/lib/librdkafka.1.dylib', '0.0.0', '0.0.0'), ('/usr/lib/libSystem.B.dylib', '1.0.0', '1336.61.1')]}

See https://github.com/DataDog/integrations-core/actions/runs/15850271495/job/44681764771?pr=20455#step:7:17535

It turns out this issue got resolved through:

... and shipped with delocate 0.13.0:

The present change aims at taking advantage of it, which indeed seems to work as intended:

Using existing wheel
--> cm_client-45.0.4-py3-none-any.whl
--> confluent_kafka-2.8.0-cp312-cp312-macosx_11_0_universal2.whl
Repaired wheel
Libraries copied into the wheel:
/Users/runner/builder_root/prefix/lib/librdkafka.1.dylib
/Users/runner/builder_root/prefix/lib/liblmdb.so
/Users/runner/builder_root/prefix/lib/libcurl.4.dylib
/Users/runner/builder_root/prefix/lib/libssl.3.dylib
/Users/runner/builder_root/prefix/lib/libcrypto.3.dylib
/Users/runner/builder_root/prefix/lib/libz.1.3.1.dylib

See https://github.com/DataDog/integrations-core/actions/runs/15851063188/job/44684393512?pr=20455#step:7:17513

Review checklist (to be filled by reviewers)

  • Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
  • Add the qa/skip-qa label if the PR doesn't need to be tested during QA.
  • If you need to backport this PR to another branch, you can add the backport/<branch-name> label to the PR and it will automatically open a backport PR once this one is merged

Working on adding support for macOS AArch64/ARM64 "native" build, I
faced that:
```py
Using existing wheel
--> cm_client-45.0.4-py3-none-any.whl
--> confluent_kafka-2.8.0-cp312-cp312-macosx_11_0_universal2.whl
Traceback (most recent call last):
[...]
NotImplementedError: This function does not support separate values per-architecture: {'x86_64': [('/usr/lib/libSystem.B.dylib', '1.0.0', '1336.61.1')], 'arm64': [('/Users/runner/builder_root/prefix/lib/librdkafka.1.dylib', '0.0.0', '0.0.0'), ('/usr/lib/libSystem.B.dylib', '1.0.0', '1336.61.1')]}
```
See:
https://github.com/DataDog/integrations-core/actions/runs/15850271495/job/44681764771?pr=20455#step:7:17535

It turns out this issue got resolved through:
- matthew-brett/delocate#230

... and shipped with `delocate` **0.13.0**:
- https://github.com/matthew-brett/delocate/releases/tag/0.13.0
- https://pypi.org/project/delocate/0.13.0/

The present change aims at taking advantage of it, which indeed seems to
work as intended:
```py
Using existing wheel
--> cm_client-45.0.4-py3-none-any.whl
--> confluent_kafka-2.8.0-cp312-cp312-macosx_11_0_universal2.whl
Repaired wheel
Libraries copied into the wheel:
/Users/runner/builder_root/prefix/lib/librdkafka.1.dylib
/Users/runner/builder_root/prefix/lib/liblmdb.so
/Users/runner/builder_root/prefix/lib/libcurl.4.dylib
/Users/runner/builder_root/prefix/lib/libssl.3.dylib
/Users/runner/builder_root/prefix/lib/libcrypto.3.dylib
/Users/runner/builder_root/prefix/lib/libz.1.3.1.dylib
```
See:
https://github.com/DataDog/integrations-core/actions/runs/15851063188/job/44684393512?pr=20455#step:7:17513
@rdesgroppes rdesgroppes force-pushed the regis.desgroppes/bump-delocate-for-multiarch-support branch from 02c3b19 to 65d7154 Compare June 24, 2025 15:09
@rdesgroppes rdesgroppes changed the title Bump delocate for better macOS multiarch support [ABLD-28] Bump delocate for better macOS multiarch support Jun 24, 2025
Copy link

@Pythyu Pythyu left a comment

Choose a reason for hiding this comment

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

lgtm

@rdesgroppes rdesgroppes added this pull request to the merge queue Jun 24, 2025
Merged via the queue into master with commit adde7a5 Jun 24, 2025
55 checks passed
@rdesgroppes rdesgroppes deleted the regis.desgroppes/bump-delocate-for-multiarch-support branch June 24, 2025 16:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants