I recently upgraded my mac from a 2013 intel based system to a 2021 M1 apple silicon-based system.
I was kinda able to keep limping along with old version of things installed via python and homebrew but it got to the point that I needed to migrate to stuff that fit the architecture. After lots of finagling was able to get compilation of ODrive firmware working with tup, though it involved downloading my own version of osxFuse and putting it in the path.
However, I have not been able to get odrivetool to install. I have tried both Python 3.8.12 and 3.10.2 (version control being done with pyenv) with the following command:
python -m pip install --upgrade odrive
Though the formatting of the errors is slightly different depending on the version it is the same base problem - libfibre is not supported.
Preparing metadata (setup.py) ... error
error: subprocess-exited-with-error
Ă— python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [12 lines of output]
Traceback (most recent call last):
File "<string>", line 2, in <module>
File "<pip-setuptools-caller>", line 34, in <module>
File "/private/tmp/pip-install-8erquy61/odrive_7396b7120099451893815d1fd63e8035/setup.py", line 61, in <module>
import odrive.version
File "/private/tmp/pip-install-8erquy61/odrive_7396b7120099451893815d1fd63e8035/odrive/__init__.py", line 9, in <module>
import fibre
File "/private/tmp/pip-install-8erquy61/odrive_7396b7120099451893815d1fd63e8035/odrive/pyfibre/fibre/__init__.py", line 4, in <module>
from .libfibre import Domain, ObjectLostError
File "/private/tmp/pip-install-8erquy61/odrive_7396b7120099451893815d1fd63e8035/odrive/pyfibre/fibre/libfibre.py", line 53, in <module>
raise ModuleNotFoundError("libfibre is not supported on your platform ({} {}). {}".format(*system_desc, instructions))
ModuleNotFoundError: libfibre is not supported on your platform (Darwin arm64). Go to https://github.com/samuelsadok/fibre-cpp for instructions on how to compile libfibre. Once you have compiled it, add it to this folder.
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
Ă— Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
I have cloned the repo at the link (GitHub - samuelsadok/fibre-cpp: C++ implementation of Fibre) and followed the rather simple steps to build, but they don’t work. When trying to run make
I get this error:
Makefile:25: *** commands commence before first target. Stop.
Again I have played around with various settings and brew
installs as I feel like it should be something simple. But have yet to get it working so any ideas are appreciated. Should I keep figuring out how to get fibre-cpp to compile? Is there some easier way to get odrivetool
working on an M1 mac that I am missing?
(I have also opened an issue on the fibre-cpp repo as the issue could easily just be there as well.