Edge impulse cli installtion issue in linux environment

Can you add your /user/local/bin too ?


Same issue…

Can you try with sudo? sudo edge-impulse-daemon it should be required though

Oh and after exporting your PATH, maybe you need to source your bashrc:

source ~/.bashrc

Or close your terminal and open it again, that should do the same as source :slight_smile:

i have reopen terminal
image
but same issue.

And what does it give when using sudo?

Hello louis,
Is it possible to have online session and resolve the issue.

Hi @prashant.s,

Sorry I probably won’t have time for a one-to-one session in the coming days…

what is the output of the following command?

npm config get prefix

/home/emqos24/.npm-global

And could also you post the following commands output please?

$ npm uninstall edge-impulse-cli -g
$ npm install edge-impulse-cli@latest -g

Hi @prashant.s,

Did you download the github repo linked here and follow the instructions in the README?

emqos24@emqos24:/$ npm uninstall edge-impulse-cli -g
removed 388 packages in 23.295s

╭───────────────────────────────────────────────────────────────╮
│ │
│ New major version of npm available! 6.14.16 -> 8.5.1 │
│ Changelog: https://github.com/npm/cli/releases/tag/v8.5.1
│ Run npm install -g npm to update! │
│ │
╰───────────────────────────────────────────────────────────────╯

emqos24@emqos24:/$

emqos24@emqos24:/$ npm install edge-impulse-cli@latest -g
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 request@2.88.0: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated @zeit/dockerignore@0.0.5: “@zeit/dockerignore” is no longer maintained
npm WARN deprecated har-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, which is known to be problematic. See https://v8.dev/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 environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
/home/emqos24/.npm-global/bin/edge-impulse-blocks -> /home/emqos24/.npm-global/lib/node_modules/edge-impulse-cli/build/cli/blocks.js
/home/emqos24/.npm-global/bin/edge-impulse-daemon -> /home/emqos24/.npm-global/lib/node_modules/edge-impulse-cli/build/cli/daemon.js
/home/emqos24/.npm-global/bin/edge-impulse-uploader -> /home/emqos24/.npm-global/lib/node_modules/edge-impulse-cli/build/cli/uploader.js
/home/emqos24/.npm-global/bin/edge-impulse-data-forwarder -> /home/emqos24/.npm-global/lib/node_modules/edge-impulse-cli/build/cli/data-forwarder.js
/home/emqos24/.npm-global/bin/edge-impulse-run-impulse -> /home/emqos24/.npm-global/lib/node_modules/edge-impulse-cli/build/cli/run-impulse.js
/home/emqos24/.npm-global/bin/eta-flash-tool -> /home/emqos24/.npm-global/lib/node_modules/edge-impulse-cli/build/cli/eta-flash-tool/flashtool.js
/home/emqos24/.npm-global/bin/himax-flash-tool -> /home/emqos24/.npm-global/lib/node_modules/edge-impulse-cli/build/cli/himax-flash-tool/flashtool.js
/home/emqos24/.npm-global/bin/edge-impulse-framebuffer2jpg -> /home/emqos24/.npm-global/lib/node_modules/edge-impulse-cli/build/cli/framebuffer-to-jpg.js

@serialport/bindings@8.0.8 install /home/emqos24/.npm-global/lib/node_modules/edge-impulse-cli/node_modules/@serialport/bindings
prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild

