essentia icon indicating copy to clipboard operation
essentia copied to clipboard

essentia on M1 Macbook

Open seffka opened this issue 3 years ago • 4 comments

Seems work! just configure with '--no-msse' flag, e.g.: python3 waf configure --build-static --with-python --with-cpptests --with-examples --with-vamp --no-msse May be it's possible to set it by default if M1 architecture is detected?

seffka avatar Feb 08 '22 18:02 seffka

Hi! I tried using that flag but it still failed to compile. This is the log: compilationErrorOnM1.txt

I would very much appreciate any tips. I've never compiled essentia before.

hamoid avatar May 17 '22 09:05 hamoid

As far as I can see, something wrong with your XCode installation, but not with essentia (perhaps, as a result of incomplete upgrade or such). E.g.: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/atomic:1073:73: error: unknown type name 'ptrdiff_t' _Tp* __cxx_atomic_fetch_sub(__cxx_atomic_base_impl<_Tp*> volatile* __a, ptrdiff_t __delta, memory_order __order) _NOEXCEPT { or In file included from ../test/3rdparty/gtest-1.6.0/src/gtest-all.cc:39: In file included from ../test/3rdparty/gtest-1.6.0/include/gtest/gtest.h:55: In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:276: In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit_reference:15: In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/algorithm:643: In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/memory:681: In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/atomic:581: ../version:1:1: error: expected unqualified-id

You might try to reinstall XCode.

seffka avatar May 17 '22 09:05 seffka

Thank you. I will do that.

hamoid avatar May 17 '22 10:05 hamoid

I did upgrade mac os to the latest, then XCode. It didn't help. Then I found out this: https://github.com/MTG/homebrew-essentia

It seems to install ffmpeg2.8 instead of the latest. Maybe that was the issue? The brew package worked anyway. Thanks for the help.

Update: libessentia.a is not built using that approach, which I need. Still trying to figure out how to produce that. I tried changing that homebrew recipe to build the static version but then it fails.

hamoid avatar May 18 '22 12:05 hamoid

You should install essentia via homebrew: check out this issue.

Then, you should point your pythonpath to the installation folder, (in my case opt/homebrew/lib/python3.9/site-packages/essentia). Follow this tutorial, which advises you to create the .vscode/settings.json and launch.json files.

andresbrocco avatar Sep 08 '23 20:09 andresbrocco

Python wheels for Apple Silicon are now available on PyPI (essentia, essentia-tensorflow).

dbogdanov avatar Oct 27 '23 13:10 dbogdanov