From 96ff50e14ef2793a12cea003e296e215ffdff3ea Mon Sep 17 00:00:00 2001 From: Matt Butrovich Date: Fri, 6 Nov 2026 16:51:31 -0500 Subject: [PATCH 1/2] build(python): build pyiceberg-core wheel with opt-level = 3 --- bindings/python/pyproject.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bindings/python/pyproject.toml b/bindings/python/pyproject.toml index 714bac424a..f252b92fe9 100644 --- a/bindings/python/pyproject.toml +++ b/bindings/python/pyproject.toml @@ -48,12 +48,12 @@ include = [ module-name = "pyiceberg_core.pyiceberg_core_rust" profile = "release" python-source = "python" -# Optimize for small binary size (https://github.com/apache/iceberg-rust/pull/1841) +# Keep symbols: macOS rejects the stripped .so with "mis-aligned LINKEDIT string pool". config = [ "profile.release.lto=\"thin\"", "profile.release.codegen-units=1", - "profile.release.opt-level=\"z\"", - "profile.release.strip=true", + "profile.release.opt-level=3", + "profile.release.strip=false", ] [tool.ruff.lint] From fa6abde9c4e809b911825b424bbb264a7bd97746 Mon Sep 17 00:00:00 2001 From: Matt Butrovich Date: Fri, 6 Nov 2026 17:00:33 -0500 Subject: [PATCH 2/2] update docs --- bindings/python/pyproject.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bindings/python/pyproject.toml b/bindings/python/pyproject.toml index f252b92fe9..a60a6cc127 100644 --- a/bindings/python/pyproject.toml +++ b/bindings/python/pyproject.toml @@ -48,7 +48,8 @@ include = [ module-name = "pyiceberg_core.pyiceberg_core_rust" profile = "release" python-source = "python" -# Keep symbols: macOS rejects the stripped .so with "mis-aligned LINKEDIT string pool". +# Don't strip: depending on the binary's layout, a stripped macOS .so fails to import +# with "mis-aligned LINKEDIT string pool" (https://github.com/apache/iceberg-rust/issues/3646). config = [ "profile.release.lto=\"thin\"", "profile.release.codegen-units=1",