# Node-red-contrib-modbus, why those errors appear while installing?

**URL:** <https://discourse.nodered.org/t/node-red-contrib-modbus-why-those-errors-appear-while-installing/56296>\
**Category:** General\
**Created:** [8 January 2022 11:57 UTC](https://discourse.nodered.org/t/node-red-contrib-modbus-why-those-errors-appear-while-installing/56296 "2022-01-08T11:57:46Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![SeRiusRod](https://avatars.discourse-cdn.com/v4/letter/s/278dde/32.png) [@SeRiusRod](https://discourse.nodered.org/u/SeRiusRod)\
**Post date:** [8 January 2022 11:57 UTC](https://discourse.nodered.org/t/node-red-contrib-modbus-why-those-errors-appear-while-installing/56296/1 "2022-01-08T11:57:46Z")

</div>

I'm triyng to understand why those errors appear. A node-red installation works well and fast installing and removing nodes from pallette until you install node-red-contrib-modbus. Then package installations stuck for some time on every operation.

```auto
-----------------------------------------------------------
2022-01-08T11:02:12.536Z Install : node-red-contrib-modbus 5.16.0

2022-01-08T11:02:12.128Z npm install --no-audit --no-update-notifier --no-fund --save --save-prefix=~ --production --engine-strict node-red-contrib-modbus@5.16.0
2022-01-08T11:04:45.424Z [out] 
2022-01-08T11:04:45.424Z [out] > @serialport/bindings@9.2.8 install /data/home/root/.node-red/node_modules/@serialport/bindings
2022-01-08T11:04:45.424Z [out] > prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild
2022-01-08T11:04:45.424Z [out] 
2022-01-08T11:04:49.257Z [err] prebuild-install
2022-01-08T11:04:49.258Z [err] WARN install No prebuilt binaries found (target=14.17.4 runtime=node arch=arm libc= platform=linux)
2022-01-08T11:04:57.296Z [out] make: Entering directory '/data/home/root/.node-red/node_modules/@serialport/bindings/build'
2022-01-08T11:04:57.301Z [out] CXX(target) Release/obj.target/bindings/src/serialport.o
2022-01-08T11:05:10.682Z [err] ../src/serialport.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE Open(Nan::NAN_METHOD_ARGS_TYPE)':
2022-01-08T11:05:10.682Z [err] ../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]
2022-01-08T11:05:10.682Z [err] 78 | uv_queue_work(uv_default_loop(), req, EIO_Open, (uv_after_work_cb)EIO_AfterOpen);
2022-01-08T11:05:10.682Z [err] | ^ ~~~~~~~~~~~~
2022-01-08T11:05:10.743Z [err] ../src/serialport.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE Update(Nan::NAN_METHOD_ARGS_TYPE)':
2022-01-08T11:05:10.743Z [err] ../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]
2022-01-08T11:05:10.743Z [err] 135 | uv_queue_work(uv_default_loop(), req, EIO_Update, (uv_after_work_cb)EIO_AfterUpdate);
2022-01-08T11:05:10.743Z [err] | ^ ~~~~~~~~~~~~~~
2022-01-08T11:05:10.763Z [err] ../src/serialport.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE Close(Nan::NAN_METHOD_ARGS_TYPE)':
2022-01-08T11:05:10.763Z [err] ../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]
2022-01-08T11:05:10.763Z [err] 175 | uv_queue_work(uv_default_loop(), req, EIO_Close, (uv_after_work_cb)EIO_AfterClose);
2022-01-08T11:05:10.763Z [err] | ^ ~~~~~~~~~~~~~
2022-01-08T11:05:10.778Z [err] ../src/serialport.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE Flush(Nan::NAN_METHOD_ARGS_TYPE)':
2022-01-08T11:05:10.778Z [err] ../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]
2022-01-08T11:05:10.778Z [err] 215 | uv_queue_work(uv_default_loop(), req, EIO_Flush, (uv_after_work_cb)EIO_AfterFlush);
2022-01-08T11:05:10.778Z [err] | ^ ~~~~~~~~~~~~~
2022-01-08T11:05:10.801Z [err] ../src/serialport.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE Set(Nan::NAN_METHOD_ARGS_TYPE)':
2022-01-08T11:05:10.801Z [err] ../src/serialport.cpp:271: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]
2022-01-08T11:05:10.801Z [err] 271 | uv_queue_work(uv_default_loop(), req, EIO_Set, (uv_after_work_cb)EIO_AfterSet);
2022-01-08T11:05:10.801Z [err] | ^ ~~~~~~~~~~~
2022-01-08T11:05:10.817Z [err] ../src/serialport.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE Get(Nan::NAN_METHOD_ARGS_TYPE)':
2022-01-08T11:05:10.817Z [err] ../src/serialport.cpp:316: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]
2022-01-08T11:05:10.817Z [err] 316 | uv_queue_work(uv_default_loop(), req, EIO_Get, (uv_after_work_cb)EIO_AfterGet);
2022-01-08T11:05:10.817Z [err] | ^ ~~~~~~~~~~~
2022-01-08T11:05:10.908Z [err] ../src/serialport.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE GetBaudRate(Nan::NAN_METHOD_ARGS_TYPE)':
2022-01-08T11:05:10.908Z [err] ../src/serialport.cpp:366: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]
2022-01-08T11:05:10.908Z [err] 366 | uv_queue_work(uv_default_loop(), req, EIO_GetBaudRate, (uv_after_work_cb)EIO_AfterGetBaudRate);
2022-01-08T11:05:10.908Z [err] | ^ ~~~~~~~~~~~~~~~~~~~
2022-01-08T11:05:10.908Z [err] ../src/serialport.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE Drain(Nan::NAN_METHOD_ARGS_TYPE)':
2022-01-08T11:05:10.908Z [err] ../src/serialport.cpp:412: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]
2022-01-08T11:05:10.908Z [err] 412 | uv_queue_work(uv_default_loop(), req, EIO_Drain, (uv_after_work_cb)EIO_AfterDrain);
2022-01-08T11:05:10.908Z [err] | ^ ~~~~~~~~~~~~~
2022-01-08T11:05:10.916Z [err] ../src/serialport.cpp: At global scope:
2022-01-08T11:05:10.916Z [err] ../src/serialport.cpp:433:28: warning: unnecessary parentheses in declaration of 'ToParityEnum' [-Wparentheses]
2022-01-08T11:05:10.916Z [err] 433 | SerialPortParity NAN_INLINE(ToParityEnum(const v8::Local<v8::String>& v8str)) {
2022-01-08T11:05:10.916Z [err] | ^
2022-01-08T11:05:10.926Z [err] ../src/serialport.cpp:452:30: warning: unnecessary parentheses in declaration of 'ToStopBitEnum' [-Wparentheses]
2022-01-08T11:05:10.926Z [err] 452 | SerialPortStopBits NAN_INLINE(ToStopBitEnum(double stopBits)) {
2022-01-08T11:05:10.926Z [err] | ^
2022-01-08T11:05:10.937Z [err] In file included from ../../../nan/nan.h:58,
2022-01-08T11:05:10.937Z [err] from ../src/./serialport.h:13,
2022-01-08T11:05:10.937Z [err] from ../src/serialport.cpp:1:
2022-01-08T11:05:10.937Z [err] /home/root/.cache/node-gyp/14.17.4/include/node/node.h:758:43: warning: cast between incompatible function types from 'void (*)(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)' {aka 'void (*)(v8::Local<v8::Object>)'} to 'node::addon_register_func' {aka 'void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)'} [-Wcast-function-type]
2022-01-08T11:05:10.937Z [err] 758 | (node::addon_register_func) (regfunc), \
2022-01-08T11:05:10.937Z [err] | ^
2022-01-08T11:05:10.937Z [err] /home/root/.cache/node-gyp/14.17.4/include/node/node.h:792:3: note: in expansion of macro 'NODE_MODULE_X'
2022-01-08T11:05:10.937Z [err] 792 | NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage)
2022-01-08T11:05:10.937Z [err] | ^ ~~~~~~~~~~~~
2022-01-08T11:05:10.937Z [err] ../src/serialport.cpp:486:1: note: in expansion of macro 'NODE_MODULE'
2022-01-08T11:05:10.937Z [err] 486 | NODE_MODULE(serialport, init);
2022-01-08T11:05:10.937Z [err] | ^ ~~~~~~~~~~
2022-01-08T11:05:23.520Z [out] CXX(target) Release/obj.target/bindings/src/serialport_unix.o
2022-01-08T11:05:36.746Z [err] ../src/serialport_unix.cpp: In function 'int setup(int, OpenBaton*)':
2022-01-08T11:05:36.746Z [err] ../src/serialport_unix.cpp:179:82: warning: '%s' directive output may be truncated writing up to 1023 bytes into a region of size 1005 [-Wformat-truncation=]
2022-01-08T11:05:36.746Z [err] 179 | snprintf(data->errorString, sizeof(data->errorString), "Error %s Cannot open %s", strerror(errno), data->path);
2022-01-08T11:05:36.746Z [err] | ^~
2022-01-08T11:05:36.747Z [err] ../src/serialport_unix.cpp:179:13: note: 'snprintf' output 20 or more bytes (assuming 1043) into a destination of size 1024
2022-01-08T11:05:36.747Z [err] 179 | snprintf(data->errorString, sizeof(data->errorString), "Error %s Cannot open %s", strerror(errno), data->path);
2022-01-08T11:05:36.747Z [err] | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2022-01-08T11:05:36.958Z [err] ../src/serialport_unix.cpp: In function 'void EIO_Open(uv_work_t*)':
2022-01-08T11:05:36.958Z [err] ../src/serialport_unix.cpp:89:84: warning: '%s' directive output may be truncated writing up to 1023 bytes into a region of size 1003 [-Wformat-truncation=]
2022-01-08T11:05:36.958Z [err] 89 | snprintf(data->errorString, sizeof(data->errorString), "Error: %s, cannot open %s", strerror(errno), data->path);
2022-01-08T11:05:36.958Z [err] | ^~
2022-01-08T11:05:36.959Z [err] ../src/serialport_unix.cpp:89:13: note: 'snprintf' output 22 or more bytes (assuming 1045) into a destination of size 1024
2022-01-08T11:05:36.959Z [err] 89 | snprintf(data->errorString, sizeof(data->errorString), "Error: %s, cannot open %s", strerror(errno), data->path);
2022-01-08T11:05:36.959Z [err] | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2022-01-08T11:05:37.657Z [out] CXX(target) Release/obj.target/bindings/src/poller.o
2022-01-08T11:05:55.205Z [out] CXX(target) Release/obj.target/bindings/src/serialport_linux.o
2022-01-08T11:05:55.945Z [out] SOLINK_MODULE(target) Release/obj.target/bindings.node
2022-01-08T11:05:56.773Z [out] COPY Release/bindings.node
2022-01-08T11:05:56.820Z [out] make: Leaving directory '/data/home/root/.node-red/node_modules/@serialport/bindings/build'
2022-01-08T11:05:58.839Z [out] 
2022-01-08T11:05:58.839Z [out] > node-red-contrib-modbus@5.16.0 postinstall /data/home/root/.node-red/node_modules/node-red-contrib-modbus
2022-01-08T11:05:58.839Z [out] > node ./supporter.js
2022-01-08T11:05:58.839Z [out] 
2022-01-08T11:06:00.465Z [out] e[96me[1mThank you for using our contribution!e[96me[1m
2022-01-08T11:06:00.465Z [out] e[0me[96mIf you rely on this package, please consider supporting our open source work:e[22me[39m
2022-01-08T11:06:00.465Z [out] > e[94mhttps://bianco-royal.space/supporter/e[0m
2022-01-08T11:06:00.465Z [out] 
2022-01-08T11:06:00.465Z [out] 
2022-01-08T11:06:05.530Z [out] + node-red-contrib-modbus@5.16.0
2022-01-08T11:06:05.530Z [out] added 302 packages from 342 contributors in 224.829s
2022-01-08T11:06:05.713Z rc=0

```

I'm also concerned about the modbus nodes not working completely well because of that.

---

<div class="post-metadata">

**Author:** ![knolleary](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/knolleary/32/3_2.png) [@knolleary](https://discourse.nodered.org/u/knolleary)\
**Post date:** [8 January 2022 12:17 UTC](https://discourse.nodered.org/t/node-red-contrib-modbus-why-those-errors-appear-while-installing/56296/2 "2022-01-08T12:17:07Z")

</div>

What version of Node-RED and node.js are you using?

---

<div class="post-metadata">

**Author:** ![SeRiusRod](https://avatars.discourse-cdn.com/v4/letter/s/278dde/32.png) [@SeRiusRod](https://discourse.nodered.org/u/SeRiusRod)\
**Post date:** [8 January 2022 12:19 UTC](https://discourse.nodered.org/t/node-red-contrib-modbus-why-those-errors-appear-while-installing/56296/3 "2022-01-08T12:19:56Z")

</div>

Thanks Knolleary.  
This is an embedded Victron Cerbo (PV device) that suits with node-red.  
As is, it doesn't let me install `build-essential` that usually fixes those errors in my other node-red machines.

```auto
# node -v
v14.17.4
# npm -v
6.14.14

```

![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/5/4/54156fbb4a43805a2ec0c88c75d360314239f2b7.png)

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [8 January 2022 13:05 UTC](https://discourse.nodered.org/t/node-red-contrib-modbus-why-those-errors-appear-while-installing/56296/4 "2022-01-08T13:05:48Z")

</div>

> [@SeRiusRod](#):
>
> As is, it doesn't let me install `build-essential`

Why not? No space? Errors occur? What errors?

---

<div class="post-metadata">

**Author:** ![SeRiusRod](https://avatars.discourse-cdn.com/v4/letter/s/278dde/32.png) [@SeRiusRod](https://discourse.nodered.org/u/SeRiusRod)\
**Post date:** [8 January 2022 13:07 UTC](https://discourse.nodered.org/t/node-red-contrib-modbus-why-those-errors-appear-while-installing/56296/5 "2022-01-08T13:07:05Z")

</div>

It doesn't let me install anything that doesn't come from the Victron repos. The package manager also is locked down. In fact is opkg.

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [8 January 2022 13:09 UTC](https://discourse.nodered.org/t/node-red-contrib-modbus-why-those-errors-appear-while-installing/56296/6 "2022-01-08T13:09:57Z")

</div>

Maybe you could contact victron, perhaps they have an opkg or would generate a patch?

You could also look into cross compiling for the machines architecture (never done this for node bindings so you'd have to read up on this)

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [9 March 2022 13:10 UTC](https://discourse.nodered.org/t/node-red-contrib-modbus-why-those-errors-appear-while-installing/56296/7 "2022-03-09T13:10:42Z")

</div>

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.