prebuild-install WARN install No prebuilt binaries found (target=14.19.0 runtime=node arch=x64 libc= platform=linux)
make: Entering directory ‘/home/emqos24/.npm-global/lib/node_modules/edge-impulse-cli/node_modules/@serialport/bindings/build’
CXX(target) Release/obj.target/bindings/src/serialport.o
…/src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Open(Nan::NAN_METHOD_ARGS_TYPE)’:
…/src/serialport.cpp:78:69: warning: cast between incompatible function types from ‘void ()(uv_work_t)’ {aka ‘void ()(uv_work_s)’} to ‘uv_after_work_cb’ {aka ‘void ()(uv_work_s, int)’} [-Wcast-function-type]
78 | uv_queue_work(uv_default_loop(), req, EIO_Open, (uv_after_work_cb)EIO_AfterOpen);
| ^~~~~~~~~~~~~
…/src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Update(Nan::NAN_METHOD_ARGS_TYPE)’:
…/src/serialport.cpp:135:71: warning: cast between incompatible function types from ‘void ()(uv_work_t)’ {aka ‘void ()(uv_work_s)’} to ‘uv_after_work_cb’ {aka ‘void ()(uv_work_s, int)’} [-Wcast-function-type]
135 | uv_queue_work(uv_default_loop(), req, EIO_Update, (uv_after_work_cb)EIO_AfterUpdate);
| ^~~~~~~~~~~~~~~
…/src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Close(Nan::NAN_METHOD_ARGS_TYPE)’:
…/src/serialport.cpp:175:70: warning: cast between incompatible function types from ‘void ()(uv_work_t)’ {aka ‘void ()(uv_work_s)’} to ‘uv_after_work_cb’ {aka ‘void ()(uv_work_s, int)’} [-Wcast-function-type]
175 | uv_queue_work(uv_default_loop(), req, EIO_Close, (uv_after_work_cb)EIO_AfterClose);
| ^~~~~~~~~~~~~~
…/src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Flush(Nan::NAN_METHOD_ARGS_TYPE)’:
…/src/serialport.cpp:215:70: warning: cast between incompatible function types from ‘void ()(uv_work_t)’ {aka ‘void ()(uv_work_s)’} to ‘uv_after_work_cb’ {aka ‘void ()(uv_work_s, int)’} [-Wcast-function-type]
215 | uv_queue_work(uv_default_loop(), req, EIO_Flush, (uv_after_work_cb)EIO_AfterFlush);
| ^~~~~~~~~~~~~~
…/src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Set(Nan::NAN_METHOD_ARGS_TYPE)’:
…/src/serialport.cpp:270:68: warning: cast between incompatible function types from ‘void ()(uv_work_t)’ {aka ‘void ()(uv_work_s)’} to ‘uv_after_work_cb’ {aka ‘void ()(uv_work_s, int)’} [-Wcast-function-type]
270 | uv_queue_work(uv_default_loop(), req, EIO_Set, (uv_after_work_cb)EIO_AfterSet);
| ^~~~~~~~~~~~
…/src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Get(Nan::NAN_METHOD_ARGS_TYPE)’:
…/src/serialport.cpp:314:68: warning: cast between incompatible function types from ‘void ()(uv_work_t)’ {aka ‘void ()(uv_work_s)’} to ‘uv_after_work_cb’ {aka ‘void ()(uv_work_s, int)’} [-Wcast-function-type]
314 | uv_queue_work(uv_default_loop(), req, EIO_Get, (uv_after_work_cb)EIO_AfterGet);
| ^~~~~~~~~~~~
…/src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE GetBaudRate(Nan::NAN_METHOD_ARGS_TYPE)’:
…/src/serialport.cpp:363:76: warning: cast between incompatible function types from ‘void ()(uv_work_t)’ {aka ‘void ()(uv_work_s)’} to ‘uv_after_work_cb’ {aka ‘void ()(uv_work_s, int)’} [-Wcast-function-type]
363 | uv_queue_work(uv_default_loop(), req, EIO_GetBaudRate, (uv_after_work_cb)EIO_AfterGetBaudRate);
| ^~~~~~~~~~~~~~~~~~~~
…/src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Drain(Nan::NAN_METHOD_ARGS_TYPE)’:
…/src/serialport.cpp:409:70: warning: cast between incompatible function types from ‘void ()(uv_work_t)’ {aka ‘void ()(uv_work_s)’} to ‘uv_after_work_cb’ {aka ‘void ()(uv_work_s, int)’} [-Wcast-function-type]
409 | uv_queue_work(uv_default_loop(), req, EIO_Drain, (uv_after_work_cb)EIO_AfterDrain);
| ^~~~~~~~~~~~~~
…/src/serialport.cpp: At global scope:
…/src/serialport.cpp:430:28: warning: unnecessary parentheses in declaration of ‘ToParityEnum’ [-Wparentheses]
430 | SerialPortParity NAN_INLINE(ToParityEnum(const v8::Localv8::String& v8str)) {
| ^
…/src/serialport.cpp:449:30: warning: unnecessary parentheses in declaration of ‘ToStopBitEnum’ [-Wparentheses]
449 | SerialPortStopBits NAN_INLINE(ToStopBitEnum(double stopBits)) {
| ^
In file included from …/…/…/nan/nan.h:58,
from …/src/./serialport.h:6,
from …/src/serialport.cpp:1:
/home/emqos24/.cache/node-gyp/14.19.0/include/node/node.h:793:43: warning: cast between incompatible function types from ‘void ()(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ {aka ‘void ()(v8::Localv8::Object)’} to ‘node::addon_register_func’ {aka ‘void ()(v8::Localv8::Object, v8::Localv8::Value, void)’} [-Wcast-function-type]
793 | (node::addon_register_func) (regfunc),
| ^
/home/emqos24/.cache/node-gyp/14.19.0/include/node/node.h:827:3: note: in expansion of macro ‘NODE_MODULE_X’
827 | NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage)
| ^~~~~~~~~~~~~
…/src/serialport.cpp:483:1: note: in expansion of macro ‘NODE_MODULE’
483 | NODE_MODULE(serialport, init);
| ^~~~~~~~~~~
CXX(target) Release/obj.target/bindings/src/serialport_unix.o
…/src/serialport_unix.cpp: In function ‘int setup(int, OpenBaton*)’:
…/src/serialport_unix.cpp:176:82: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 1005 [-Wformat-truncation=]
176 | snprintf(data->errorString, sizeof(data->errorString), “Error %s Cannot open %s”, strerror(errno), data->path);
| ^~
In file included from /usr/include/stdio.h:867,
from …/src/serialport.h:3,
from …/src/serialport_unix.cpp:2:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:67:35: note: ‘__builtin___snprintf_chk’ output 20 or more bytes (assuming 1043) into a destination of size 1024
67 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
| ~^~~~~~~~~~~
68 | __bos (__s), __fmt, __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
…/src/serialport_unix.cpp: In function ‘void EIO_Open(uv_work_t*)’:
…/src/serialport_unix.cpp:86:84: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 1003 [-Wformat-truncation=]
86 | snprintf(data->errorString, sizeof(data->errorString), “Error: %s, cannot open %s”, strerror(errno), data->path);
| ^~
In file included from /usr/include/stdio.h:867,
from …/src/serialport.h:3,
from …/src/serialport_unix.cpp:2:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:67:35: note: ‘__builtin___snprintf_chk’ output 22 or more bytes (assuming 1045) into a destination of size 1024
67 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
| ~^~~~~~~~~~~
68 | __bos (__s), __fmt, __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CXX(target) Release/obj.target/bindings/src/poller.o
CXX(target) Release/obj.target/bindings/src/serialport_linux.o
SOLINK_MODULE(target) Release/obj.target/bindings.node
COPY Release/bindings.node
make: Leaving directory ‘/home/emqos24/.npm-global/lib/node_modules/edge-impulse-cli/node_modules/@serialport/bindings/build’

serialport@8.0.5 postinstall /home/emqos24/.npm-global/lib/node_modules/edge-impulse-cli/node_modules/serialport
node thank-you.js

Thank you for using serialport!
If you rely on this package, please consider supporting our open collective:

https://opencollective.com/serialport/donate

npm WARN tsargs@1.4.1 requires a peer of typescript@^3.1.6 but none is installed. You must install peer dependencies yourself.

  • edge-impulse-cli@1.14.5
    added 388 packages from 266 contributors in 89.834s
    emqos24@emqos24:/$

yes tried but same issue.
image

Resolved the issue…
I have restarted the PC and executed “edge-impulse-daemon” command then it works…

2 Likes

Great! Glad to hear it. Let us know if you have any more questions!

1 Like

Hello @prashant.s,

Very happy that it finally worked, I was out of options to suggest :smiley:

Regards,

Louis

hey thanks for support