planetmarshall/pillow-jpls

ImportError: dlopen(): symbol not found

Opened this issue · 2 comments

When I try to install the package from the wheel on macOS Monterey with arm architecture, I get the following error:

$ pip install pillow-jpls
$ python -c 'import pillow_jpls'
../../.pyenvs/test/lib/python3.9/site-packages/pillow_jpls/__init__.py:2: in <module>
    from .jpls_image_file import JplsImageFile, accept
../../.pyenvs/test/lib/python3.9/site-packages/pillow_jpls/jpls_image_file.py:3: in <module>
    from . import _pycharls
E   ImportError: dlopen(....pyenvs/test/lib/python3.9/site-packages/pillow_jpls/_pycharls.cpython-39-darwin.so, 0x0002): symbol not found in flat namespace '__ZN3fmt2v87vformatENS0_17basic_string_viewIcEENS0_17basic_format_arg
sINS0_20basic_format_contextINS0_8appenderEcEEEE'

When I install the package from source, it works:

$ pip install --no-binary=':all:' pillow-jpls
$ python -c 'import pillow_jpls'

Note that I installed CharLS via Homebrew, which installs libraries with prefix /opt/homebrew on the new Apple devices.

Hi
I am also trying to implement CharLS on my apple device.
How did you installed CharLS via Homebrew?

Hi are there any updates on this. I tried the workaround suggested by hackermd but I had no success.

My feeling is that this can be resolved by someone rebuilding the .so package for mac and then using that? I haven't tried this to verify, but I was wondering if someone is already looking into this.