essentia
essentia copied to clipboard
essentia on M1 Macbook
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?
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.
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.
Thank you. I will do that.
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.
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.
Python wheels for Apple Silicon are now available on PyPI (essentia, essentia-tensorflow).