Really, last try... 3rd Linux OS, 3rd computer

Sigh. I’m really wanting to get involved here with firmware development but I’m just getting completely tapped out on the time and frustration budget.

I tried installing odrivetool in Windows, had a lot of issues.

I tried installing on my Raspi (read some posts that implied I could), but there are tools/dependencies not available on that platform (IIRC openocd was not available)

Created a Debian VM, lots of configuration fiddling and finally got my firmware flashed and odrive tool running.

Had problems getting developer tools installed on that VM and noticed a lot of references to Ubuntu in the docs, so I spun up a fresh Ubuntu VM but then found that openocd (or maybe it was tup?) is not available for Ubuntu 18.04

So now I’ve created a new Ubuntu VM, this time 16.04. I have a fresh and updated installation and I’ve snapshotted it so I can test the instructions in the odrive docs and revert to a known state when needed.


So tonight, I fire up the new VM and try to start fresh. I knew from previous experience that the whole Python 2 vs. 3 thing was going to be a pain so I tried to be smart and work with only the Python 3 version of tools like pip… And now I’m having trouble and questions at step 1 and it only got worse at step 2:

  1. Install Python3 - doing a “python3 --version” on my fresh Ubuntu 16.04 install yields 3.5.2 and makes me wonder if that sufficient? What is the real python 3 version dependency? I decide that since the documentation doesn’t say anything more than “Python 3”, I should be OK and I’m not going to go down the rabbit hole of upgrades needlessly.

  2. Install the ODrive tools by opening a terminal and typing pip install odrive Now I try to be smart and remember that I had trouble with the whole Python 2/3 disaster and I try pip3 install odrive which tells me that pip3 is not installed and it offers that I should sudo apt installpython3-pip, which I do. Now I think I’m ready to install the odrive tool so I type pip3 install odrive which yields the following (sorry if this pastes in as a mess):

wkalman@ubuntu:~$ pip3 install odrive
Collecting odrive
  Downloading https://files.pythonhosted.org/packages/ca/e5/7f8fadbd57fa73c27cf0362aaf8d60f544a277cc48509381604450a7af71/odrive-0.4.1.tar.gz (41kB)
    100% |████████████████████████████████| 51kB 1.4MB/s 
Collecting ipython (from odrive)
  Downloading https://files.pythonhosted.org/packages/f7/62/2fef7db3a7b75e8099c3d9db2630ae5ba0b9eefefd91f7497862393d90e8/ipython-6.5.0-py3-none-any.whl (748kB)
    100% |████████████████████████████████| 757kB 1.5MB/s 
Collecting PyUSB (from odrive)
  Downloading https://files.pythonhosted.org/packages/5f/34/2095e821c01225377dda4ebdbd53d8316d6abb243c9bee43d3888fa91dd6/pyusb-1.0.2.tar.gz (54kB)
    100% |████████████████████████████████| 61kB 3.9MB/s 
Collecting PySerial (from odrive)
  Downloading https://files.pythonhosted.org/packages/0d/e4/2a744dd9e3be04a0c0907414e2a01a7c88bb3915cbe3c8cc06e209f59c30/pyserial-3.4-py2.py3-none-any.whl (193kB)
    100% |████████████████████████████████| 194kB 2.9MB/s 
Collecting requests (from odrive)
  Downloading https://files.pythonhosted.org/packages/65/47/7e02164a2a3db50ed6d8a6ab1d6d60b69c4c3fdf57a284257925dfc12bda/requests-2.19.1-py2.py3-none-any.whl (91kB)
    100% |████████████████████████████████| 92kB 5.0MB/s 
Collecting IntelHex (from odrive)
  Downloading https://files.pythonhosted.org/packages/bf/77/bf670318b3db325c71e2ac6a90b7bcfdf9fc739b7cf6aebb31715721623e/intelhex-2.2.1-py2.py3-none-any.whl (50kB)
    100% |████████████████████████████████| 51kB 3.4MB/s 
Collecting matplotlib (from odrive)
  Downloading https://files.pythonhosted.org/packages/de/af/6258db9b26313dd7ad70dba30a60bec62bf030a44208d4cb62966206666f/matplotlib-2.2.3-cp35-cp35m-manylinux1_x86_64.whl (12.6MB)
    100% |████████████████████████████████| 12.6MB 129kB/s 
Collecting pywin32>=222; platform_system == "Windows" (from odrive)
  Could not find a version that satisfies the requirement pywin32>=222; platform_system == "Windows" (from odrive) (from versions: )
No matching distribution found for pywin32>=222; platform_system == "Windows" (from odrive)
You are using pip version 8.1.1, however version 18.0 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

So for some reason it thinks it’s running in Windows. And it says that I should upgrade from pip 8.1.1 to 18.0 (!). Running the suggested pip upgrade command confirms installation of 8.1.1 and repeats the warning and command to upgrade again.

Can someone please help me 1) Get things up and running and 2) Help me use this exercise as a way to update the docs? I don’t have a lot of experience with these tools and although I can say I have a working knowledge of Linux, I am not an expert but I am keen to learn and to help with this project but I will need some guidance where I have gaps.

Hi,
I had a lot of issues too but when I reinstalled Ubuntu 18.04 it worked
Cheers Stijn

This is a fresh clean install of stock Ubuntu 16.04. I’ve also done the same with Ubuntu 18.04 (but had problems installing development tools later on, so fell back to 16.04).

Sorry you are having so much frustration.
I saw you wrote on Discord. Id be happy to find a time there and help you over shared screen.

1 Like

Thanks for the help, Oskar! I hope to be able to dig into the firmware soon!

1 Like

I’m having the exact same problem. Did you ever figure out a solution?

I am also having the same problem and would greatly appreciate any pointers on how to resolve the issue.

Hi

I’m making a Windows installation guide because it’s to hard to find everything on your own

Cheers

1 Like

I was able to get ODrive working on a Raspberry Pi. I installed this image:
https://downloads.ubiquityrobotics.com/pi.html
which is an Ubuntu 16.04 Linux distro
(which also includes ROS)

and followed these instructions: https://github.com/neomanic/odrive_ros
to install a Python 2.7 compatible version of ODrive (although I think 2.7 compatibility may now be included in the official release?)

I also found that it helps to UNINSTALL pip before you upgrade.
python -m pip uninstall pip

On my debian wheezy machine I fixed it doing following…

which pip

/usr/local/bin

/usr/local/bin/pip uninstall pip
apt-get remove python-pip
apt-get install python-pip