Failure to install edge-impluse-cli on Mac OS Big Sur

I’m in the tinyML summit. Seems I can’t install edge-impulse-cli.
I’m on macOS big sur 11.2.3
Here’s the log

(base) Dads15in2018MacbookPro:dev hding$ npm install -g edge-impulse-cli

npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142

npm WARN deprecated request-promise@4.2.6: request-promise has been deprecated because it extends the now deprecated request package, 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

/usr/local/bin/edge-impulse-daemon -> /usr/local/lib/node_modules/edge-impulse-cli/build/cli/daemon.js

/usr/local/bin/edge-impulse-blocks -> /usr/local/lib/node_modules/edge-impulse-cli/build/cli/blocks.js

/usr/local/bin/eta-flash-tool -> /usr/local/lib/node_modules/edge-impulse-cli/build/cli/eta-flash-tool/flashtool.js

/usr/local/bin/edge-impulse-uploader -> /usr/local/lib/node_modules/edge-impulse-cli/build/cli/uploader.js

/usr/local/bin/himax-flash-tool -> /usr/local/lib/node_modules/edge-impulse-cli/build/cli/himax-flash-tool/flashtool.js

/usr/local/bin/edge-impulse-framebuffer2jpg -> /usr/local/lib/node_modules/edge-impulse-cli/build/cli/framebuffer-to-jpg.js

/usr/local/bin/edge-impulse-run-impulse -> /usr/local/lib/node_modules/edge-impulse-cli/build/cli/run-impulse.js

/usr/local/bin/edge-impulse-data-forwarder -> /usr/local/lib/node_modules/edge-impulse-cli/build/cli/data-forwarder.js

> @serialport/bindings@8.0.8 install /usr/local/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.16.0 runtime=node arch=x64 libc= platform=darwin)

CXX(target) Release/obj.target/bindings/src/serialport.o

clang: error: unknown argument: '-m'

make: *** [Release/obj.target/bindings/src/serialport.o] Error 1

gyp ERR! build error

gyp ERR! stack Error: `make` failed with exit code: 2

gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)

gyp ERR! stack at ChildProcess.emit (events.js:315:20)

gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12)

gyp ERR! System Darwin 20.3.0

gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"

gyp ERR! cwd /usr/local/lib/node_modules/edge-impulse-cli/node_modules/@serialport/bindings

gyp ERR! node -v v14.16.0

gyp ERR! node-gyp -v v5.1.0

gyp ERR! not ok

npm ERR! code ELIFECYCLE

npm ERR! errno 1

npm ERR! @serialport/bindings@8.0.8 install: `prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild`

npm ERR! Exit status 1

npm ERR!

npm ERR! Failed at the @serialport/bindings@8.0.8 install script.

npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:

npm ERR! /Users/hding/.npm/_logs/2021-03-22T17_43_08_787Z-debug.log

(base) Dads15in2018MacbookPro:dev hding$

Hi @dfm794,

I upgraded to 11.2.3 and had similar issue, recent macOS updates seem to brake the Command Line Tools. I reinstalled CLT as mentioned in this article (solution 2): https://medium.com/flawless-app-stories/gyp-no-xcode-or-clt-version-detected-macos-catalina-anansewaa-38b536389e8d

Let me know if that works.

Aurelien

Hi @aurel,

Thanks for the suggestion…I had actually already tried that already to no avail.
However - on a whim I deactivated my conda env. (just the base env that is activated by default). And although I can’t see any difference in the paths applied, the install now works.

Cheers,
David

2 Likes