It seesm something has updated and now odrivetool doesn’t work at all on my linux installation:
File “/usr/local/bin/odrivetool”, line 26, in
from fibre import Logger
File “/usr/local/lib/python3.9/dist-packages/odrive/pyfibre/fibre/init.py”, line 4, in
from .libfibre import Domain, ObjectLostError
File “/usr/local/lib/python3.9/dist-packages/odrive/pyfibre/fibre/libfibre.py”, line 76, in
lib = cdll.LoadLibrary(lib_path)
File “/usr/lib/python3.9/ctypes/init.py”, line 452, in LoadLibrary
return self._dlltype(name)
File “/usr/lib/python3.9/ctypes/init.py”, line 374, in init
self._handle = _dlopen(self._name, mode)
OSError: /usr/local/lib/python3.9/dist-packages/odrive/pyfibre/fibre/libfibre-linux-aarch64.so: wrong ELF class: ELFCLASS64
No idea why its stopped working but the live plotter wasn’t working anyway so I couldn’t tune my new drives. Now I can’t use the other drives either.
Any ideas as I’m completely stuck now!
How do I use the GUI tool with this drive?
Just happened to me, too. This is the 3rd pi I’ve put odrive on in the last 5 days, and for some reason the install went sideways on this one and gives me the ELFCLASS64 error. I’ve tried
uninstalling and reinstalling (didn’t help),
uninstalling, rebooting, and reinstalling (didn’t help).
when I ran odrivetool. I have python 3.9.2 and it reports as 32bit. The library is 64bit, hence the error. My, admittedly kludgy, fix was to copy the 32bit armhf library over the aarch64 one.
It would be wise to make a backup of libfibre-linux-aarch64.so first, or move it somewhere.
So,
cd /usr/local/lib/python3.9/dist-packages/odrive/pyfibre/fibre
and
sudo cp libfibre-linux-armhf.so libfibre-linux-aarch64.so