You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
While trying to use a package with extension modules (py-radix in particular), I'm seeing the following error (repro fork):
../bin/clang -shared -Wl,-S -mmacos-version-min=10.11 -no-canonical-prefixes -fobjc-link-runtime -headerpad_max_install_names -lc++ -lm -L../lib build/temp.macosx-11.0-arm64-cpython-311/radix/_radix.o build/temp.macosx-11.0-arm64-cpython-311/radix/_radix/radix.o -o build/lib.macosx-11.0-arm64-cpython-311/radix/_radix.cpython-311-darwin.so
Undefined symbols for architecture arm64:
"_PyArg_ParseTuple", referenced from:
_Radix_nodes in _radix.o
_Radix_prefixes in _radix.o
_radix_Radix in _radix.o
"_PyArg_ParseTupleAndKeywords", referenced from:
_Radix_add in _radix.o
_Radix_delete in _radix.o
_Radix_search_exact in _radix.o
_Radix_search_best in _radix.o
_Radix_search_worst in _radix.o
_Radix_search_covered in _radix.o
_Radix_search_covering in _radix.o
...
"_PyBytes_FromStringAndSize", referenced from:
_newRadixNodeObject in _radix.o
"_PyDict_GetItemString", referenced from:
_module_initialize in _radix.o
<<<OTHER SYMBOLS>>>
ld: symbol(s) not found for architecture arm64
It looks like the python library is missing from the libs, so I tried using pycross_wheel_build with native_deps = ["@rules_python//python/cc:current_py_cc_libs"], but that seems to break even earlier due to wrong includes.
Any ideas on how this can be made to work? Thanks!
The text was updated successfully, but these errors were encountered:
Most of the examples and tests in this codebase utilize https://github.com/uber/hermetic_cc_toolchain which still passes -undefined dynamic_lookup by default. I think that linkopt is basically always required when building macos extensions, so I'll have to figure out how to best have it included.
While trying to use a package with extension modules (
py-radix
in particular), I'm seeing the following error (repro fork):It looks like the python library is missing from the libs, so I tried using
pycross_wheel_build
withnative_deps = ["@rules_python//python/cc:current_py_cc_libs"]
, but that seems to break even earlier due to wrong includes.Any ideas on how this can be made to work? Thanks!
The text was updated successfully, but these errors were encountered: