ct-Open-Source / ct-Open-Source/ct-Smart-Home
Rebuild from provided docker-image/Dockerfile fails because of wrong dependencies
- Dominant language
- Shell
- Stars
- 171
- Forks
- 40
- PR merge metrics
- No merged PRs in 30d
Description
I wanted to extend the image by inserting the apk package 'raspberrypi' in order to get utilities for reading eg. the temperature of the raspberrypi 4B (eg. vcgencmd).
Before doing so I tried to rebuild from the docker-image/Dockerfile but get plenty of warnings for deprecated npm packages `npm WARN deprecated` and builds for the USB module, see full build log below.
Is that not the intended way ?
How do I get the correct package/module dependencies solved ?
I can add the package manually by attaching a bash and enter:
```
>$ su
>$ apk add --no-cache raspberrypi
>$ exit
```
Then everything is available under `/opt/vc/...`
Many thanks in advance
```
$ docker build -t mynodered ./docker-image/
Sending build context to Docker daemon 7.68kB
Step 1/9 : FROM nodered/node-red:latest-minimal
latest-minimal: Pulling from nodered/node-red
Digest: sha256:28e8c7d46da71cb10107d562547828228ecfabbe75c541cddb4e86d318403a2b
Status: Downloaded newer image for nodered/node-red:latest-minimal
---> 7e5c5b05d0b4
Step 2/9 : COPY entrypoint.sh /usr/src/node-red/entrypoint.sh
---> fe13e683f15b
Step 3/9 : WORKDIR /usr/src/node-red
---> Running in 7171ca8cf0b5
Removing intermediate container 7171ca8cf0b5
---> da125b80ead8
Step 4/9 : USER root
---> Running in de8b44e4f5aa
Removing intermediate container de8b44e4f5aa
---> bd0379cbe54c
Step 5/9 : RUN set -ex && apk add --no-cache avahi-compat-libdns_sd dbus libcap python && apk add --no-cache --virtual dev-packages make g++ avahi-dev eudev eudev-dev bluez-dev build-base linux-headers raspberrypi udev && setcap cap_net_raw+eip $(eval readlink -f `which node`) && chown messagebus:messagebus /var/run/dbus && chown avahi:avahi /var/run/avahi-daemon && sed -i "s/#enable-dbus=yes/enable-dbus=yes/g" /etc/avahi/avahi-daemon.conf && dbus-uuidgen --ensure && npm install node-red-contrib-fritz node-red-contrib-homekit-bridged node-red-contrib-tado-client node-red-dashboard node-red-node-base64 node-red-node-msgpack node-red-node-random node-red-node-suncalc @rdmtc/node-red-contrib-noble --unsafe-perm && apk del dev-packages && npm dedupe && npm cache clean --force
---> Running in 97132ed9b56e
+ apk add --no-cache avahi-compat-libdns_sd dbus libcap python
fetch http://dl-cdn.alpinelinux.org/alpine/v3.11/main/armv7/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.11/community/armv7/APKINDEX.tar.gz
(1/10) Installing dbus-libs (1.12.16-r2)
(2/10) Installing libintl (0.20.1-r2)
(3/10) Installing avahi-libs (0.7-r4)
(4/10) Installing avahi-compat-libdns_sd (0.7-r4)
(5/10) Installing dbus (1.12.16-r2)
Executing dbus-1.12.16-r2.pre-install
(6/10) Installing libbz2 (1.0.8-r1)
(7/10) Installing libffi (3.2.1-r6)
(8/10) Installing gdbm (1.13-r1)
(9/10) Installing sqlite-libs (3.30.1-r1)
(10/10) Installing python2 (2.7.16-r3)
Executing busybox-1.31.1-r9.trigger
OK: 69 MiB in 46 packages
+ apk add --no-cache --virtual dev-packages make g++ avahi-dev eudev eudev-dev bluez-dev build-base linux-headers raspberrypi udev
fetch http://dl-cdn.alpinelinux.org/alpine/v3.11/main/armv7/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.11/community/armv7/APKINDEX.tar.gz
(1/64) Upgrading musl (1.1.24-r0 -> 1.1.24-r1)
(2/64) Installing make (4.2.1-r2)
(3/64) Installing binutils (2.33.1-r0)
(4/64) Installing gmp (6.1.2-r1)
(5/64) Installing isl (0.18-r0)
(6/64) Installing libgomp (9.2.0-r3)
(7/64) Installing libatomic (9.2.0-r3)
(8/64) Installing mpfr4 (4.0.2-r1)
(9/64) Installing mpc1 (1.1.0-r1)
(10/64) Installing gcc (9.2.0-r3)
(11/64) Installing musl-dev (1.1.24-r1)
(12/64) Installing libc-dev (0.7.2-r0)
(13/64) Installing g++ (9.2.0-r3)
(14/64) Installing gdbm-dev (1.13-r1)
(15/64) Installing avahi-compat-howl (0.7-r4)
(16/64) Installing libblkid (2.34-r1)
(17/64) Installing libmount (2.34-r1)
(18/64) Installing pcre (8.43-r0)
(19/64) Installing glib (2.62.5-r0)
(20/64) Installing avahi-glib (0.7-r4)
(21/64) Installing libdaemon (0.14-r2)
(22/64) Installing avahi (0.7-r4)
Executing avahi-0.7-r4.pre-install
(23/64) Installing xz-libs (5.2.4-r0)
(24/64) Installing python3 (3.8.2-r0)
(25/64) Installing gettext-asprintf (0.20.1-r2)
(26/64) Installing libunistring (0.9.10-r0)
(27/64) Installing gettext-libs (0.20.1-r2)
(28/64) Installing libxml2 (2.9.10-r2)
(29/64) Installing gettext (0.20.1-r2)
(30/64) Installing gettext-dev (0.20.1-r2)
(31/64) Installing bzip2-dev (1.0.8-r1)
(32/64) Installing libxml2-utils (2.9.10-r2)
(33/64) Installing libgpg-error (1.36-r2)
(34/64) Installing libgcrypt (1.8.5-r0)
(35/64) Installing libxslt (1.1.34-r0)
(36/64) Installing docbook-xml (4.5-r6)
Executing docbook-xml-4.5-r6.post-install
(37/64) Installing docbook-xsl (1.79.2-r2)
Executing docbook-xsl-1.79.2-r2.post-install
(38/64) Installing linux-headers (4.19.36-r0)
(39/64) Installing pkgconf (1.6.3-r0)
(40/64) Installing libffi-dev (3.2.1-r6)
(41/64) Installing libpcre16 (8.43-r0)
(42/64) Installing libpcre32 (8.43-r0)
(43/64) Installing libpcrecpp (8.43-r0)
(44/64) Installing pcre-dev (8.43-r0)
(45/64) Installing libuuid (2.34-r1)
(46/64) Installing libfdisk (2.34-r1)
(47/64) Installing libsmartcols (2.34-r1)
(48/64) Installing util-linux-dev (2.34-r1)
(49/64) Installing zlib-dev (1.2.11-r3)
(50/64) Installing glib-dev (2.62.5-r0)
(51/64) Installing avahi-dev (0.7-r4)
(52/64) Installing udev-init-scripts (33-r0)
Executing udev-init-scripts-33-r0.post-install
(53/64) Installing eudev-libs (3.2.9-r1)
(54/64) Installing kmod (26-r0)
(55/64) Installing eudev (3.2.9-r1)
(56/64) Installing eudev-dev (3.2.9-r1)
(57/64) Installing bluez-libs (5.52-r0)
(58/64) Installing bluez-dev (5.52-r0)
(59/64) Installing file (5.37-r1)
(60/64) Installing fortify-headers (1.1-r0)
(61/64) Installing build-base (0.5-r1)
(62/64) Installing raspberrypi-libs (0.20190416-r1)
(63/64) Installing raspberrypi (0.20190416-r1)
(64/64) Installing dev-packages (20200317.141848)
Executing busybox-1.31.1-r9.trigger
Executing dbus-1.12.16-r2.trigger
Executing glib-2.62.5-r0.trigger
No schema files found: doing nothing.
Executing eudev-3.2.9-r1.trigger
OK: 279 MiB in 109 packages
+ which node
+ eval readlink -f /usr/local/bin/node
+ readlink -f /usr/local/bin/node
+ setcap cap_net_raw+eip /usr/local/bin/node
+ chown messagebus:messagebus /var/run/dbus
+ chown avahi:avahi /var/run/avahi-daemon
+ sed -i 's/#enable-dbus=yes/enable-dbus=yes/g' /etc/avahi/avahi-daemon.conf
+ dbus-uuidgen --ensure
+ npm install node-red-contrib-fritz node-red-contrib-homekit-bridged node-red-contrib-tado-client node-red-dashboard node-red-node-base64 node-red-node-msgpack node-red-node-random node-red-node-suncalc @rdmtc/node-red-contrib-noble --unsafe-perm
npm WARN deprecated simple-oauth2@2.5.2: simple-oauth2 v2 is no longer supported. Please upgrade to v3 for further support
npm WARN deprecated wreck@14.2.0: This module has moved and is now available at @hapi/wreck. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues.
npm WARN deprecated boom@7.3.0: This module has moved and is now available at @hapi/boom. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues.
npm WARN deprecated hoek@6.1.3: This module has moved and is now available at @hapi/hoek. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues.
npm WARN deprecated bourne@1.1.2: This module has moved and is now available at @hapi/bourne. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues.
> usb@1.6.2 install /usr/src/node-red/node_modules/usb
> prebuild-install --verbose || node-gyp rebuild
prebuild-install info begin Prebuild-install version 5.3.3
prebuild-install info looking for cached prebuild @ /root/.npm/_prebuilds/9e6864-usb-v1.6.2-node-v64-linuxmusl-arm.tar.gz
prebuild-install http request GET https://github.com/tessel/node-usb/releases/download/v1.6.2/usb-v1.6.2-node-v64-linuxmusl-arm.tar.gz
prebuild-install http 404 https://github.com/tessel/node-usb/releases/download/v1.6.2/usb-v1.6.2-node-v64-linuxmusl-arm.tar.gz
prebuild-install WARN install No prebuilt binaries found (target=10.19.0 runtime=node arch=arm libc=musl platform=linux)
make: Entering directory '/usr/src/node-red/node_modules/usb/build'
CC(target) Release/obj.target/libusb/libusb/libusb/core.o
CC(target) Release/obj.target/libusb/libusb/libusb/descriptor.o
CC(target) Release/obj.target/libusb/libusb/libusb/hotplug.o
CC(target) Release/obj.target/libusb/libusb/libusb/io.o
CC(target) Release/obj.target/libusb/libusb/libusb/strerror.o
CC(target) Release/obj.target/libusb/libusb/libusb/sync.o
CC(target) Release/obj.target/libusb/libusb/libusb/os/poll_posix.o
CC(target) Release/obj.target/libusb/libusb/libusb/os/threads_posix.o
CC(target) Release/obj.target/libusb/libusb/libusb/os/linux_usbfs.o
CC(target) Release/obj.target/libusb/libusb/libusb/os/linux_udev.o
AR(target) Release/obj.target/usb.a
COPY Release/usb.a
CXX(target) Release/obj.target/usb_bindings/src/node_usb.o
In file included from ../src/helpers.h:3,
from ../src/node_usb.h:21,
from ../src/node_usb.cc:1:
../../nan/nan.h: In function 'void Nan::AsyncQueueWorker(Nan::AsyncWorker*)':
../../nan/nan.h:2232: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]
2232 | , reinterpret_cast(AsyncExecuteComplete)
| ^
In file included from ../src/node_usb.h:14,
from ../src/node_usb.cc:1:
../src/node_usb.cc: At global scope:
/root/.cache/node-gyp/10.19.0/include/node/node.h:573:43: warning: cast between incompatible function types from 'void (*)(v8::Local)' to 'node::addon_register_func' {aka 'void (*)(v8::Local, v8::Local, void*)'} [-Wcast-function-type]
573 | (node::addon_register_func) (regfunc), \
| ^
/root/.cache/node-gyp/10.19.0/include/node/node.h:607:3: note: in expansion of macro 'NODE_MODULE_X'
607 | NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage)
| ^~~~~~~~~~~~~
../src/node_usb.cc:95:1: note: in expansion of macro 'NODE_MODULE'
95 | NODE_MODULE(usb_bindings, Initialize)
| ^~~~~~~~~~~
../src/node_usb.cc: In function 'void handleHotplug(std::pair)':
../src/node_usb.cc:151:58: warning: 'v8::Local Nan::MakeCallback(v8::Local, const char*, int, v8::Local*)' is deprecated [-Wdeprecated-declarations]
151 | Nan::MakeCallback(Nan::New(hotplugThis), "emit", 2, argv);
| ^
In file included from ../src/helpers.h:3,
from ../src/node_usb.h:21,
from ../src/node_usb.cc:1:
../../nan/nan.h:1001:46: note: declared here
1001 | NAN_DEPRECATED inline v8::Local MakeCallback(
| ^~~~~~~~~~~~
../src/node_usb.cc:151:58: warning: 'v8::Local Nan::MakeCallback(v8::Local, const char*, int, v8::Local*)' is deprecated [-Wdeprecated-declarations]
151 | Nan::MakeCallback(Nan::New(hotplugThis), "emit", 2, argv);
| ^
In file included from ../src/helpers.h:3,
from ../src/node_usb.h:21,
from ../src/node_usb.cc:1:
../../nan/nan.h:1001:46: note: declared here
1001 | NAN_DEPRECATED inline v8::Local MakeCallback(
| ^~~~~~~~~~~~
In file included from ../src/node_usb.h:12,
from ../src/node_usb.cc:1:
/root/.cache/node-gyp/10.19.0/include/node/v8.h: In instantiation of 'void v8::PersistentBase::SetWeak(P*, typename v8::WeakCallbackInfo
::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo
::Callback = void (*)(const v8::WeakCallbackInfo&)]':
/root/.cache/node-gyp/10.19.0/include/node/node_object_wrap.h:84:78: required from here
/root/.cache/node-gyp/10.19.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from 'v8::WeakCallbackInfo::Callback' {aka 'void (*)(const v8::WeakCallbackInfo&)'} to 'Callback' {aka 'void (*)(const v8::WeakCallbackInfo&)'} [-Wcast-function-type]
9502 | reinterpret_cast(callback), type);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.cache/node-gyp/10.19.0/include/node/v8.h: In instantiation of 'void v8::PersistentBase::SetWeak(P*, typename v8::WeakCallbackInfo
::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo
::Callback = void (*)(const v8::WeakCallbackInfo&)]':
../../nan/nan_object_wrap.h:65:61: required from here
/root/.cache/node-gyp/10.19.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from 'v8::WeakCallbackInfo::Callback' {aka 'void (*)(const v8::WeakCallbackInfo&)'} to 'Callback' {aka 'void (*)(const v8::WeakCallbackInfo&)'} [-Wcast-function-type]
CXX(target) Release/obj.target/usb_bindings/src/device.o
In file included from ../src/helpers.h:3,
from ../src/node_usb.h:21,
from ../src/device.cc:1:
../../nan/nan.h: In function 'void Nan::AsyncQueueWorker(Nan::AsyncWorker*)':
../../nan/nan.h:2232: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]
2232 | , reinterpret_cast(AsyncExecuteComplete)
| ^
../src/device.cc: In member function 'void Req::submit(Device*, v8::Local, uv_work_cb, uv_work_cb)':
../src/device.cc:220:70: warning: cast between incompatible function types from 'uv_work_cb' {aka 'void (*)(uv_work_s*)'} to 'uv_after_work_cb' {aka 'void (*)(uv_work_s*, int)'} [-Wcast-function-type]
220 | uv_queue_work(uv_default_loop(), &req, backend, (uv_after_work_cb) after);
| ^~~~~
../src/device.cc: In static member function 'static void Req::default_after(uv_work_t*)':
../src/device.cc:237:64: warning: 'v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)' is deprecated [-Wdeprecated-declarations]
237 | Nan::MakeCallback(device, Nan::New(baton->callback), 1, argv);
| ^
In file included from ../src/helpers.h:3,
from ../src/node_usb.h:21,
from ../src/device.cc:1:
../../nan/nan.h:959:46: note: declared here
959 | NAN_DEPRECATED inline v8::Local MakeCallback(
| ^~~~~~~~~~~~
../src/device.cc:237:64: warning: 'v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)' is deprecated [-Wdeprecated-declarations]
237 | Nan::MakeCallback(device, Nan::New(baton->callback), 1, argv);
| ^
In file included from ../src/helpers.h:3,
from ../src/node_usb.h:21,
from ../src/device.cc:1:
../../nan/nan.h:959:46: note: declared here
959 | NAN_DEPRECATED inline v8::Local MakeCallback(
| ^~~~~~~~~~~~
In file included from ../src/node_usb.h:12,
from ../src/device.cc:1:
/root/.cache/node-gyp/10.19.0/include/node/v8.h: In instantiation of 'void v8::PersistentBase::SetWeak(P*, typename v8::WeakCallbackInfo
::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo
::Callback = void (*)(const v8::WeakCallbackInfo&)]':
/root/.cache/node-gyp/10.19.0/include/node/node_object_wrap.h:84:78: required from here
/root/.cache/node-gyp/10.19.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from 'v8::WeakCallbackInfo::Callback' {aka 'void (*)(const v8::WeakCallbackInfo&)'} to 'Callback' {aka 'void (*)(const v8::WeakCallbackInfo&)'} [-Wcast-function-type]
9502 | reinterpret_cast(callback), type);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.cache/node-gyp/10.19.0/include/node/v8.h: In instantiation of 'void v8::PersistentBase::SetWeak(P*, typename v8::WeakCallbackInfo
::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo
::Callback = void (*)(const v8::WeakCallbackInfo&)]':
../../nan/nan_object_wrap.h:65:61: required from here
/root/.cache/node-gyp/10.19.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from 'v8::WeakCallbackInfo::Callback' {aka 'void (*)(const v8::WeakCallbackInfo&)'} to 'Callback' {aka 'void (*)(const v8::WeakCallbackInfo&)'} [-Wcast-function-type]
CXX(target) Release/obj.target/usb_bindings/src/transfer.o
In file included from ../src/helpers.h:3,
from ../src/node_usb.h:21,
from ../src/transfer.cc:1:
../../nan/nan.h: In function 'void Nan::AsyncQueueWorker(Nan::AsyncWorker*)':
../../nan/nan.h:2232: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]
2232 | , reinterpret_cast(AsyncExecuteComplete)
| ^
../src/transfer.cc: In function 'void handleCompletion(Transfer*)':
../src/transfer.cc:126:72: warning: 'v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)' is deprecated [-Wdeprecated-declarations]
126 | Nan::MakeCallback(self->handle(), Nan::New(self->v8callback), 3, argv);
| ^
In file included from ../src/helpers.h:3,
from ../src/node_usb.h:21,
from ../src/transfer.cc:1:
../../nan/nan.h:959:46: note: declared here
959 | NAN_DEPRECATED inline v8::Local MakeCallback(
| ^~~~~~~~~~~~
../src/transfer.cc:126:72: warning: 'v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)' is deprecated [-Wdeprecated-declarations]
126 | Nan::MakeCallback(self->handle(), Nan::New(self->v8callback), 3, argv);
| ^
In file included from ../src/helpers.h:3,
from ../src/node_usb.h:21,
from ../src/transfer.cc:1:
../../nan/nan.h:959:46: note: declared here
959 | NAN_DEPRECATED inline v8::Local MakeCallback(
| ^~~~~~~~~~~~
In file included from ../src/node_usb.h:12,
from ../src/transfer.cc:1:
/root/.cache/node-gyp/10.19.0/include/node/v8.h: In instantiation of 'void v8::PersistentBase::SetWeak(P*, typename v8::WeakCallbackInfo
::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo
::Callback = void (*)(const v8::WeakCallbackInfo&)]':
/root/.cache/node-gyp/10.19.0/include/node/node_object_wrap.h:84:78: required from here
/root/.cache/node-gyp/10.19.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from 'v8::WeakCallbackInfo::Callback' {aka 'void (*)(const v8::WeakCallbackInfo&)'} to 'Callback' {aka 'void (*)(const v8::WeakCallbackInfo&)'} [-Wcast-function-type]
9502 | reinterpret_cast(callback), type);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.cache/node-gyp/10.19.0/include/node/v8.h: In instantiation of 'void v8::PersistentBase::SetWeak(P*, typename v8::WeakCallbackInfo
::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo
::Callback = void (*)(const v8::WeakCallbackInfo&)]':
../../nan/nan_object_wrap.h:65:61: required from here
/root/.cache/node-gyp/10.19.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from 'v8::WeakCallbackInfo::Callback' {aka 'void (*)(const v8::WeakCallbackInfo&)'} to 'Callback' {aka 'void (*)(const v8::WeakCallbackInfo&)'} [-Wcast-function-type]
SOLINK_MODULE(target) Release/obj.target/usb_bindings.node
COPY Release/usb_bindings.node
make: Leaving directory '/usr/src/node-red/node_modules/usb/build'
> @abandonware/bluetooth-hci-socket@0.5.3-5 install /usr/src/node-red/node_modules/@abandonware/bluetooth-hci-socket
> node-pre-gyp install --fallback-to-build
node-pre-gyp WARN Using request for node-pre-gyp https download
node-pre-gyp WARN Tried to download(404): https://github.com/abandonware/node-bluetooth-hci-socket/releases/download/0.5.3-5/binding-0.5.3-5-node-v64-linux-arm.tar.gz
node-pre-gyp WARN Pre-built binaries not found for @abandonware/bluetooth-hci-socket@0.5.3-5 and node@10.19.0 (node-v64 ABI, musl) (falling back to source compile with node-gyp)
make: Entering directory '/usr/src/node-red/node_modules/@abandonware/bluetooth-hci-socket/build'
CXX(target) Release/obj.target/binding/src/BluetoothHciSocket.o
In file included from ../src/BluetoothHciSocket.cpp:8:
../node_modules/nan/nan.h: In function 'void Nan::AsyncQueueWorker(Nan::AsyncWorker*)':
../node_modules/nan/nan.h:2298: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]
2298 | , reinterpret_cast(AsyncExecuteComplete)
| ^
In file included from /root/.cache/node-gyp/10.19.0/include/node/node_buffer.h:25,
from ../src/BluetoothHciSocket.cpp:7:
../src/BluetoothHciSocket.cpp: At global scope:
/root/.cache/node-gyp/10.19.0/include/node/node.h:573: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]
573 | (node::addon_register_func) (regfunc), \
| ^
/root/.cache/node-gyp/10.19.0/include/node/node.h:607:3: note: in expansion of macro 'NODE_MODULE_X'
607 | NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage)
| ^~~~~~~~~~~~~
../src/BluetoothHciSocket.cpp:578:1: note: in expansion of macro 'NODE_MODULE'
578 | NODE_MODULE(binding, BluetoothHciSocket::Init);
| ^~~~~~~~~~~
In file included from /root/.cache/node-gyp/10.19.0/include/node/node.h:63,
from /root/.cache/node-gyp/10.19.0/include/node/node_buffer.h:25,
from ../src/BluetoothHciSocket.cpp:7:
/root/.cache/node-gyp/10.19.0/include/node/v8.h: In instantiation of 'void v8::PersistentBase::SetWeak(P*, typename v8::WeakCallbackInfo
::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo
::Callback = void (*)(const v8::WeakCallbackInfo&)]':
/root/.cache/node-gyp/10.19.0/include/node/node_object_wrap.h:84:78: required from here
/root/.cache/node-gyp/10.19.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from 'v8::WeakCallbackInfo::Callback' {aka 'void (*)(const v8::WeakCallbackInfo&)'} to 'Callback' {aka 'void (*)(const v8::WeakCallbackInfo&)'} [-Wcast-function-type]
9502 | reinterpret_cast(callback), type);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.cache/node-gyp/10.19.0/include/node/v8.h: In instantiation of 'void v8::PersistentBase::SetWeak(P*, typename v8::WeakCallbackInfo
::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo
::Callback = void (*)(const v8::WeakCallbackInfo&)]':
../node_modules/nan/nan_object_wrap.h:65:61: required from here
/root/.cache/node-gyp/10.19.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from 'v8::WeakCallbackInfo::Callback' {aka 'void (*)(const v8::WeakCallbackInfo&)'} to 'Callback' {aka 'void (*)(const v8::WeakCallbackInfo&)'} [-Wcast-function-type]
SOLINK_MODULE(target) Release/obj.target/binding.node
COPY Release/binding.node
COPY /usr/src/node-red/node_modules/@abandonware/bluetooth-hci-socket/lib/binding/binding.node
TOUCH Release/obj.target/action_after_build.stamp
make: Leaving directory '/usr/src/node-red/node_modules/@abandonware/bluetooth-hci-socket/build'
> @abandonware/noble@1.9.2-2 install /usr/src/node-red/node_modules/@abandonware/noble
> node-gyp rebuild
make: Entering directory '/usr/src/node-red/node_modules/@abandonware/noble/build'
SOLINK_MODULE(target) Release/obj.target/noble.node
COPY Release/noble.node
make: Leaving directory '/usr/src/node-red/node_modules/@abandonware/noble/build'
npm notice created a lockfile as package-lock.json. You should commit this file.
+ node-red-node-random@0.1.4
+ node-red-node-base64@0.2.1
+ node-red-contrib-fritz@1.3.9
+ node-red-dashboard@2.19.4
+ node-red-contrib-tado-client@0.4.0
+ node-red-node-suncalc@0.0.12
+ node-red-node-msgpack@1.2.1
+ node-red-contrib-homekit-bridged@1.0.4
+ @rdmtc/node-red-contrib-noble@0.3.0
added 156 packages from 221 contributors in 64.99s
15 packages are looking for funding
run `npm fund` for details
+ apk del dev-packages
WARNING: Ignoring APKINDEX.70f61090.tar.gz: No such file or directory
WARNING: Ignoring APKINDEX.ca2fea5b.tar.gz: No such file or directory
(1/63) Purging dev-packages (20200317.141848)
(2/63) Purging avahi-dev (0.7-r4)
(3/63) Purging gdbm-dev (1.13-r1)
(4/63) Purging avahi-compat-howl (0.7-r4)
(5/63) Purging avahi-glib (0.7-r4)
(6/63) Purging avahi (0.7-r4)
(7/63) Purging eudev-dev (3.2.9-r1)
(8/63) Purging bluez-dev (5.52-r0)
(9/63) Purging bluez-libs (5.52-r0)
(10/63) Purging build-base (0.5-r1)
(11/63) Purging file (5.37-r1)
(12/63) Purging g++ (9.2.0-r3)
(13/63) Purging gcc (9.2.0-r3)
(14/63) Purging binutils (2.33.1-r0)
(15/63) Purging libatomic (9.2.0-r3)
(16/63) Purging make (4.2.1-r2)
(17/63) Purging libc-dev (0.7.2-r0)
(18/63) Purging musl-dev (1.1.24-r1)
(19/63) Purging fortify-headers (1.1-r0)
(20/63) Purging raspberrypi (0.20190416-r1)
(21/63) Purging isl (0.18-r0)
(22/63) Purging mpc1 (1.1.0-r1)
(23/63) Purging mpfr4 (4.0.2-r1)
(24/63) Purging gmp (6.1.2-r1)
(25/63) Purging glib-dev (2.62.5-r0)
(26/63) Purging python3 (3.8.2-r0)
(27/63) Purging bzip2-dev (1.0.8-r1)
(28/63) Purging docbook-xsl (1.79.2-r2)
Executing docbook-xsl-1.79.2-r2.post-deinstall
(29/63) Purging libxslt (1.1.34-r0)
(30/63) Purging docbook-xml (4.5-r6)
Executing docbook-xml-4.5-r6.post-deinstall
(31/63) Purging libxml2-utils (2.9.10-r2)
(32/63) Purging gettext-dev (0.20.1-r2)
(33/63) Purging gettext-asprintf (0.20.1-r2)
(34/63) Purging gettext (0.20.1-r2)
(35/63) Purging libgomp (9.2.0-r3)
(36/63) Purging util-linux-dev (2.34-r1)
(37/63) Purging libfdisk (2.34-r1)
(38/63) Purging libsmartcols (2.34-r1)
(39/63) Purging libuuid (2.34-r1)
(40/63) Purging eudev (3.2.9-r1)
(41/63) Purging udev-init-scripts (33-r0)
(42/63) Purging eudev-libs (3.2.9-r1)
(43/63) Purging glib (2.62.5-r0)
(44/63) Purging libmount (2.34-r1)
(45/63) Purging libblkid (2.34-r1)
(46/63) Purging pcre-dev (8.43-r0)
(47/63) Purging libpcre16 (8.43-r0)
(48/63) Purging libpcre32 (8.43-r0)
(49/63) Purging libpcrecpp (8.43-r0)
(50/63) Purging pcre (8.43-r0)
(51/63) Purging libdaemon (0.14-r2)
(52/63) Purging kmod (26-r0)
(53/63) Purging libxml2 (2.9.10-r2)
(54/63) Purging xz-libs (5.2.4-r0)
(55/63) Purging gettext-libs (0.20.1-r2)
(56/63) Purging libunistring (0.9.10-r0)
(57/63) Purging libgcrypt (1.8.5-r0)
(58/63) Purging libgpg-error (1.36-r2)
(59/63) Purging libffi-dev (3.2.1-r6)
(60/63) Purging linux-headers (4.19.36-r0)
(61/63) Purging zlib-dev (1.2.11-r3)
(62/63) Purging pkgconf (1.6.3-r0)
(63/63) Purging raspberrypi-libs (0.20190416-r1)
Executing busybox-1.31.1-r9.trigger
Executing dbus-1.12.16-r2.trigger
OK: 69 MiB in 46 packages
+ npm dedupe
audited 1904 packages in 4.535s
15 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
+ npm cache clean --force
npm WARN using --force I sure hope you know what you are doing.
Removing intermediate container 97132ed9b56e
---> fc3a5be4b8d3
Step 6/9 : RUN sed -ie "s/'noble'/'@abandonware\/noble'/" node_modules/@rdmtc/node-red-contrib-noble/noble/node-red-contrib-noble.js
---> Running in 323380c4d67f
Removing intermediate container 323380c4d67f
---> 4a9086ea5a11
Step 7/9 : VOLUME /data
---> Running in d800093feaef
Removing intermediate container d800093feaef
---> b78257209e97
Step 8/9 : EXPOSE 1880
---> Running in 795c70612ff3
Removing intermediate container 795c70612ff3
---> 782eac335132
Step 9/9 : CMD ["/bin/sh", "/usr/src/node-red/entrypoint.sh" ]
---> Running in ded43ba252dc
Removing intermediate container ded43ba252dc
---> 5342062c9136
Successfully built 5342062c9136
Successfully tagged mynodered:latest
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with docker-image/Dockerfile and run the reported `docker build -t mynodered ./docker-image/` command on the Raspberry Pi environment. Check the `apk` dependency installation and subsequent npm install, especially the USB module build; done means the image rebuild completes without the reported dependency or build failure and includes the requested package.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, node.js, shell
- Domain
- build-system, devops
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100