Closed mn567 closed 4 years ago
It compiled successfully. These are warnings that have come with the latest nodejs releases and we haven't addressed them yet, they don't impact functionality. Happy to accept patches updating the code to get rid of them.
What are you trying to do? Followed the installation guide to build serialport from source
What happens? getting warnings
What should have happened? should compile without any warnings
Code to Reproduce the Issue
Versions, Operating System and Hardware
docker run -it --rm alpine:3.12 /bin/ash Unable to find image 'alpine:3.12' locally 3.12: Pulling from library/alpine Digest: sha256:185518070891758909c9f839cf4ca393ee977ac378609f700f60a771a2dfe321 Status: Downloaded newer image for alpine:3.12 / # sudo apk add --no-cache node /bin/ash: sudo: not found / # apk add --no-cache node fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz ERROR: unsatisfiable constraints: node (missing): required by: world[node] / # apk add --no-cache nodejs fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz (1/8) Installing ca-certificates (20191127-r4) (2/8) Installing brotli-libs (1.0.7-r5) (3/8) Installing c-ares (1.16.1-r0) (4/8) Installing libgcc (9.3.0-r2) (5/8) Installing nghttp2-libs (1.41.0-r0) (6/8) Installing libstdc++ (9.3.0-r2) (7/8) Installing libuv (1.37.0-r0) (8/8) Installing nodejs (12.18.3-r0) Executing busybox-1.31.1-r16.trigger Executing ca-certificates-20191127-r4.trigger OK: 37 MiB in 22 packages / # apk add --no-cache make gcc g++ python linux-headers udev fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz ERROR: unsatisfiable constraints: python (missing): required by: world[python] / # apk add --no-cache make gcc g++ python2 linux-headers udev fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz (1/30) Upgrading musl (1.1.24-r8 -> 1.1.24-r9) (2/30) Installing binutils (2.34-r1) (3/30) Installing gmp (6.2.0-r0) (4/30) Installing isl (0.18-r0) (5/30) Installing libgomp (9.3.0-r2) (6/30) Installing libatomic (9.3.0-r2) (7/30) Installing libgphobos (9.3.0-r2) (8/30) Installing mpfr4 (4.0.2-r4) (9/30) Installing mpc1 (1.1.0-r1) (10/30) Installing gcc (9.3.0-r2) (11/30) Installing musl-dev (1.1.24-r9) (12/30) Installing libc-dev (0.7.2-r3) (13/30) Installing g++ (9.3.0-r2) (14/30) Installing linux-headers (5.4.5-r1) (15/30) Installing make (4.3-r0) (16/30) Installing libbz2 (1.0.8-r1) (17/30) Installing expat (2.2.9-r1) (18/30) Installing libffi (3.3-r2) (19/30) Installing gdbm (1.13-r1) (20/30) Installing ncurses-terminfo-base (6.2_p20200523-r0) (21/30) Installing ncurses-libs (6.2_p20200523-r0) (22/30) Installing readline (8.0.4-r0) (23/30) Installing sqlite-libs (3.32.1-r0) (24/30) Installing python2 (2.7.18-r0) (25/30) Installing udev-init-scripts (33-r1) Executing udev-init-scripts-33-r1.post-install (26/30) Installing eudev-libs (3.2.9-r3) (27/30) Installing libblkid (2.35.2-r0) (28/30) Installing xz-libs (5.2.5-r0) (29/30) Installing kmod-libs (27-r0) (30/30) Installing eudev (3.2.9-r3) Executing busybox-1.31.1-r16.trigger Executing eudev-3.2.9-r3.trigger OK: 279 MiB in 51 packages / # apk add --update nodejs nodejs-npm fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz (1/1) Installing npm (12.18.3-r0) Executing busybox-1.31.1-r16.trigger OK: 306 MiB in 52 packages / # /usr/local/bin/npm install serialport --unsafe-perm --build-from-source /bin/ash: /usr/local/bin/npm: not found / # /usr/local/bin/npm install serialport --unsafe-perm --build-from-source /bin/ash: /usr/local/bin/npm: not found / # npm install serialport --unsafe-perm --build-from-source
make: Entering directory '/node_modules/@serialport/bindings/build' CXX(target) Release/obj.target/bindings/src/serialport.o In file included from ../src/./serialport.h:6, from ../src/serialport.cpp:1: ../../../nan/nan.h: In function 'void Nan::AsyncQueueWorker(Nan::AsyncWorker)': ../../../nan/nan.h:2294:62: 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] 2294 | , reinterpret_cast(AsyncExecuteComplete)
| ^
../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);
| ^& 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:56,
from ../src/./serialport.h:6,
from ../src/serialport.cpp:1:
/root/.cache/node-gyp/12.18.3/include/node/node.h:608:43: warning: cast between incompatible function types from 'void ( )(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)' {aka 'void ()(v8::Local)'} to 'node::addon_register_func' {aka 'void ( )(v8::Local, v8::Local, void)'} [-Wcast-function-type]
608 | (node::addon_register_func) (regfunc), \
| ^
/root/.cache/node-gyp/12.18.3/include/node/node.h:642:3: note: in expansion of macro 'NODE_MODULE_X'
642 | NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage)
| ^(AsyncExecuteComplete)
| ^
../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);
| ^~
../src/serialport_unix.cpp:176:13: note: 'snprintf' output 20 or more bytes (assuming 1043) into a destination of size 1024
176 | snprintf(data->errorString, sizeof(data->errorString), "Error %s Cannot open %s", strerror(errno), data->path);
| (AsyncExecuteComplete)
| ^
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 '/node_modules/@serialport/bindings/build'
~~~~ ../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::Local~~~~ ../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 In file included from ../src/serialport.h:6, from ../src/serialport_unix.cpp:2: ../../../nan/nan.h: In function 'void Nan::AsyncQueueWorker(Nan::AsyncWorker)': ../../../nan/nan.h:2294:62: 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] 2294 | , reinterpret_cast~~^~~~~~~~~~~~~~~~~~~~~~~~ ../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); | ^~ ../src/serialport_unix.cpp:86:13: note: 'snprintf' output 22 or more bytes (assuming 1045) into a destination of size 1024 86 | snprintf(data->errorString, sizeof(data->errorString), "Error: %s, cannot open %s", strerror(errno), data->path); |~~^~~~~~~~~~~~~~~~~~~~~~ CXX(target) Release/obj.target/bindings/src/poller.o In file included from ../src/poller.cpp:1: ../../../nan/nan.h: In function 'void Nan::AsyncQueueWorker(Nan::AsyncWorker)': ../../../nan/nan.h:2294:62: 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] 2294 | , reinterpret_castThank you for using serialport! If you rely on this package, please consider supporting our open collective:
npm WARN saveError ENOENT: no such file or directory, open '/package.json' npm notice created a lockfile as package-lock.json. You should commit this file. npm WARN enoent ENOENT: no such file or directory, open '/package.json' npm WARN !invalid#1 No description npm WARN !invalid#1 No repository field. npm WARN !invalid#1 No README data npm WARN !invalid#1 No license field.
2 packages are looking for funding run
npm fund
for detailsfound 0 vulnerabilities
/ #