snips-issues icon indicating copy to clipboard operation
snips-issues copied to clipboard

[Platform] Raspbian Buster Support

Open MustacheEmperor opened this issue 6 years ago • 66 comments

Hello,

Following the instructions for manual setup, after adding the key and calling sudo apt-get update in Step 2, the terminal outputs a 404 for one of the sources sudo apt-get update Ign:1 https://raspbian.snips.ai/buster stable InRelease Err:2 https://raspbian.snips.ai/buster stable Release 404 Not Found [IP: 99.84.239.119 443] Hit:3 http://archive.raspberrypi.org/debian buster InRelease Hit:4 http://raspbian.raspberrypi.org/raspbian buster InRelease Reading package lists... Done E: The repository 'https://raspbian.snips.ai/buster stable Release' does not have a Release file. N: Updating from such a repository can't be done securely, and is therefore disabled by default. N: See apt-secure(8) manpage for repository creation and user configuration details.

Because the source can't update, I'm not able to do the following steps.

[EDIT cpoisson 2019/09/27]

Raspbian buster support is likely to happen at the end of october, meanwhile here's a summary of the possible workarounds

Workaround 1 (Recommended)

Use a debian stretch image available here, this distro is the one officially supported at the moment.

Workaround 2

There is 4 problems to solve to support officially buster.

  • [ ] The snips buster repository is not yet created, the stretch one should be used. (Still an open issue)
  • [ ] Some dependencies of snips-asr are missing. (Still an open issue)
  • [ ] Some dependencies of snips-tts are missing. (Still an open issue)
  • [x] ~~hermes-python is not yet available on buster.~~ Fixed

If you feel that you don't have the required skills to proceed and debug issues, I urge you to fallback on Stretch :)

Switch to stretch repository

You need to replace buster by stretch in /etc/apt/sources.list.d/snips.list

sudo bash -c 'echo "deb https://raspbian.snips.ai/stretch stable main" > /etc/apt/sources.list.d/snips.list'

Install snips-asr

sudo apt install libgfortran3
sudo apt install libatlas3-base=3.10.3-8+rpi1
sudo apt install snips-asr

Install snips-tts

Some packages related to pico are missing from the rasbian buster repository

Using dpkg -i is it is possible to install then before installing snips-tts.

e.g.

wget http://ftp.fr.debian.org/debian/pool/non-free/s/svox/libttspico-utils_1.0+git20130326-9_armhf.deb
wget http://ftp.fr.debian.org/debian/pool/non-free/s/svox/libttspico0_1.0+git20130326-9_armhf.deb

sudo dpkg -i libttspico-utils_1.0+git20130326-9_armhf.deb
sudo dpkg -i libttspico0_1.0+git20130326-9_armhf.deb

sudo apt install snips-tts

MustacheEmperor avatar Jul 02 '19 05:07 MustacheEmperor

Downgrading to stretch works

MustacheEmperor avatar Jul 02 '19 05:07 MustacheEmperor

Hi @MustacheEmperor,

We don't support officially buster at the moment.

AFAIK, even if Raspbian buster is out, the debian buster distro is still in a testing phase. [EDIT] 09/07 => Buster is now a stable release.

We are starting to have a look on this, and we already found some missing packages.

Regarding the packages sources, it is normal, this repo https://raspbian.snips.ai/buster does not exist.

You need to replace buster by stretch in /etc/apt/sources.list.d/snips.list

sudo bash -c 'echo "deb https://raspbian.snips.ai/stretch stable main" > /etc/apt/sources.list.d/snips.list'

But then you will encounter another dependencies problem related to snips-asr

A way to proceed is to install libgfortran5.

I am currently evaluating it on my side.

Also, hermes-python is not yet available for buster distro. (an issue has been filled here snipsco/hermes-protocol#133)

cpoisson avatar Jul 02 '19 10:07 cpoisson

snips-tts is also causing some difficuIties.

It needed a bit of exploration on debian buster packages repository

snips-asr

sudo apt install libgfortran3
sudo apt install libatlas3-base=3.10.3-8+rpi1
sudo apt install snips-asr

snips-tts

Some packages related to pico are missing from the rasbian buster repository

Using dpkg -i is it is possible to install then before installing snips-tts.

e.g.

wget http://ftp.fr.debian.org/debian/pool/non-free/s/svox/libttspico-utils_1.0+git20130326-9_armhf.deb
wget http://ftp.fr.debian.org/debian/pool/non-free/s/svox/libttspico0_1.0+git20130326-9_armhf.deb

sudo dpkg -i libttspico-utils_1.0+git20130326-9_armhf.deb
sudo dpkg -i libttspico0_1.0+git20130326-9_armhf.deb

sudo apt install snips-tts

cpoisson avatar Jul 02 '19 15:07 cpoisson

I got stuck installing snips-asr because of the following dependency chain (but I found a workaround):

snips-skaldi > libatlas3-base > libblas-common

and Package 'libblas-common' has no installation candidate.

This is probably because the available libatlas3-base version is 3.10.3-1-snips.

I installed the standard stretch version by doing:

sudo apt-get install libatlas3-base=3.10.3-8+rpi1

After this, snips-asr does not start as it can not find libgfortran.so.3

So we need to create a symbolic link:

sudo ln -s /usr/lib/arm-linux-gnueabihf/libgfortran.so.5 /usr/lib/arm-linux-gnueabihf/libgfortran.so.3

That seems to have fixed things.

batje avatar Jul 04 '19 15:07 batje

@batje , Thanks a bunch, I could see that the instruction I provided were wrong 👍 , It s updated now.

cpoisson avatar Jul 04 '19 17:07 cpoisson

Things seem to work, but when I install an assistent, i see a lot of these:

Running setup.sh & generating virtual environment for stanvn.Small_talk 
✖ Error setting up virtualenv, one or more actions might not be able to run. Reason :
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7.

batje avatar Jul 05 '19 09:07 batje

@cpoisson

AFAIK, even if Raspbian buster is out, the debian buster distro is still in a testing phase.

Debian released Buster as latest stable yesterday.

rootkea avatar Jul 08 '19 15:07 rootkea

@batje

Yes, it is unrelated. Those are normal warnings issued by python tools to push python users to migrate for python 3. As they return a code different than 0 in the command line, SAM display them as errors.

cpoisson avatar Jul 10 '19 15:07 cpoisson

Hi,

Apologies I don't really understand thanks.

Does Snips work on Buster? Do the above comments fix the issue? Should I try and find an image of Stretch? Where can I find an image of stretch?

Thanks your help

code-pig avatar Jul 11 '19 09:07 code-pig

Hi @code-pig ,

Short answer, use stretch to avoid dependencies issues.

I'll make a summary at the beginning of the ticket.

cpoisson avatar Jul 11 '19 11:07 cpoisson

@code-pig I have version 0.63.2 working just fine on a Raspbperry Pi 4 with Buster.

flatsiedatsie avatar Jul 29 '19 13:07 flatsiedatsie

I used stretch in the end, which was probably for the best as it forced me to learn a few things. Also im on the pi 3 so not sure if that makes any difference? Thanks for your help everybody

code-pig avatar Jul 29 '19 14:07 code-pig

@cpoisson Does workaround 2 in the first post still show the actual status with 3 open issues or is there something new?

RaspiManu avatar Jul 30 '19 18:07 RaspiManu

@cpoisson Does workaround 2 in the first post still show the actual status with 3 open issues or is there something new?

Waiting for this update. When can we expect full support for raspbian buster?

sudheerthalla avatar Aug 01 '19 12:08 sudheerthalla

@cpoisson I am planning a long time project with snips.ai, so I would like to not downgrade to Stretch and wait for full Buster support instead. Would be nice to get a short status update. Thank you in advance.

RaspiManu avatar Aug 11 '19 17:08 RaspiManu

The version numbering for Snips' copy of libatlas3-base is problematic here, which explains why the workaround needs the explicit instruction sudo apt install libatlas3-base=3.10.3-8+rpi1.

Buster's version number is 3.10.3-8+rpi1 which is parsed as package version 3.10.3 and Debian revision 8+rpi1. Snips' version is 3.10.3-1-snips. By the Debian policy manual (https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-version), this is parsed as package version 3.10.3-1 and Debian revision snips. What was probably intended is that the package version should be 3.10.3 with revision 1-snips, but this is not how apt interprets it.

Since 3.10.3-1 sorts after 3.10.3, apt sees this as a newer version, even though we understand it as being the same package version, with buster offering a newer revision (8+rpi1 vs 1-snips as was likely intended).

What needs to change here is that the package version should be 3.10.3-1+snips1 so it sorts correctly. You have to be careful about aliasing existing distro packages and being careless about an extra hyphen can break things as is happening here. Instead of annotating the version with a hyphen, you should use a + if you want your version to sort after the unannotated version, and a ~ if you want it to sort before. For example 1.0~abc1 < 1.0 < 1.0+abc1.

jmwilson avatar Aug 11 '19 18:08 jmwilson

@RaspiManu Yes the status is up to date, expect things to move slowly as most of us are on holidays this month. The item is in our backlog (it needs to be done). We have more urgent items to tackle for september. I hope october would allow us to address this issue.

@jmwilson Thanks for the info, we dived into those docs lately to ease internal beta releases. We know that the versioning of this package is a bit messy. (FYI @fredszaq, @kali, @Garvys )

cpoisson avatar Aug 14 '19 15:08 cpoisson

@cpoisson Thank you very much for the reply. I will wait and check for updates here. Have a nice Holiday.

RaspiManu avatar Aug 15 '19 20:08 RaspiManu

Instead of installing the packages with dpkg you could add the Debian repository:

wget -q https://ftp-master.debian.org/keys/release-10.asc -O- | apt-key add -
echo "deb http://deb.debian.org/debian buster non-free" >> /etc/apt/sources.list
apt-get update
apt-get install libttspico0

Source: https://bugs.launchpad.net/raspbian/+bug/1835974

I am working on an Ansible role to install Snips on Buster. I cannot boot Stretch since I own a Raspi4. There are no docs at the moment but someone might find it useful :) https://github.com/wilmardo/ansible-role-snips

wilmardo avatar Aug 18 '19 11:08 wilmardo

@momo42 If you don't want to wait, you could try this: https://forum.snips.ai/t/voco-a-fool-proof-way-of-running-snips/3484

flatsiedatsie avatar Aug 24 '19 11:08 flatsiedatsie

Raspi4 owner here. Can somebody else on raspi4 buster confirm all works well with workaround2? Thanks

michnovka avatar Aug 26 '19 23:08 michnovka

Any news on this?

nordcomputer avatar Sep 13 '19 21:09 nordcomputer

Also waiting for quite some time now....

stalakerob avatar Sep 16 '19 14:09 stalakerob

This thread contains documentation on how to install snips on Raspbian Buster for now: https://forum.snips.ai/t/solved-raspberry-pi-4-buster-how-to-do-it/3647

Bertware avatar Sep 21 '19 17:09 Bertware

Did someone already test it? It sounds too simply to be true.

Amhehu avatar Sep 23 '19 19:09 Amhehu

⬆️ We are targeting end of october to deal with this issue.

cpoisson avatar Sep 27 '19 14:09 cpoisson

Would love to see it on Buster sooner.

sunilvb avatar Sep 27 '19 17:09 sunilvb

What's stopping you? It's open source.

batje avatar Sep 27 '19 18:09 batje

Ok followed the instructions and was able to install like below :

_Connected to device raspberrypi.local

OS version ................... Raspbian GNU/Linux 10 (buster) Installed assistant .......... Nathan Language ..................... en Hotword ...................... chappie ASR engine ................... snips Status ....................... Live

Service status:

snips-analytics .............. (not running) snips-asr .................... 0.63.3 (not running) snips-audio-server ........... 0.63.3 (not running) snips-dialogue ............... 0.63.3 (running) snips-hotword ................ 0.63.3 (running) snips-nlu .................... 0.63.3 (running) snips-skill-server ........... 0.63.3 (running) snips-tts .................... 0.63.3 (running)_

Followed the Quick Start and got most of the snips service started (and working?). How do I start the asr and audio-server ? Alos, the command "sam watch" from my computer, is throwing the error: bash: snips-watch: command not found Am I missing something ?

sunilvb avatar Sep 27 '19 20:09 sunilvb

Would love to see it on Buster sooner.

Throw some money on it - it may help ;-)

[Insert Donation Button here]

nordcomputer avatar Sep 30 '19 23:09 nordcomputer