LeoHsiao1 / pyexiv2

Read and write image metadata, including EXIF, IPTC, XMP, ICC Profile.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

issues on mac m1

nitishsaDire opened this issue · comments

Hey, I have built as per build instructions for Darwin. https://github.com/LeoHsiao1/pyexiv2/tree/master/pyexiv2/lib
Build was successful as it generated exiv2api.so file. But when I import pyexif2 it is giving following error.

>>> import pyexiv2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/tsm/Downloads/thumbnail_experiments/pyexiff/pyexiv2/pyexiv2/__init__.py", line 6, in <module>
    from .core import *
  File "/Users/tsm/Downloads/thumbnail_experiments/pyexiff/pyexiv2/pyexiv2/core.py", line 4, in <module>
    from .lib import exiv2api
  File "/Users/tsm/Downloads/thumbnail_experiments/pyexiff/pyexiv2/pyexiv2/lib/__init__.py", line 25, in <module>
    import exiv2api
ImportError: dlopen(/Users/tsm/Downloads/thumbnail_experiments/pyexiff/pyexiv2/pyexiv2/lib/py3.8-darwin/exiv2api.so, 0x0002): symbol not found in flat namespace '__ZN5Exiv210BasicErrorIcE6setMsgEv'

Thanks in advance

Hi, exiv2 is currently released as a pre-compiled package for the AMD64 platform via GitHub Action. If you are using it on ARM64 platform, you need to compile exiv2 manually, which requires C++ knowledge and some difficulty. Sorry I'm not familiar with C++ either.
Exiv2/exiv2#2173

After compiling exiv2 successfully, it is time to compile pyexiv2.