Setting up aiy-python-wheels: protobuf not supported on armv6.1

Using the img raspbian-stretch_Picroft_2018-09-12.img on an RPi 3B+ with the AIY Voice Kit. In auto_run.sh, if AIY is selected, the script calls
sudo apt-get install aiy-python-wheels
This fails on the error
protobuf-3.6.1-cp35-cp35m-linux_armv6.1 is not a supported wheel on this platform
Is this a Google issue or a Mycroft one? Is there a workaround? I don’t think Mycroft requires protocol buffers!

Thanks, Jan

I hassnt seen that issue on my installs. But I know that it isnt that well made the AIY part (i did that part)
What do work for me is using a script I made which installs everything that is needed.

  • Instaling the picroft strech image
  • ssh into picroft by ssh pi@picroft
  • Exit auto_run.sh by Ctrl+C and run these commands to install google AIY
wget https://raw.githubusercontent.com/andlo/picroft-google-aiy-voicekit-skill/master/install_AIY.sh
chmod +x install_AIY.sh
./install_AIY.dh
sudo reboot

after that, the AIY voicekit should be installed, working and can bee used.

To get Mcroft to use it i use the picroft-google-aiy-voicekit bu installing it by ssh to the device, exit auto_run.sh with Ctrl+C and run this command

mycroft-msm install https://github.com/andlo/picroft-google-aiy-voicekit-skill.git

This installs the latest picroft-google-aiy-voicekit-skill as the one in mycroft.market has a small bug that is fixed un this version.

Just saw same error
protobuf-3.6.1-cp35-cp35m-linux_armv6.1 is not a supported wheel on this platform
when i did do an sudo apt-get update and apt-get upgrade. There were a lot of google stuff beeing updatet.

It didnt break my installations, anf the AIY is still working, but it seems there is something going on with the google stuff.

Thanks andlo, your script is working. I’ve also raised this in the AIY projects raspbian group as issue 526. Their response so far is

Thanks for reporting this. Technically this wheel is compatible and should work on RPi 3B+ but looks like pip is not happy about its name. Please use our SD card image if possible, it should work on any Pi board.

2 Likes

I am also running into this problem. I hope that Google will be gracious enough as to fix whatever changed in protobuf some time soon. :roll_eyes:

1 Like

I just flashed a new picroft, and cant get the google AIY to install……Looking into what to do if google isnt fixing their part.

Tried compiling this on my picroft aiy box, which works as expected. May be a workaround for the time being.

git clone https://github.com/protocolbuffers/protobuf.git
cd protobuf
git submodule update --init --recursive
./autogen.sh
./configure
make

this breaks, for me I had to do:

cp src/google/protobuf/compiler/cpp/cpp_file.o src/google/protobuf/compiler/cpp/.libs/cpp_file.o
make

make check
sudo make install
sudo ldconfig /usr/local/lib/

for python bits (does not make a wheel):

cd python
python3 setup.py build
python3 setup.py test
export LD_LIBRARY_PATH=…/src/.libs
python3 setup.py build --cpp_implementation
python3 setup.py test --cpp_implementation
python3 setup.py install

2 Likes

That could be one way to go…

I tryed to do mke a fresh fpash of picroft, pdateded everything and did a install of voicekit by my script
https://raw.githubusercontent.com/andlo/picroft-google-aiy-voicekit-skill/master/install_AIY.sh
and commented out the line
sudo apt-get -y install aiy-python-wheels

That did make the install go but except the aiy-python.wheels.

That did not make the skill not work….the button and led does in fact work….But i admit I dont know what aiy-python.wheels does….

I don’t have an AIY kit, so just ventilating some ideas here;

sudo apt-get -y install aiy-python-wheels

Isn’t this command perhaps change the /etc/pip.conf to add/remove/change the location of where to get wheels from? I believe the picroft image has added the piwheels repository

https://www.piwheels.org/simple/

And the protobuf package is there;

https://www.piwheels.org/simple/protobuf/

You can change / override certain things via /etc/pip.conf (https://pip.pypa.io/en/stable/user_guide/) perhaps a (quick) fix lies in changing the config file to grab that certain protobuf-3.6.1 package from piwheels instead (forcing it baqck if aiy-wheels had changed it)

quote from the pip manual; “Command line options have precedence over environment variables, which have precedence over the config file.”

So perhaps something like thius will work;

pip install --find-links=https://www.piwheels.org/simple/protobuf/ -r requirements.txt

Again, no AIY here, so just sucking some stuff out of my big thumb. To me it looks like the debian package; aiy-wheels install some preset wheels or wheel location overriding the one configured from piwheels in /et/pip/conf

Forcing it back, or somehow blacklist the protobuf again might fix it.

Hence, perhaps protobuf was not yet included within the aiy-wheels debian package before and they did now in the last update.

1 Like

that sounds right. What I did were just not to install the aiy-python-wheels, and my AIY kit works fine whitout it.
And truly i dont know what the aiy-python-wheels or python-wheels does.

Can yo explain what it does and why it maybe is needed ?

I believe that question is for someone that installed the aiy-python-wheels package right? Not me, because I have no clue what the package does or installs :wink:

Hehe well - I used to have it installed, but when i gave problems, i stoped installing it :slight_smile:

Another option…
# pip3 download protobuf
(file downloaded is protobuf-3.6.1-py2.py3-none-any.whl)
# pip3 install ./protobuf-3.6.1-py2.py3-none-any.whl

1 Like

reviving this thread as i ran into the same problem… the last comment on AIY project issue #526 did resolve the “protobuf not supported” issue for me.

1 Like