Skip to content
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

python: hide symbols except for PyInit on macOS #1506

Merged
merged 4 commits into from
Jun 8, 2021
Merged

Conversation

crockeo
Copy link
Contributor

@crockeo crockeo commented Jun 3, 2021

Description: This PR modifies the build recipe for envoy_engine.so to hide all symbols except for _PyInit_envoy_engine by default on maOS, so that envoy_engine can be loaded alongside a protobuf wheel without breaking.

Loading in protobuf alongside envoy_engine.so would register two sets of the same symbols and, on macOS, the runtime linker chooses the first symbol it finds causing problems. See the similary protobuf change and its sister change in grpc for more information on what's going on.

Risk Level: Low
Testing: See the now-closed #1504 for how I've been testing this.
Docs Changes: N/A
Release Notes: N/A

Signed-off-by: Cerek Hillen <chillen@lyft.com>
Signed-off-by: Cerek Hillen <chillen@lyft.com>
This reverts commit 5351ba7.

Signed-off-by: Cerek Hillen <chillen@lyft.com>
…e-symbols-macos

Signed-off-by: Cerek Hillen <chillen@lyft.com>
@crockeo
Copy link
Contributor Author

crockeo commented Jun 7, 2021

reverting the minimum version bump since this doesn't affect prod and we don't need to pull it in until we also have other important changes

@goaway goaway merged commit 4ded40e into main Jun 8, 2021
@goaway goaway deleted the ch/hide-symbols-macos branch June 8, 2021 01:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants