synesthesiam / voice2json

Command-line tools for speech and intent recognition on Linux
MIT License
1.09k stars 63 forks source link

Install error using "sudo apt install voice2json_2.0_armhf.deb" - E: Unsupported file /pi/voice2json_2.0_armhf.deb given on commandline #27

Closed juggledad closed 4 years ago

juggledad commented 4 years ago

Following the directions to install the 'deb' I ran into two issues 1) the documentation says Next, download the appropriate .deb file for your CPU architecture:

amd64 - Desktops, laptops, and servers
armhf - Raspberry Pi 2, and 3 (armv7)
arm64 - Raspberry Pi 3+, 4
armel - Raspberry Pi 0, 1

I have a Raspberry Pi 3 Model B Plus Rev 1.3 but when I run

dpkg-architecture | grep DEB_BUILD_ARCH=

I get: DEB_BUILD_ARCH=armhf

2) running the command: sudo apt install voice2json_2.0_armhf.deb results in

Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package voice2json_2.0_armhf.deb
E: Couldn't find any package by glob 'voice2json_2.0_armhf.deb'
E: Couldn't find any package by regex 'voice2json_2.0_armhf.deb'

After much digging I tried sudo dpkg -i voice2json_2.0_armhf.deb this ran but I got the following:

Selecting previously unselected package voice2json.
(Reading database ... 49992 files and directories currently installed.)
Preparing to unpack voice2json_2.0_armhf.deb ...
Unpacking voice2json (2.0.1) ...
dpkg: dependency problems prevent configuration of voice2json:
 voice2json depends on espeak; however:
  Package espeak is not installed.
 voice2json depends on jq; however:
  Package jq is not installed.
 voice2json depends on libportaudio2; however:
  Package libportaudio2 is not installed.
 voice2json depends on libatlas3-base; however:
  Package libatlas3-base is not installed.

dpkg: error processing package voice2json (--install):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 voice2json

Do I need to install espeak, jq, libportaudio2 and libatlas3-base and if so, this should be in the install notes.

yoyoooooooo commented 4 years ago

My guess: run apt install with full absolute path to the .deb

juggledad commented 4 years ago

Johannes on the node-red form provided the clue. Instead of using sudo apt install voice2json_2.0_armhf.deb I needed to use sudo apt install ~/voice2json_2.0_armhf.deb or sudo apt install $HOME/voice2json_2.0_armhf.deb What i find is odd is that the current directory contained the file. Would you be ok with a PR updating the documentation to point this out?

synesthesiam commented 4 years ago

I've updated the docs to mention this in 50ea6307a621ccf447374c45a56130223721c267

It's an odd quirk of apt install that it needs a path with a / in it to function.

I have a Raspberry Pi 3 Model B Plus Rev 1.3 but when I run

As I understand it, the 3B+ can run both a 32-bit (armhf) and 64-bit OS (arm64). Very few people choose the latter, so I modified the docs a bit to note it.

Thanks!