Running on Mac OS X fails with Symbol not found: __ZNK6icu_6114Transliterator12getTargetSetERNS_10UnicodeSetE
Created by: jakubkulhan
The problem seems to be that ICU libraries are not linked to compiled module:
$ otool -L .../python-3.6.5/lib/python3.6/site-packages/_icu.cpython-36m-darwin.so
.direnv/python-3.6.5/lib/python3.6/site-packages/_icu.cpython-36m-darwin.so:
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 400.9.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.50.4)
If I run:
$ PYICU_LIBRARIES=icui18n:icuuc:icudata pip install PyICU
I get correctly linked shared object:
$ otool -L .direnv/python-3.6.5/lib/python3.6/site-packages/_icu.cpython-36m-darwin.so
.direnv/python-3.6.5/lib/python3.6/site-packages/_icu.cpython-36m-darwin.so:
/usr/local/opt/icu4c/lib/libicui18n.61.dylib (compatibility version 61.0.0, current version 61.1.0)
/usr/local/opt/icu4c/lib/libicuuc.61.dylib (compatibility version 61.0.0, current version 61.1.0)
/usr/local/opt/icu4c/lib/libicudata.61.1.dylib (compatibility version 61.0.0, current version 61.1.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 400.9.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.50.4)
It seems that icui18n
, icuuc
& icudata
should be set in LIBRARIES
https://github.com/ovalhub/pyicu/blob/master/setup.py#L106
System info:
$ uname -a
Darwin jakub-macbook 17.5.0 Darwin Kernel Version 17.5.0: Fri Apr 13 19:32:32 PDT 2018; root:xnu-4570.51.2~1/RELEASE_X86_64 x86_64
$ python --version
Python 3.6.5
$ icu-config --version
61.1