Installation Failure | node-red-contrib-mjpgcamera

Help Wanted!
I trying via the Palette to install the node-red-contrib-mjpgcamera with a failed result. I have the latest v1.1.3. running on a Synology NAS.

Any idea why the installation failed, anyone?

-----------------------------------------------------------
2020-09-25T15:09:31.656Z Install : node-red-contrib-mjpgcamera 1.0.4

2020-09-25T15:09:31.693Z npm install --no-audit --no-update-notifier --no-fund --save --save-prefix="~" --production node-red-contrib-mjpgcamera@1.0.4
2020-09-25T15:09:49.365Z [err] npm
2020-09-25T15:09:49.366Z [err]  WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
2020-09-25T15:09:55.629Z [err] npm
2020-09-25T15:09:55.629Z [err]  
2020-09-25T15:09:55.630Z [err] WARN
2020-09-25T15:09:55.631Z [err]  
2020-09-25T15:09:55.632Z [err] deprecated
2020-09-25T15:09:55.632Z [err]  har-validator@5.1.5: this library is no longer supported
2020-09-25T15:10:09.005Z [out] 
2020-09-25T15:10:09.005Z [out] > buffertools@2.1.6 install /volume1/homes/[admin]/.node-red/node_modules/buffertools
2020-09-25T15:10:09.005Z [out] > node-gyp rebuild
2020-09-25T15:10:09.005Z [out] 
2020-09-25T15:10:16.753Z [err] gyp
2020-09-25T15:10:16.760Z [err]  
2020-09-25T15:10:16.760Z [err] ERR!
2020-09-25T15:10:16.761Z [err]  
2020-09-25T15:10:16.762Z [err] build error
2020-09-25T15:10:16.763Z [err]  
2020-09-25T15:10:16.766Z [err] gyp
2020-09-25T15:10:16.767Z [err]  
2020-09-25T15:10:16.767Z [err] ERR!
2020-09-25T15:10:16.768Z [err]  
2020-09-25T15:10:16.769Z [err] stack
2020-09-25T15:10:16.770Z [err]  Error: not found: make
2020-09-25T15:10:16.770Z [err] gyp
2020-09-25T15:10:16.771Z [err]  
2020-09-25T15:10:16.772Z [err] ERR!
2020-09-25T15:10:16.772Z [err]  
2020-09-25T15:10:16.773Z [err] stack
2020-09-25T15:10:16.773Z [err]      at getNotFoundError (/usr/local/lib/node_modules/npm/node_modules/which/which.js:13:12)
2020-09-25T15:10:16.774Z [err] gyp
2020-09-25T15:10:16.775Z [err]  
2020-09-25T15:10:16.779Z [err] ERR! stack     at F (/usr/local/lib/node_modules/npm/node_modules/which/which.js:68:19)
2020-09-25T15:10:16.779Z [err] gyp ERR! stack     at E (/usr/local/lib/node_modules/npm/node_modules/which/which.js:80:29)
2020-09-25T15:10:16.779Z [err] gyp ERR! stack     at /usr/local/lib/node_modules/npm/node_modules/which/which.js:89:16
2020-09-25T15:10:16.779Z [err] gyp ERR! stack     at /usr/local/lib/node_modules/npm/node_modules/which/node_modules/isexe/index.js:42:5
2020-09-25T15:10:16.779Z [err] gyp ERR! stack     at /usr/local/lib/node_modules/npm/node_modules/which/node_modules/isexe/mode.js:8:5
2020-09-25T15:10:16.779Z [err] gyp ERR! stack     at FSReqWrap.oncomplete (fs.js:152:21)
2020-09-25T15:10:16.779Z [err] gyp
2020-09-25T15:10:16.780Z [err]  ERR! 
2020-09-25T15:10:16.780Z [err] System Linux 3.2.40
2020-09-25T15:10:16.781Z [err] gyp
2020-09-25T15:10:16.781Z [err]  ERR! 
2020-09-25T15:10:16.782Z [err] command "/volume1/@appstore/Node.js_v8/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
2020-09-25T15:10:16.782Z [err] gyp ERR!
2020-09-25T15:10:16.783Z [err]  cwd /volume1/homes/[admin]/.node-red/node_modules/buffertools
2020-09-25T15:10:16.783Z [err] gyp 
2020-09-25T15:10:16.784Z [err] ERR! node -v v8.9.4
2020-09-25T15:10:16.784Z [err] gyp 
2020-09-25T15:10:16.785Z [err] ERR! node-gyp -v v3.6.2
2020-09-25T15:10:16.785Z [err] gyp 
2020-09-25T15:10:16.787Z [err] ERR! not ok 
2020-09-25T15:10:18.598Z [err] npm
2020-09-25T15:10:18.601Z [err]  
2020-09-25T15:10:18.602Z [err] ERR!
2020-09-25T15:10:18.602Z [err]  
2020-09-25T15:10:18.603Z [err] code
2020-09-25T15:10:18.603Z [err]  ELIFECYCLE
2020-09-25T15:10:18.605Z [err] npm
2020-09-25T15:10:18.605Z [err]  
2020-09-25T15:10:18.610Z [err] ERR! errno 1
2020-09-25T15:10:18.612Z [err] npm
2020-09-25T15:10:18.612Z [err]  ERR! buffertools@2.1.6 install: `node-gyp rebuild`
2020-09-25T15:10:18.613Z [err] npm ERR! Exit status 1
2020-09-25T15:10:18.614Z [err] npm
2020-09-25T15:10:18.614Z [err]  ERR! 
2020-09-25T15:10:18.614Z [err] npm
2020-09-25T15:10:18.615Z [err]  ERR! Failed at the buffertools@2.1.6 install script.
2020-09-25T15:10:18.615Z [err] npm
2020-09-25T15:10:18.615Z [err]  ERR! This is probably not a problem with npm. There is likely additional logging output above.
2020-09-25T15:10:19.023Z [err] 
2020-09-25T15:10:19.024Z [err] npm
2020-09-25T15:10:19.028Z [err]  ERR! A complete log of this run can be found in:
2020-09-25T15:10:19.028Z [err] npm ERR!     /var/services/homes/[admin]/.npm/_logs/2020-09-25T15_10_18_659Z-debug.log
2020-09-25T15:10:19.076Z rc=1

