Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

issues on mac m1 #108

Open
nitishsaDire opened this issue Mar 23, 2023 · 3 comments
Open

issues on mac m1 #108

nitishsaDire opened this issue Mar 23, 2023 · 3 comments

Comments

@nitishsaDire
Copy link

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

@LeoHsiao1
Copy link
Owner

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.

@LeoHsiao1
Copy link
Owner

Hi!
I just released pyexiv2 v2.14.0, which provides the wheel package on macos-14 with arm64 architecture.

The work behind the scenes is simple:
GitHub Action used to offer some macos-12 servers with amd64 architecture. Now GitHub Action provides some macos-14 servers with arm64 architecture.
https://github.com/actions/runner-images/tree/main?tab=readme-ov-file

Maybe you don't need to use pyexiv2 anymore, but this answer, I hope, will help others.

@richardthegit
Copy link

Thanks @LeoHsiao1 !
This is working for me on an M3 mac, however there were other dependencies: brotli and gettext. I.e.:

brew install inih gettext brotli

I guess these are pretty commonly installed as I must have already had them on my dev machine, but weren't present on a clean production machine.

@github-staff github-staff deleted a comment from vokaplok Sep 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants