Problems implementing Edge Impulse in my RaspberryPi3

Hello,
I need some help with the connection between my raspberrypi3 and the Edge Impulse service.
When I try to download the client following the instructions that are in the oficial documentation page I always get some errors at the moment of excecuting the: “npm config set user root && sudo npm install edge-impulse-linux -g --unsafe-perm” line.
This is the error:

npm WARN deprecated request@2.88.0: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated request-promise@4.2.4: request-promise has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142
npm WARN deprecated hat-validator@5.1.5: this library is no longer supported
npm WARN deprecated uuid@3.4.0:please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, wich is known to be problematic. See https://v8,debug/blog/math-random for details.
npm WARN deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js enviroment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
/usr/bin/edge-impulse-linux -> /usr/lib/node_modules/edge-impulse-linux/build/cli/linux/linux.js
/usr/bin/edge-impulse-linux-runner -> /usr/lib/node_modules/edge-impulse-linux/build/cli/linux/runner.js

sharp@o.27.2 install /usr/lib/node_modules/edge-impulse-linux/node_modules/sharp
(node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)

ERR! sharp Use with glibc 2.24 requieres manual installation of libvips >= 8.10.5
info sharp Attempting tou build from source via node-gyp but this may fail due to the above error
info sharp Pleas see https://sharp.pixelplumbing.com/install for required dependencies make: se entra al directorio ‘/usr/lib/node_modules/edge-impulse-linux/node_modules/sharp/build’
CC(target) Release/obj.target/nothing/…/node-addon-api/nothing.o
AR(target) Release/obj.target/…/node-addon-api/nothing.o
COPY Release/nothing.a
TOUCH Release/obj.target/libvips-cpp-stamp
CXX(target) Release/obj.target/sharp/src/common.o
…/src/common.cc:24:22 fatal error: vips/vips8: No existe el fichero o el directorio
#include <vips/vips8>
^
compilation terminated.
sharp.target.mk:138: fallo en las instrucciones para el objetivo ‘Release/obj.target/sharp/src/common.o’
make: *** [Release/obj.target/sharp/src/common.o] Error 1
make: se sale del directorio ‘/usr/lib/node:modules/edge-impulse-linux/node_modules/sharp/build’
gyp ERR! build error
gyp ERR! stack Error: ‘make’ failed withexit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack at ChildProcess.emit (events.js:314:20)
gyp ERR! System Linux 4.14.79-v7+
gyp ERR! command “usr/bin/node” “/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js” “rebuild”
gyp ERR! cwd /usr/lib/node_modules/edge-impulse-linux/node_modules/sharp
gyp ERR! node -v v12.22.5
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok
npm WARN tsargs@1.4.1 requieres a peer of typescript@^3.1.6 but none is installed. You must install peer dependencies yourself.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! sharp0.27.2 install: ´(node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)’
npm ERR! Exit status 1
npm ERR! This is probably not a problem with npm. Thers is likely additional logging output above…

npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2021-08-20T22_00_51-227Z-debug.log

I do not know if I get this error due to the raspberry pi 3 or if it is because I am losing any dependence.
There is another error when I run the following command in the instructions but I thinks it is a result of the error from before.
I would really apreciate if someone can tell me where is the problem.

Thanks in anticipation, and I am looking forward any response.

Hi there,
This error seems a bit familiar since I’ve seen this happening in my Rpi a few times. I have an unofficial documentation which helped me get edge-impulse-cli installed on my Raspberry Pi -

This worked for me on Rpi4, maybe would work on Rpi 3 as well. I’m not sure about the core of the problem you have attached, but this is an alternative.

In case the following steps get edge-impulse-cli correctly installed, but the output of command -

pi@raspberry:~ $ edge-impulse-cli
bash: edge-impulse-cli: command not found

is similar to above, run-

pi@raspberrypi:~ $ export PATH=/home/pi/.npm-global/bin:$PATH

This should probably work.

1 Like

It’s complaining about libvips not being installed, similar issue we had on Jetson Nano. This worked there:

sudo apt install -y gcc g++ make build-essential pkg-config glib2.0-dev libexpat1-dev sox v4l-utils libjpeg-turbo8-dev
wget https://github.com/libvips/libvips/releases/download/v8.10.5/vips-8.10.5.tar.gz
tar xf vips-8.10.5.tar.gz
cd vips-8.10.5
./configure
make -j
sudo make install
sudo ldconfig

Thank you very very much :3

I have the client runnning already, but is good to know what’s missing in the instllation for the next time I install it.