I believe that is the key error. It seems that to install that node it is necessary to compile a module. On a linux system the command to do that would normally be apt-get install build-essential but whether that is correct for your NAS I don't know.

Just tried to install it and I am also getting an error (see log below - I have removed part of it as it is too big).


-----------------------------------------------------------
2020-09-25T17:12:09.034Z Install : node-red-contrib-mjpgcamera 1.0.4

2020-09-25T17:12:09.087Z npm install --no-audit --no-update-notifier --no-fund --save --save-prefix="~" --production node-red-contrib-mjpgcamera@1.0.4
2020-09-25T17:12:27.193Z [out] 
2020-09-25T17:12:27.193Z [out] > buffertools@2.1.6 install /data/node_modules/buffertools
2020-09-25T17:12:27.193Z [out] > node-gyp rebuild
2020-09-25T17:12:27.193Z [out] 
2020-09-25T17:12:30.878Z [out] make: Entering directory '/data/node_modules/buffertools/build'
2020-09-25T17:12:30.879Z [out]   CXX(target) Release/obj.target/buffertools/buffertools.o
2020-09-25T17:12:32.325Z [err] ../buffertools.cc:32:11: error: 'v8::Handle' has not been declared
2020-09-25T17:12:32.325Z [err]    32 | using v8::Handle;
2020-09-25T17:12:32.325Z [err]       |           ^~~~~~
2020-09-25T17:12:32.326Z [err] ../buffertools.cc: In member function 'v8::Local<v8::Value> {anonymous}::UnaryAction<Derived>::operator()(const v8::FunctionCallbackInfo<v8::Value>&)':
2020-09-25T17:12:32.326Z [err] ../buffertools.cc:141:34: error: no matching function for call to 'v8::Value::ToObject()'
2020-09-25T17:12:32.326Z [err]   141 |       target = args[0]->ToObject();
2020-09-25T17:12:32.326Z [err]       |                                  ^
2020-09-25T17:12:32.326Z [err] In file included from /usr/src/node-red/.cache/node-gyp/12.18.3/include/node/node.h:67,
2020-09-25T17:12:32.326Z [err]                  from ../buffertools.cc:17:
2020-09-25T17:12:32.326Z [err] /usr/src/node-red/.cache/node-gyp/12.18.3/include/node/v8.h:2672:44: note: candidate: 'v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const'
2020-09-25T17:12:32.326Z [err]  2672 |   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
2020-09-25T17:12:32.326Z [err]       |                                            ^~~~~~~~
2020-09-25T17:12:32.327Z [err] /usr/src/node-red/.cache/node-gyp/12.18.3/include/node/v8.h:2672:44: note:   candidate expects 1 argument, 0 provided
2020-09-25T17:12:32.327Z [err] In file included from /usr/src/node-red/.cache/node-gyp/12.18.3/include/node/v8-internal.h:14,
...
2020-09-25T17:12:32.553Z [err] ../buffertools.cc:55:10: note: in definition of macro 'UNI_FUNCTION_CALLBACK'
2020-09-25T17:12:32.553Z [err]    55 |     void name(const v8::FunctionCallbackInfo<v8::Value>& args)
2020-09-25T17:12:32.553Z [err]       |          ^~~~
2020-09-25T17:12:32.553Z [err] ../buffertools.cc:431:1: note: in expansion of macro 'V'
2020-09-25T17:12:32.553Z [err]   431 | V(Clear)
2020-09-25T17:12:32.553Z [err]       | ^
2020-09-25T17:12:32.563Z [err] make: *** [buffertools.target.mk:109: Release/obj.target/buffertools/buffertools.o] Error 1
2020-09-25T17:12:32.563Z [out] make: Leaving directory '/data/node_modules/buffertools/build'
2020-09-25T17:12:32.564Z [err] gyp
2020-09-25T17:12:32.564Z [err]  ERR! build error 
2020-09-25T17:12:32.565Z [err] gyp
2020-09-25T17:12:32.566Z [err]  ERR! stack Error: `make` failed with exit code: 2
2020-09-25T17:12:32.566Z [err] gyp ERR!
2020-09-25T17:12:32.566Z [err]  stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
2020-09-25T17:12:32.566Z [err] gyp 
2020-09-25T17:12:32.566Z [err] ERR! 
2020-09-25T17:12:32.566Z [err] stack     at ChildProcess.emit (events.js:315:20)
2020-09-25T17:12:32.566Z [err] gyp
2020-09-25T17:12:32.566Z [err]  ERR! 
2020-09-25T17:12:32.566Z [err] stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
2020-09-25T17:12:32.567Z [err] gyp ERR!
2020-09-25T17:12:32.567Z [err]  System Linux 4.18.0-193.6.3.el8_2.x86_64
2020-09-25T17:12:32.567Z [err] gyp ERR!
2020-09-25T17:12:32.567Z [err]  command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
2020-09-25T17:12:32.567Z [err] gyp 
2020-09-25T17:12:32.567Z [err] ERR! cwd
2020-09-25T17:12:32.567Z [err]  /data/node_modules/buffertools
2020-09-25T17:12:32.567Z [err] gyp
2020-09-25T17:12:32.567Z [err]  ERR! 
2020-09-25T17:12:32.567Z [err] node -v v12.18.3
2020-09-25T17:12:32.567Z [err] gyp
2020-09-25T17:12:32.567Z [err]  ERR! 
2020-09-25T17:12:32.567Z [err] node-gyp -v v5.1.0
2020-09-25T17:12:32.567Z [err] gyp ERR! 
2020-09-25T17:12:32.567Z [err] not ok 
2020-09-25T17:12:33.038Z [err] npm 
2020-09-25T17:12:33.038Z [err] WARN babel-eslint@10.1.0 requires a peer of eslint@>= 4.12.1 but none is installed. You must install peer dependencies yourself.
2020-09-25T17:12:33.038Z [err] 
2020-09-25T17:12:33.078Z [err] npm 
2020-09-25T17:12:33.078Z [err] ERR! code ELIFECYCLE
2020-09-25T17:12:33.078Z [err] npm
2020-09-25T17:12:33.078Z [err]  ERR! 
2020-09-25T17:12:33.078Z [err] errno 1
2020-09-25T17:12:33.081Z [err] npm 
2020-09-25T17:12:33.081Z [err] ERR! buffertools@2.1.6 install: `node-gyp rebuild`
2020-09-25T17:12:33.081Z [err] npm
2020-09-25T17:12:33.081Z [err]  ERR! Exit status 1
2020-09-25T17:12:33.081Z [err] npm
2020-09-25T17:12:33.081Z [err]  ERR!
2020-09-25T17:12:33.081Z [err]  
2020-09-25T17:12:33.081Z [err] npm 
2020-09-25T17:12:33.081Z [err] ERR! Failed at the buffertools@2.1.6 install script.
2020-09-25T17:12:33.081Z [err] npm 
2020-09-25T17:12:33.081Z [err] ERR!
2020-09-25T17:12:33.081Z [err]  This is probably not a problem with npm. There is likely additional logging output above.
2020-09-25T17:12:33.093Z [err] 
2020-09-25T17:12:33.093Z [err] npm ERR! A complete log of this run can be found in:
2020-09-25T17:12:33.093Z [err] npm 
2020-09-25T17:12:33.093Z [err] ERR!     /usr/src/node-red/.npm/_logs/2020-09-25T17_12_33_087Z-debug.log
2020-09-25T17:12:33.108Z rc=1

That is a different problem, I suspect that buffertools is not compatible with nodejs 12.

Edit, it won't build on nodejs 14 either.

I see it hasn't been updated for three years so possibly not surprising. I have submitted an issue, but whether it will be updated remains to be seen. https://github.com/electronicplayground/node-red-contrib-mjpgcamera/issues/1

@Colin -Thank you for submitting an issue on this.