What is a 'docker container'? I use the RPi 3B with a Teensy. I 3d printed a case the holds both and has the fan for the RPi mounted to the case. Is that what you're talking about?
Paul, I'm curious how you got Openbuilds Control to work on the Pi4? I'm running the latest stock Pi OS and have the Openbuilds Control on my desktop - whenever I click it and try either execute or execute in terminal, an hourglass pops up and nothing happens.
Note the version it was tested against is mentioned in the Wiki (not latest as instructions hasn't been updated in a couple months) Follow the instructions closely. We might provide instructions for newer versions in time, but first someone will have to figure out what needs changing and contribute toward updating the install script or depencies etc as needed. Being an unofficial platform, it is hard to allocate work time to that, so if you do figure out what needs changing, let us know
Just went back and reinstalled the legacy version of PiOS and it worked. The new version, and maybe the Pi 4, appear to have full GL and not the Fake KMS. The option to enable Fake KMS isn’t in raspi-config at all. Installing the legacy version allowed me to install Openbuilds.
Hello I've running the Pi 4 2GB with Opnebuilds Control since a long time on the Blackbos. All works fine and I was very happy. Unfortunatly Openbuild Control will not longer start. In the past I have compiled the OBC software but I'm not a IT Hacker und I dont want to touch the running system for many years. Now I want to understand that is happen. I've start no Update of the linux system. Nothing is touch. No new software. Nothing. It is possible that the start command for the OBC software download new files from git? git fetch --all; git reset --hard origin/master;
I was brave and updated the Raspbian system. Then I restarted the compilation of OpenBuild Control. Five minutes later, the compilation went through without any serious errors. OpenBuild Control starts without problems! I am thrilled! It also seems to start faster. I hesitated for a long time because I had a lot of problems with the first compilation and I don't know why it worked at some point. But I seem to have resolved all dependencies properly at that time. This time the compilation was very easy. Many thanks to the OpenBuild Control community for their fantastic work! Regards Mark Translated with www.DeepL.com/Translator (free version)
Hello friends I have again problems with Openbuilds Control on my RPi4. Without warning it does not start anymore. I have changed absolutely nothing. No update of the operating system. I suspect that Openbulds Control is downloading the latest version every time I start git. I then updated the Raspbian using apt. Did not help. Then deleted the openbuild folder and reinstalled completely. Also without success. The first error message that comes up is the following: Code: ~/OpenBuilds-CONTROL $ cd ~/OpenBuilds-CONTROL; git fetch --all; git reset --hard origin/master; MESA_EXTENSION_OVERRIDE=-GL_MESA_framebuffer_flip_y ~/OpenBuilds-CONTROL/node_modules/.bin/electron ~/OpenBuilds-CONTROL Fordere an von origin HEAD ist jetzt bei 17d8f51 v1.0.361 App threw an error during load Error: No native build was found for platform=linux arch=arm runtime=electron abi=113 uv=1 armv=default libc=glibc node=18.12.1 electron=23.1.3 loaded from: /home/pi/OpenBuilds-CONTROL/node_modules/@serialport/bindings-cpp at load.resolve.load.path (/home/pi/OpenBuilds-CONTROL/node_modules/node-gyp-build/node-gyp-build.js:60:9) at load (/home/pi/OpenBuilds-CONTROL/node_modules/node-gyp-build/node-gyp-build.js:22:30) at Object.<anonymous> (/home/pi/OpenBuilds-CONTROL/node_modules/@serialport/bindings-cpp/dist/load-bindings.js:11:46) at Module._compile (node:internal/modules/cjs/loader:1174:14) at Module._extensions..js (node:internal/modules/cjs/loader:1229:10) at Module.load (node:internal/modules/cjs/loader:1044:32) at Module._load (node:internal/modules/cjs/loader:885:12) at f._load (node:electron/js2c/asar_bundle:2:13330) at Module.require (node:internal/modules/cjs/loader:1068:19) at require (node:internal/modules/cjs/helpers:103:18) Error: No native build was found for platform=linux arch=arm runtime=electron abi=113 uv=1 armv=default libc=glibc node=18.12.1 electron=23.1.3 loaded from: /home/pi/OpenBuilds-CONTROL/node_modules/@serialport/bindings-cpp Is this a real error or just a cosmetic error? Can anyone confirm if opbenbuildscontrol is currently running on the RPi? Am grateful for any help! Greetings Mark
It does - staying up to date is important so all users has the latest bugfixes and features As its still Unofficial status, we don't test against the Pi. But for it to work well, in general, you just want an up-to-date OS, with the latest version of Node LTS, and the latest CONTROL. Your error looks like you may need to run electron-rebuild: OpenBuilds-CONTROL/pi-install.sh at master · OpenBuilds/OpenBuilds-CONTROL (The install script should have) to rebuild node-serialports bindings for ARM. Make sure to run an 'npm install' too to make sure all the latest dependencies are indeed installed If its not that, being unofficial, the community (i.e. you) will have to investigate and resolve, we cannot spend troubleshooting time on unofficial platforms unfortunately (Refer the warning along the top of the page at Installing on Pi4 ) and report back if docs or script needs updating
The install script is supposed to install Node 19 by the way: OpenBuilds-CONTROL/pi-install.sh at 17d8f51a645ab23164c81f1ddb61fac142e54df4 · OpenBuilds/OpenBuilds-CONTROL you have V18?
Node is 19: Code: pi@raspberrypi:~/OpenBuilds-CONTROL $ node --version v19.8.1 electron makes trouble: Code: > [email protected] postinstall > electron-builder install-app-deps • electron-builder version=24.0.0 • loaded configuration file=package.json ("build" field) • executing @electron/rebuild appDir=/home/pi/OpenBuilds-CONTROL arch=armv7l • loaded configuration file=package.json ("build" field) ⨯ node-gyp failed to rebuild '/home/pi/OpenBuilds-CONTROL/node_modules/@serialport/bindings'. For more information, rerun with the DEBUG environment variable set to "electron-rebuild". Error: EACCES: permission denied, unlink 'build/Makefile' failedTask=installAppDeps stackTrace=Error: node-gyp failed to rebuild '/home/pi/OpenBuilds-CONTROL/node_modules/@serialport/bindings'. For more information, rerun with the DEBUG environment variable set to "electron-rebuild". Error: EACCES: permission denied, unlink 'build/Makefile' at NodeGyp.rebuildModule (/home/pi/OpenBuilds-CONTROL/node_modules/@electron/rebuild/src/module-type/node-gyp.ts:133:13) at ModuleRebuilder.rebuildNodeGypModule (/home/pi/OpenBuilds-CONTROL/node_modules/@electron/rebuild/src/module-rebuilder.ts:93:5) at ModuleRebuilder.rebuild (/home/pi/OpenBuilds-CONTROL/node_modules/@electron/rebuild/src/module-rebuilder.ts:129:8) at Rebuilder.rebuildModuleAt (/home/pi/OpenBuilds-CONTROL/node_modules/@electron/rebuild/src/rebuild.ts:203:9) at Rebuilder.rebuild (/home/pi/OpenBuilds-CONTROL/node_modules/@electron/rebuild/src/rebuild.ts:158:9) at installOrRebuild (/home/pi/OpenBuilds-CONTROL/node_modules/app-builder-lib/src/util/yarn.ts:29:5) at installAppDeps (/home/pi/OpenBuilds-CONTROL/node_modules/electron-builder/src/cli/install-app-deps.ts:59:3) npm ERR! code 1 npm ERR! path /home/pi/OpenBuilds-CONTROL npm ERR! command failed npm ERR! command sh -c electron-builder install-app-deps npm ERR! A complete log of this run can be found in: npm ERR! /home/pi/.npm/_logs/2023-03-15T22_46_04_606Z-debug-0.log (9/10) Recompiling OpenBuilds-CONTROL dependencies... npm ERR! code 1 npm ERR! path /home/pi/OpenBuilds-CONTROL/node_modules/@serialport/bindings npm ERR! command failed npm ERR! command sh -c prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild npm ERR! prebuild-install warn install No prebuilt binaries found (target=19.8.1 runtime=node arch=arm libc= platform=linux) npm ERR! gyp info it worked if it ends with ok npm ERR! gyp info using [email protected] npm ERR! gyp info using [email protected] | linux | arm npm ERR! gyp ERR! clean error npm ERR! gyp ERR! stack Error: EACCES: permission denied, unlink 'build/Makefile' npm ERR! gyp ERR! System Linux 5.10.103-v7l+ npm ERR! gyp ERR! command "/usr/bin/node" "/home/pi/OpenBuilds-CONTROL/node_modules/.bin/node-gyp" "rebuild" npm ERR! gyp ERR! cwd /home/pi/OpenBuilds-CONTROL/node_modules/@serialport/bindings npm ERR! gyp ERR! node -v v19.8.1 npm ERR! gyp ERR! node-gyp -v v9.3.1 npm ERR! gyp ERR! not ok npm ERR! A complete log of this run can be found in: npm ERR! /home/pi/.npm/_logs/2023-03-15T22_46_14_393Z-debug-0.log up to date, audited 556 packages in 4s 81 packages are looking for funding run `npm fund` for details found 0 vulnerabilities ✔ Rebuild Complete (10/10) Creating Menu and Desktop Shortcuts... --------------------------------------------------- [COMPLETE] Install Complete! Thank you! ---------------------------------------------------
OK, I've solve this problem with rm npm cache clean --force Now the install script run a little bit longer First Error: Code: > [email protected] postinstall > electron-builder install-app-deps • electron-builder version=24.0.0 • loaded configuration file=package.json ("build" field) • executing @electron/rebuild appDir=/home/pi/OpenBuilds-CONTROL arch=armv7l • loaded configuration file=package.json ("build" field) make: Verzeichnis „/home/pi/OpenBuilds-CONTROL/node_modules/@serialport/bindings/build“ wird betreten CXX(target) Release/obj.target/bindings/src/serialport.o In file included from /home/pi/.electron-gyp/23.1.3/include/node/v8-local-handle.h:12, from /home/pi/.electron-gyp/23.1.3/include/node/v8-array-buffer.h:12, from /home/pi/.electron-gyp/23.1.3/include/node/v8.h:24, from /home/pi/.electron-gyp/23.1.3/include/node/node.h:79, from ../../../nan/nan.h:60, from ../src/./serialport.h:13, from ../src/serialport.cpp:1: /home/pi/.electron-gyp/23.1.3/include/node/v8-internal.h:124:62: warning: left shift count >= width of type [-Wshift-count-overflow] constexpr size_t kPtrComprCageReservationSize = size_t{1} << 32; ^~ /home/pi/.electron-gyp/23.1.3/include/node/v8-internal.h:124:59: error: right operand of shift expression ‘(1 << 32)’ is >= than the precision of the left operand [-fpermissive] constexpr size_t kPtrComprCageReservationSize = size_t{1} << 32; ~~~~~~~~~~^~~~~ /home/pi/.electron-gyp/23.1.3/include/node/v8-internal.h:125:60: warning: left shift count >= width of type [-Wshift-count-overflow] constexpr size_t kPtrComprCageBaseAlignment = size_t{1} << 32; ^~ /home/pi/.electron-gyp/23.1.3/include/node/v8-internal.h:125:57: error: right operand of shift expression ‘(1 << 32)’ is >= than the precision of the left operand [-fpermissive] constexpr size_t kPtrComprCageBaseAlignment = size_t{1} << 32; ~~~~~~~~~~^~~~~ /home/pi/.electron-gyp/23.1.3/include/node/v8-internal.h:128:27: error: static assertion failed: Pointer compression can be enabled only for 64-bit architectures kApiSystemPointerSize == kApiInt64Size, ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
The complete log. It's a lot: Code: pi@raspberrypi:~ $ curl -sL https://raw.githubusercontent.com/OpenBuilds/OpenBuilds-CONTROL/master/pi-install.sh | bash - --------------------------------------------------- [STARTING] OPENBUILDS-CONTROL INSTALL SCRIPT: Please wait for each step to complete. --------------------------------------------------- (1/10) Updating Repositories... OK:1 http://raspbian.raspberrypi.org/raspbian buster InRelease OK:2 http://archive.raspberrypi.org/debian buster InRelease OK:3 https://deb.nodesource.com/node_19.x buster InRelease Paketlisten werden gelesen... Fertig (2/10) Upgrading RaspiOS... Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig Paketaktualisierung (Upgrade) wird berechnet... Fertig Das folgende Paket wurde automatisch installiert und wird nicht mehr benötigt: python-colorzero Verwenden Sie »sudo apt autoremove«, um es zu entfernen. 0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert. (3/10) Installing remote desktop (TightVNC and XRDP)... Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig tightvncserver ist schon die neueste Version (1:1.3.9-9+deb10u1). Das folgende Paket wurde automatisch installiert und wird nicht mehr benötigt: python-colorzero Verwenden Sie »sudo apt autoremove«, um es zu entfernen. 0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert. Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig xrdp ist schon die neueste Version (0.9.9-1+deb10u1). Das folgende Paket wurde automatisch installiert und wird nicht mehr benötigt: python-colorzero Verwenden Sie »sudo apt autoremove«, um es zu entfernen. 0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert. (4/10) Installing GIT... Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig git ist schon die neueste Version (1:2.20.1-2+deb10u8). Das folgende Paket wurde automatisch installiert und wird nicht mehr benötigt: python-colorzero Verwenden Sie »sudo apt autoremove«, um es zu entfernen. 0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert. (5/10) Installing NodeJS 19.x... ## Installing the NodeSource Node.js 19.x repo... ## Populating apt-get cache... + apt-get update OK:1 http://raspbian.raspberrypi.org/raspbian buster InRelease OK:2 http://archive.raspberrypi.org/debian buster InRelease OK:3 https://deb.nodesource.com/node_19.x buster InRelease Paketlisten werden gelesen... Fertig ## Confirming "buster" is supported... + curl -sLf -o /dev/null 'https://deb.nodesource.com/node_19.x/dists/buster/Release' ## Adding the NodeSource signing key to your keyring... + curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | gpg --dearmor | tee /usr/share/keyrings/nodesource.gpg >/dev/null gpg: WARNUNG: Unsicheres Besitzverhältnis des Home-Verzeichnis `/home/pi/.gnupg' ## Creating apt sources list file for the NodeSource Node.js 19.x repo... + echo 'deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_19.x buster main' > /etc/apt/sources.list.d/nodesource.list + echo 'deb-src [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_19.x buster main' >> /etc/apt/sources.list.d/nodesource.list ## Running `apt-get update` for you... + apt-get update OK:1 http://raspbian.raspberrypi.org/raspbian buster InRelease OK:2 http://archive.raspberrypi.org/debian buster InRelease OK:3 https://deb.nodesource.com/node_19.x buster InRelease Paketlisten werden gelesen... Fertig ## Run `sudo apt-get install -y nodejs` to install Node.js 19.x and npm ## You may also need development tools to build native addons: sudo apt-get install gcc g++ make ## To install the Yarn package manager, run: curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee /etc/apt/sources.list.d/yarn.list sudo apt-get update && sudo apt-get install yarn Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig nodejs ist schon die neueste Version (19.8.1-deb-1nodesource1). Das folgende Paket wurde automatisch installiert und wird nicht mehr benötigt: python-colorzero Verwenden Sie »sudo apt autoremove«, um es zu entfernen. 0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert. (6/10) Updating npm... changed 16 packages in 7s 16 packages are looking for funding run `npm fund` for details (7/10) Downloading OpenBuilds-CONTROL source code... Klone nach 'OpenBuilds-CONTROL' ... remote: Enumerating objects: 13353, done. remote: Counting objects: 100% (467/467), done. remote: Compressing objects: 100% (174/174), done. remote: Total 13353 (delta 258), reused 344 (delta 218), pack-reused 12886 Empfange Objekte: 100% (13353/13353), 124.02 MiB | 1.57 MiB/s, Fertig. Löse Unterschiede auf: 100% (7815/7815), Fertig. Checke Dateien aus: 100% (703/703), Fertig. (8/10) Installing OpenBuilds-CONTROL dependencies... npm WARN skipping integrity check for git dependency ssh://[email protected]/noopkat/browser-serialport.git npm WARN deprecated @npmcli/[email protected]: This functionality has been moved to @npmcli/fs npm WARN deprecated [email protected]: Please use @electron/notarize moving forward. There is no API change, just a package name change npm WARN deprecated [email protected]: Please use @electron/rebuild moving forward. There is no API change, just a package name change > [email protected] postinstall > electron-builder install-app-deps • electron-builder version=24.0.0 • loaded configuration file=package.json ("build" field) • executing @electron/rebuild appDir=/home/pi/OpenBuilds-CONTROL arch=armv7l • loaded configuration file=package.json ("build" field) make: Verzeichnis „/home/pi/OpenBuilds-CONTROL/node_modules/@serialport/bindings/build“ wird betreten CXX(target) Release/obj.target/bindings/src/serialport.o In file included from /home/pi/.electron-gyp/23.1.3/include/node/v8-local-handle.h:12, from /home/pi/.electron-gyp/23.1.3/include/node/v8-array-buffer.h:12, from /home/pi/.electron-gyp/23.1.3/include/node/v8.h:24, from /home/pi/.electron-gyp/23.1.3/include/node/node.h:79, from ../../../nan/nan.h:60, from ../src/./serialport.h:13, from ../src/serialport.cpp:1: /home/pi/.electron-gyp/23.1.3/include/node/v8-internal.h:124:62: warning: left shift count >= width of type [-Wshift-count-overflow] constexpr size_t kPtrComprCageReservationSize = size_t{1} << 32; ^~ /home/pi/.electron-gyp/23.1.3/include/node/v8-internal.h:124:59: error: right operand of shift expression ‘(1 << 32)’ is >= than the precision of the left operand [-fpermissive] constexpr size_t kPtrComprCageReservationSize = size_t{1} << 32; ~~~~~~~~~~^~~~~ /home/pi/.electron-gyp/23.1.3/include/node/v8-internal.h:125:60: warning: left shift count >= width of type [-Wshift-count-overflow] constexpr size_t kPtrComprCageBaseAlignment = size_t{1} << 32; ^~ /home/pi/.electron-gyp/23.1.3/include/node/v8-internal.h:125:57: error: right operand of shift expression ‘(1 << 32)’ is >= than the precision of the left operand [-fpermissive] constexpr size_t kPtrComprCageBaseAlignment = size_t{1} << 32; ~~~~~~~~~~^~~~~ /home/pi/.electron-gyp/23.1.3/include/node/v8-internal.h:128:27: error: static assertion failed: Pointer compression can be enabled only for 64-bit architectures kApiSystemPointerSize == kApiInt64Size, ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ /home/pi/.electron-gyp/23.1.3/include/node/v8-internal.h:186:38: warning: conversion from ‘long long unsigned int’ to ‘size_t’ {aka ‘unsigned int’} changes value from ‘1099511627776’ to ‘0’ [-Woverflow] constexpr size_t kSandboxSize = 1ULL << kSandboxSizeLog2; ~~~~~^~~~~~~~~~~~~~~~~~~ /home/pi/.electron-gyp/23.1.3/include/node/v8-internal.h:204:50: warning: conversion from ‘long long unsigned int’ to ‘size_t’ {aka ‘unsigned int’} changes value from ‘34359738368’ to ‘0’ [-Woverflow] constexpr size_t kSandboxGuardRegionSize = 32ULL * GB; ~~~~~~^~~~ /home/pi/.electron-gyp/23.1.3/include/node/v8-internal.h:220:56: warning: conversion from ‘long long unsigned int’ to ‘size_t’ {aka ‘unsigned int’} changes value from ‘8589934592’ to ‘0’ [-Woverflow] constexpr size_t kSandboxMinimumReservationSize = 8ULL * GB; ~~~~~^~~~ /home/pi/.electron-gyp/23.1.3/include/node/v8-internal.h:230:60: warning: conversion from ‘long long unsigned int’ to ‘size_t’ {aka ‘unsigned int’} changes value from ‘34359738367’ to ‘4294967295’ [-Woverflow] constexpr size_t kMaxSafeBufferSizeForSandbox = 32ULL * GB - 1; ~~~~~~~~~~~^~~ /home/pi/.electron-gyp/23.1.3/include/node/v8-internal.h:231:44: error: static assertion failed: The maximum allowed buffer size must not be larger than the sandbox's guard regions static_assert(kMaxSafeBufferSizeForSandbox <= kSandboxGuardRegionSize, ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /home/pi/.electron-gyp/23.1.3/include/node/v8-internal.h:236:48: error: static assertion failed: The maximum size of a BoundedSize must be synchronized with the kMaxSafeBufferSizeForSandbox static_assert(1ULL << (64 - kBoundedSizeShift) == ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ kMaxSafeBufferSizeForSandbox + 1, ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/pi/.electron-gyp/23.1.3/include/node/v8-internal.h:260:56: error: static assertion failed: kExternalPointerTableReservationSize and kExternalPointerIndexShift don't match static_assert((1 << (32 - kExternalPointerIndexShift)) == kMaxExternalPointers, ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/pi/.electron-gyp/23.1.3/include/node/v8-object.h:10, from /home/pi/.electron-gyp/23.1.3/include/node/v8-array-buffer.h:13, from /home/pi/.electron-gyp/23.1.3/include/node/v8.h:24, from /home/pi/.electron-gyp/23.1.3/include/node/node.h:79, from ../../../nan/nan.h:60, from ../src/./serialport.h:13, from ../src/serialport.cpp:1: /home/pi/.electron-gyp/23.1.3/include/node/v8-persistent-handle.h:256:44: warning: ‘template<class T> struct v8::CopyablePersistentTraits’ is deprecated [-Wdeprecated-declarations] using CopyablePersistent = Persistent<T, CopyablePersistentTraits<T>>; ^~~~~~~~~~~~~~~~~~~~~~~~ /home/pi/.electron-gyp/23.1.3/include/node/v8-persistent-handle.h:255:48: note: declared here struct V8_DEPRECATED("Use v8::Global instead") CopyablePersistentTraits { ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/./serialport.h:13, from ../src/serialport.cpp:1: ../../../nan/nan.h:206:16: warning: ‘template<class T> struct v8::CopyablePersistentTraits’ is deprecated [-Wdeprecated-declarations] public v8::CopyablePersistentTraits<T> {}; ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/pi/.electron-gyp/23.1.3/include/node/v8-object.h:10, from /home/pi/.electron-gyp/23.1.3/include/node/v8-array-buffer.h:13, from /home/pi/.electron-gyp/23.1.3/include/node/v8.h:24, from /home/pi/.electron-gyp/23.1.3/include/node/node.h:79, from ../../../nan/nan.h:60, from ../src/./serialport.h:13, from ../src/serialport.cpp:1: /home/pi/.electron-gyp/23.1.3/include/node/v8-persistent-handle.h:255:48: note: declared here struct V8_DEPRECATED("Use v8::Global instead") CopyablePersistentTraits { ^~~~~~~~~~~~~~~~~~~~~~~~ ../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] uv_queue_work(uv_default_loop(), req, EIO_Open, (uv_after_work_cb)EIO_AfterOpen); ^~~~~~~~~~~~~ ../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] 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] 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] 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: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] 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: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] 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: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] 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: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] uv_queue_work(uv_default_loop(), req, EIO_Drain, (uv_after_work_cb)EIO_AfterDrain); ^~~~~~~~~~~~~~ ../src/serialport.cpp: At global scope: ../src/serialport.cpp:433:28: warning: unnecessary parentheses in declaration of ‘ToParityEnum’ [-Wparentheses] SerialPortParity NAN_INLINE(ToParityEnum(const v8::Local<v8::String>& v8str)) { ^ ../src/serialport.cpp:452:30: warning: unnecessary parentheses in declaration of ‘ToStopBitEnum’ [-Wparentheses] SerialPortStopBits NAN_INLINE(ToStopBitEnum(double stopBits)) { ^ In file included from ../../../nan/nan.h:60, from ../src/./serialport.h:13, from ../src/serialport.cpp:1: /home/pi/.electron-gyp/23.1.3/include/node/node.h:991: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] (node::addon_register_func) (regfunc), \ ^ /home/pi/.electron-gyp/23.1.3/include/node/node.h:1025:3: note: in expansion of macro ‘NODE_MODULE_X’ NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) ^~~~~~~~~~~~~ ../src/serialport.cpp:486:1: note: in expansion of macro ‘NODE_MODULE’ NODE_MODULE(serialport, init); ^~~~~~~~~~~ make: *** [bindings.target.mk:128: Release/obj.target/bindings/src/serialport.o] Fehler 1 make: Verzeichnis „/home/pi/OpenBuilds-CONTROL/node_modules/@serialport/bindings/build“ wird verlassen ⨯ node-gyp failed to rebuild '/home/pi/OpenBuilds-CONTROL/node_modules/@serialport/bindings'. For more information, rerun with the DEBUG environment variable set to "electron-rebuild". Error: `make` failed with exit code: 2 failedTask=installAppDeps stackTrace=Error: node-gyp failed to rebuild '/home/pi/OpenBuilds-CONTROL/node_modules/@serialport/bindings'. For more information, rerun with the DEBUG environment variable set to "electron-rebuild". Error: `make` failed with exit code: 2 at NodeGyp.rebuildModule (/home/pi/OpenBuilds-CONTROL/node_modules/@electron/rebuild/src/module-type/node-gyp.ts:133:13) at processTicksAndRejections (node:internal/process/task_queues:95:5) at ModuleRebuilder.rebuildNodeGypModule (/home/pi/OpenBuilds-CONTROL/node_modules/@electron/rebuild/src/module-rebuilder.ts:93:5) at ModuleRebuilder.rebuild (/home/pi/OpenBuilds-CONTROL/node_modules/@electron/rebuild/src/module-rebuilder.ts:129:8) at Rebuilder.rebuildModuleAt (/home/pi/OpenBuilds-CONTROL/node_modules/@electron/rebuild/src/rebuild.ts:203:9) at Rebuilder.rebuild (/home/pi/OpenBuilds-CONTROL/node_modules/@electron/rebuild/src/rebuild.ts:158:9) at installOrRebuild (/home/pi/OpenBuilds-CONTROL/node_modules/app-builder-lib/src/util/yarn.ts:29:5) at installAppDeps (/home/pi/OpenBuilds-CONTROL/node_modules/electron-builder/src/cli/install-app-deps.ts:59:3) npm ERR! code 1 npm ERR! path /home/pi/OpenBuilds-CONTROL npm ERR! command failed npm ERR! command sh -c electron-builder install-app-deps npm ERR! A complete log of this run can be found in: npm ERR! /home/pi/.npm/_logs/2023-03-16T09_45_11_959Z-debug-0.log (9/10) Recompiling OpenBuilds-CONTROL dependencies... npm ERR! code 1 npm ERR! path /home/pi/OpenBuilds-CONTROL npm ERR! command failed npm ERR! command sh -c electron-builder install-app-deps npm ERR! • electron-builder version=24.0.0 npm ERR! • loaded configuration file=package.json ("build" field) npm ERR! • executing @electron/rebuild appDir=/home/pi/OpenBuilds-CONTROL arch=armv7l npm ERR! • loaded configuration file=package.json ("build" field) npm ERR! make: Verzeichnis „/home/pi/OpenBuilds-CONTROL/node_modules/@serialport/bindings/build“ wird betreten npm ERR! CXX(target) Release/obj.target/bindings/src/serialport.o npm ERR! make: Verzeichnis „/home/pi/OpenBuilds-CONTROL/node_modules/@serialport/bindings/build“ wird verlassen npm ERR! ⨯ node-gyp failed to rebuild '/home/pi/OpenBuilds-CONTROL/node_modules/@serialport/bindings'. npm ERR! For more information, rerun with the DEBUG environment variable set to "electron-rebuild". npm ERR! npm ERR! Error: `make` failed with exit code: 2 npm ERR! npm ERR! failedTask=installAppDeps stackTrace=Error: node-gyp failed to rebuild '/home/pi/OpenBuilds-CONTROL/node_modules/@serialport/bindings'. npm ERR! For more information, rerun with the DEBUG environment variable set to "electron-rebuild". npm ERR! Error: `make` failed with exit code: 2 npm ERR! at NodeGyp.rebuildModule (/home/pi/OpenBuilds-CONTROL/node_modules/@electron/rebuild/src/module-type/node-gyp.ts:133:13) npm ERR! at processTicksAndRejections (node:internal/process/task_queues:95:5) npm ERR! at ModuleRebuilder.rebuildNodeGypModule (/home/pi/OpenBuilds-CONTROL/node_modules/@electron/rebuild/src/module-rebuilder.ts:93:5) npm ERR! at ModuleRebuilder.rebuild (/home/pi/OpenBuilds-CONTROL/node_modules/@electron/rebuild/src/module-rebuilder.ts:129:8) npm ERR! at Rebuilder.rebuildModuleAt (/home/pi/OpenBuilds-CONTROL/node_modules/@electron/rebuild/src/rebuild.ts:203:9) npm ERR! at Rebuilder.rebuild (/home/pi/OpenBuilds-CONTROL/node_modules/@electron/rebuild/src/rebuild.ts:158:9) npm ERR! at installOrRebuild (/home/pi/OpenBuilds-CONTROL/node_modules/app-builder-lib/src/util/yarn.ts:29:5) npm ERR! at installAppDeps (/home/pi/OpenBuilds-CONTROL/node_modules/electron-builder/src/cli/install-app-deps.ts:59:3) npm ERR! In file included from /home/pi/.electron-gyp/23.1.3/include/node/v8-local-handle.h:12, npm ERR! from /home/pi/.electron-gyp/23.1.3/include/node/v8-array-buffer.h:12, npm ERR! from /home/pi/.electron-gyp/23.1.3/include/node/v8.h:24, npm ERR! from /home/pi/.electron-gyp/23.1.3/include/node/node.h:79, npm ERR! from ../../../nan/nan.h:60, npm ERR! from ../src/./serialport.h:13, npm ERR! from ../src/serialport.cpp:1: npm ERR! /home/pi/.electron-gyp/23.1.3/include/node/v8-internal.h:124:62: warning: left shift count >= width of type [-Wshift-count-overflow] npm ERR! constexpr size_t kPtrComprCageReservationSize = size_t{1} << 32; npm ERR! ^~ npm ERR! /home/pi/.electron-gyp/23.1.3/include/node/v8-internal.h:124:59: error: right operand of shift expression ‘(1 << 32)’ is >= than the precision of the left operand [-fpermissive] npm ERR! constexpr size_t kPtrComprCageReservationSize = size_t{1} << 32; npm ERR! ~~~~~~~~~~^~~~~ npm ERR! /home/pi/.electron-gyp/23.1.3/include/node/v8-internal.h:125:60: warning: left shift count >= width of type [-Wshift-count-overflow] npm ERR! constexpr size_t kPtrComprCageBaseAlignment = size_t{1} << 32; npm ERR! ^~ npm ERR! /home/pi/.electron-gyp/23.1.3/include/node/v8-internal.h:125:57: error: right operand of shift expression ‘(1 << 32)’ is >= than the precision of the left operand [-fpermissive] npm ERR! constexpr size_t kPtrComprCageBaseAlignment = size_t{1} << 32; npm ERR! ~~~~~~~~~~^~~~~ npm ERR! /home/pi/.electron-gyp/23.1.3/include/node/v8-internal.h:128:27: error: static assertion failed: Pointer compression can be enabled only for 64-bit architectures npm ERR! kApiSystemPointerSize == kApiInt64Size, npm ERR! ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ npm ERR! /home/pi/.electron-gyp/23.1.3/include/node/v8-internal.h:186:38: warning: conversion from ‘long long unsigned int’ to ‘size_t’ {aka ‘unsigned int’} changes value from ‘1099511627776’ to ‘0’ [-Woverflow] npm ERR! constexpr size_t kSandboxSize = 1ULL << kSandboxSizeLog2; npm ERR! ~~~~~^~~~~~~~~~~~~~~~~~~ npm ERR! /home/pi/.electron-gyp/23.1.3/include/node/v8-internal.h:204:50: warning: conversion from ‘long long unsigned int’ to ‘size_t’ {aka ‘unsigned int’} changes value from ‘34359738368’ to ‘0’ [-Woverflow] npm ERR! constexpr size_t kSandboxGuardRegionSize = 32ULL * GB; npm ERR! ~~~~~~^~~~ npm ERR! /home/pi/.electron-gyp/23.1.3/include/node/v8-internal.h:220:56: warning: conversion from ‘long long unsigned int’ to ‘size_t’ {aka ‘unsigned int’} changes value from ‘8589934592’ to ‘0’ [-Woverflow] npm ERR! constexpr size_t kSandboxMinimumReservationSize = 8ULL * GB; npm ERR! ~~~~~^~~~ npm ERR! /home/pi/.electron-gyp/23.1.3/include/node/v8-internal.h:230:60: warning: conversion from ‘long long unsigned int’ to ‘size_t’ {aka ‘unsigned int’} changes value from ‘34359738367’ to ‘4294967295’ [-Woverflow] npm ERR! constexpr size_t kMaxSafeBufferSizeForSandbox = 32ULL * GB - 1; npm ERR! ~~~~~~~~~~~^~~ npm ERR! /home/pi/.electron-gyp/23.1.3/include/node/v8-internal.h:231:44: error: static assertion failed: The maximum allowed buffer size must not be larger than the sandbox's guard regions npm ERR! static_assert(kMaxSafeBufferSizeForSandbox <= kSandboxGuardRegionSize, npm ERR! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ npm ERR! /home/pi/.electron-gyp/23.1.3/include/node/v8-internal.h:236:48: error: static assertion failed: The maximum size of a BoundedSize must be synchronized with the kMaxSafeBufferSizeForSandbox npm ERR! static_assert(1ULL << (64 - kBoundedSizeShift) == npm ERR! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ npm ERR! kMaxSafeBufferSizeForSandbox + 1, npm ERR! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ npm ERR! /home/pi/.electron-gyp/23.1.3/include/node/v8-internal.h:260:56: error: static assertion failed: kExternalPointerTableReservationSize and kExternalPointerIndexShift don't match npm ERR! static_assert((1 << (32 - kExternalPointerIndexShift)) == kMaxExternalPointers, npm ERR! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ npm ERR! In file included from /home/pi/.electron-gyp/23.1.3/include/node/v8-object.h:10, npm ERR! from /home/pi/.electron-gyp/23.1.3/include/node/v8-array-buffer.h:13, npm ERR! from /home/pi/.electron-gyp/23.1.3/include/node/v8.h:24, npm ERR! from /home/pi/.electron-gyp/23.1.3/include/node/node.h:79, npm ERR! from ../../../nan/nan.h:60, npm ERR! from ../src/./serialport.h:13, npm ERR! from ../src/serialport.cpp:1: npm ERR! /home/pi/.electron-gyp/23.1.3/include/node/v8-persistent-handle.h:256:44: warning: ‘template<class T> struct v8::CopyablePersistentTraits’ is deprecated [-Wdeprecated-declarations] npm ERR! using CopyablePersistent = Persistent<T, CopyablePersistentTraits<T>>; npm ERR! ^~~~~~~~~~~~~~~~~~~~~~~~ npm ERR! /home/pi/.electron-gyp/23.1.3/include/node/v8-persistent-handle.h:255:48: note: declared here npm ERR! struct V8_DEPRECATED("Use v8::Global instead") CopyablePersistentTraits { npm ERR! ^~~~~~~~~~~~~~~~~~~~~~~~ npm ERR! In file included from ../src/./serialport.h:13, npm ERR! from ../src/serialport.cpp:1: npm ERR! ../../../nan/nan.h:206:16: warning: ‘template<class T> struct v8::CopyablePersistentTraits’ is deprecated [-Wdeprecated-declarations] npm ERR! public v8::CopyablePersistentTraits<T> {}; npm ERR! ^~~~~~~~~~~~~~~~~~~~~~~~ npm ERR! In file included from /home/pi/.electron-gyp/23.1.3/include/node/v8-object.h:10, npm ERR! from /home/pi/.electron-gyp/23.1.3/include/node/v8-array-buffer.h:13, npm ERR! from /home/pi/.electron-gyp/23.1.3/include/node/v8.h:24, npm ERR! from /home/pi/.electron-gyp/23.1.3/include/node/node.h:79, npm ERR! from ../../../nan/nan.h:60, npm ERR! from ../src/./serialport.h:13, npm ERR! from ../src/serialport.cpp:1: npm ERR! /home/pi/.electron-gyp/23.1.3/include/node/v8-persistent-handle.h:255:48: note: declared here npm ERR! struct V8_DEPRECATED("Use v8::Global instead") CopyablePersistentTraits { npm ERR! ^~~~~~~~~~~~~~~~~~~~~~~~ npm ERR! ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Open(Nan::NAN_METHOD_ARGS_TYPE)’: npm 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] npm ERR! uv_queue_work(uv_default_loop(), req, EIO_Open, (uv_after_work_cb)EIO_AfterOpen); npm ERR! ^~~~~~~~~~~~~ npm ERR! ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Update(Nan::NAN_METHOD_ARGS_TYPE)’: npm 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] npm ERR! uv_queue_work(uv_default_loop(), req, EIO_Update, (uv_after_work_cb)EIO_AfterUpdate); npm ERR! ^~~~~~~~~~~~~~~ npm ERR! ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Close(Nan::NAN_METHOD_ARGS_TYPE)’: npm 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] npm ERR! uv_queue_work(uv_default_loop(), req, EIO_Close, (uv_after_work_cb)EIO_AfterClose); npm ERR! ^~~~~~~~~~~~~~ npm ERR! ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Flush(Nan::NAN_METHOD_ARGS_TYPE)’: npm 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] npm ERR! uv_queue_work(uv_default_loop(), req, EIO_Flush, (uv_after_work_cb)EIO_AfterFlush); npm ERR! ^~~~~~~~~~~~~~ npm ERR! ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Set(Nan::NAN_METHOD_ARGS_TYPE)’: npm 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] npm ERR! uv_queue_work(uv_default_loop(), req, EIO_Set, (uv_after_work_cb)EIO_AfterSet); npm ERR! ^~~~~~~~~~~~ npm ERR! ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Get(Nan::NAN_METHOD_ARGS_TYPE)’: npm 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] npm ERR! uv_queue_work(uv_default_loop(), req, EIO_Get, (uv_after_work_cb)EIO_AfterGet); npm ERR! ^~~~~~~~~~~~ npm ERR! ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE GetBaudRate(Nan::NAN_METHOD_ARGS_TYPE)’: npm 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] npm ERR! uv_queue_work(uv_default_loop(), req, EIO_GetBaudRate, (uv_after_work_cb)EIO_AfterGetBaudRate); npm ERR! ^~~~~~~~~~~~~~~~~~~~ npm ERR! ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Drain(Nan::NAN_METHOD_ARGS_TYPE)’: npm 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] npm ERR! uv_queue_work(uv_default_loop(), req, EIO_Drain, (uv_after_work_cb)EIO_AfterDrain); npm ERR! ^~~~~~~~~~~~~~ npm ERR! ../src/serialport.cpp: At global scope: npm ERR! ../src/serialport.cpp:433:28: warning: unnecessary parentheses in declaration of ‘ToParityEnum’ [-Wparentheses] npm ERR! SerialPortParity NAN_INLINE(ToParityEnum(const v8::Local<v8::String>& v8str)) { npm ERR! ^ npm ERR! ../src/serialport.cpp:452:30: warning: unnecessary parentheses in declaration of ‘ToStopBitEnum’ [-Wparentheses] npm ERR! SerialPortStopBits NAN_INLINE(ToStopBitEnum(double stopBits)) { npm ERR! ^ npm ERR! In file included from ../../../nan/nan.h:60, npm ERR! from ../src/./serialport.h:13, npm ERR! from ../src/serialport.cpp:1: npm ERR! /home/pi/.electron-gyp/23.1.3/include/node/node.h:991: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] npm ERR! (node::addon_register_func) (regfunc), \ npm ERR! ^ npm ERR! /home/pi/.electron-gyp/23.1.3/include/node/node.h:1025:3: note: in expansion of macro ‘NODE_MODULE_X’ npm ERR! NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) npm ERR! ^~~~~~~~~~~~~ npm ERR! ../src/serialport.cpp:486:1: note: in expansion of macro ‘NODE_MODULE’ npm ERR! NODE_MODULE(serialport, init); npm ERR! ^~~~~~~~~~~ npm ERR! make: *** [bindings.target.mk:128: Release/obj.target/bindings/src/serialport.o] Fehler 1 npm ERR! A complete log of this run can be found in: npm ERR! /home/pi/.npm/_logs/2023-03-16T09_47_56_536Z-debug-0.log npm WARN skipping integrity check for git dependency ssh://[email protected]/noopkat/browser-serialport.git changed 1 package, and audited 556 packages in 5s 81 packages are looking for funding run `npm fund` for details found 0 vulnerabilities ⠸ Building module: bindings, Completed: 0make: Verzeichnis „/home/pi/OpenBuilds-CONTROL/node_modules/@serialport/bindings/build“ wird betreten CXX(target) Release/obj.target/bindings/src/serialport.o ⠴ Building module: bindings, Completed: 0In file included from /home/pi/.electron-gyp/23.1.3/include/node/v8-object.h:10, from /home/pi/.electron-gyp/23.1.3/include/node/v8-array-buffer.h:13, from /home/pi/.electron-gyp/23.1.3/include/node/v8.h:24, from /home/pi/.electron-gyp/23.1.3/include/node/node.h:79, from ../../../nan/nan.h:60, from ../src/./serialport.h:13, from ../src/serialport.cpp:1: /home/pi/.electron-gyp/23.1.3/include/node/v8-persistent-handle.h:256:44: warning: ‘template<class T> struct v8::CopyablePersistentTraits’ is deprecated [-Wdeprecated-declarations] using CopyablePersistent = Persistent<T, CopyablePersistentTraits<T>>; ^~~~~~~~~~~~~~~~~~~~~~~~ /home/pi/.electron-gyp/23.1.3/include/node/v8-persistent-handle.h:255:48: note: declared here struct V8_DEPRECATED("Use v8::Global instead") CopyablePersistentTraits { ^~~~~~~~~~~~~~~~~~~~~~~~ ⠋ Building module: bindings, Completed: 0In file included from ../src/./serialport.h:13, from ../src/serialport.cpp:1: ../../../nan/nan.h:206:16: warning: ‘template<class T> struct v8::CopyablePersistentTraits’ is deprecated [-Wdeprecated-declarations] public v8::CopyablePersistentTraits<T> {}; ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/pi/.electron-gyp/23.1.3/include/node/v8-object.h:10, from /home/pi/.electron-gyp/23.1.3/include/node/v8-array-buffer.h:13, from /home/pi/.electron-gyp/23.1.3/include/node/v8.h:24, from /home/pi/.electron-gyp/23.1.3/include/node/node.h:79, from ../../../nan/nan.h:60, from ../src/./serialport.h:13, from ../src/serialport.cpp:1: /home/pi/.electron-gyp/23.1.3/include/node/v8-persistent-handle.h:255:48: note: declared here struct V8_DEPRECATED("Use v8::Global instead") CopyablePersistentTraits { ^~~~~~~~~~~~~~~~~~~~~~~~ ⠹ Building module: bindings, Completed: 0../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] uv_queue_work(uv_default_loop(), req, EIO_Open, (uv_after_work_cb)EIO_AfterOpen); ^~~~~~~~~~~~~ ../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] uv_queue_work(uv_default_loop(), req, EIO_Update, (uv_after_work_cb)EIO_AfterUpdate); ^~~~~~~~~~~~~~~ ⠸ Building module: bindings, Completed: 0../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] 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] 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: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] 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: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] 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: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] 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: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] uv_queue_work(uv_default_loop(), req, EIO_Drain, (uv_after_work_cb)EIO_AfterDrain); ^~~~~~~~~~~~~~ ../src/serialport.cpp: At global scope: ../src/serialport.cpp:433:28: warning: unnecessary parentheses in declaration of ‘ToParityEnum’ [-Wparentheses] SerialPortParity NAN_INLINE(ToParityEnum(const v8::Local<v8::String>& v8str)) { ^ ../src/serialport.cpp:452:30: warning: unnecessary parentheses in declaration of ‘ToStopBitEnum’ [-Wparentheses] SerialPortStopBits NAN_INLINE(ToStopBitEnum(double stopBits)) { ^ In file included from ../../../nan/nan.h:60, from ../src/./serialport.h:13, from ../src/serialport.cpp:1: /home/pi/.electron-gyp/23.1.3/include/node/node.h:991: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] (node::addon_register_func) (regfunc), \ ^ /home/pi/.electron-gyp/23.1.3/include/node/node.h:1025:3: note: in expansion of macro ‘NODE_MODULE_X’ NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) ^~~~~~~~~~~~~ ../src/serialport.cpp:486:1: note: in expansion of macro ‘NODE_MODULE’ NODE_MODULE(serialport, init); ^~~~~~~~~~~ ⠏ Building module: bindings, Completed: 0 CXX(target) Release/obj.target/bindings/src/serialport_unix.o ⠙ Building module: bindings, Completed: 0In file included from /home/pi/.electron-gyp/23.1.3/include/node/v8-object.h:10, from /home/pi/.electron-gyp/23.1.3/include/node/v8-array-buffer.h:13, from /home/pi/.electron-gyp/23.1.3/include/node/v8.h:24, from /home/pi/.electron-gyp/23.1.3/include/node/node.h:79, from ../../../nan/nan.h:60, from ../src/serialport.h:13, from ../src/serialport_unix.cpp:2: /home/pi/.electron-gyp/23.1.3/include/node/v8-persistent-handle.h:256:44: warning: ‘template<class T> struct v8::CopyablePersistentTraits’ is deprecated [-Wdeprecated-declarations] using CopyablePersistent = Persistent<T, CopyablePersistentTraits<T>>; ^~~~~~~~~~~~~~~~~~~~~~~~ /home/pi/.electron-gyp/23.1.3/include/node/v8-persistent-handle.h:255:48: note: declared here struct V8_DEPRECATED("Use v8::Global instead") CopyablePersistentTraits { ^~~~~~~~~~~~~~~~~~~~~~~~ ⠦ Building module: bindings, Completed: 0In file included from ../src/serialport.h:13, from ../src/serialport_unix.cpp:2: ../../../nan/nan.h:206:16: warning: ‘template<class T> struct v8::CopyablePersistentTraits’ is deprecated [-Wdeprecated-declarations] public v8::CopyablePersistentTraits<T> {}; ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/pi/.electron-gyp/23.1.3/include/node/v8-object.h:10, from /home/pi/.electron-gyp/23.1.3/include/node/v8-array-buffer.h:13, from /home/pi/.electron-gyp/23.1.3/include/node/v8.h:24, from /home/pi/.electron-gyp/23.1.3/include/node/node.h:79, from ../../../nan/nan.h:60, from ../src/serialport.h:13, from ../src/serialport_unix.cpp:2: /home/pi/.electron-gyp/23.1.3/include/node/v8-persistent-handle.h:255:48: note: declared here struct V8_DEPRECATED("Use v8::Global instead") CopyablePersistentTraits { ^~~~~~~~~~~~~~~~~~~~~~~~ ⠼ Building module: bindings, Completed: 0../src/serialport_unix.cpp: In function ‘int setup(int, OpenBaton*)’: ../src/serialport_unix.cpp:179:60: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 1005 [-Wformat-truncation=] snprintf(data->errorString, sizeof(data->errorString), "Error %s Cannot open %s", strerror(errno), data->path); ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/serialport_unix.cpp:179:13: note: ‘snprintf’ output 20 or more bytes (assuming 1043) into a destination of size 1024 snprintf(data->errorString, sizeof(data->errorString), "Error %s Cannot open %s", strerror(errno), data->path); ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/serialport_unix.cpp: In function ‘void EIO_Open(uv_work_t*)’: ../src/serialport_unix.cpp:89:60: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 1003 [-Wformat-truncation=] snprintf(data->errorString, sizeof(data->errorString), "Error: %s, cannot open %s", strerror(errno), data->path); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/serialport_unix.cpp:89:13: note: ‘snprintf’ output 22 or more bytes (assuming 1045) into a destination of size 1024 snprintf(data->errorString, sizeof(data->errorString), "Error: %s, cannot open %s", strerror(errno), data->path); ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ⠦ Building module: bindings, Completed: 0 CXX(target) Release/obj.target/bindings/src/poller.o ⠇ Building module: bindings, Completed: 0In file included from /home/pi/.electron-gyp/23.1.3/include/node/v8-object.h:10, from /home/pi/.electron-gyp/23.1.3/include/node/v8-array-buffer.h:13, from /home/pi/.electron-gyp/23.1.3/include/node/v8.h:24, from /home/pi/.electron-gyp/23.1.3/include/node/node.h:79, from ../../../nan/nan.h:60, from ../src/poller.cpp:1: /home/pi/.electron-gyp/23.1.3/include/node/v8-persistent-handle.h:256:44: warning: ‘template<class T> struct v8::CopyablePersistentTraits’ is deprecated [-Wdeprecated-declarations] using CopyablePersistent = Persistent<T, CopyablePersistentTraits<T>>; ^~~~~~~~~~~~~~~~~~~~~~~~ /home/pi/.electron-gyp/23.1.3/include/node/v8-persistent-handle.h:255:48: note: declared here struct V8_DEPRECATED("Use v8::Global instead") CopyablePersistentTraits { ^~~~~~~~~~~~~~~~~~~~~~~~ ⠸ Building module: bindings, Completed: 0In file included from ../src/poller.cpp:1: ../../../nan/nan.h:206:16: warning: ‘template<class T> struct v8::CopyablePersistentTraits’ is deprecated [-Wdeprecated-declarations] public v8::CopyablePersistentTraits<T> {}; ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/pi/.electron-gyp/23.1.3/include/node/v8-object.h:10, from /home/pi/.electron-gyp/23.1.3/include/node/v8-array-buffer.h:13, from /home/pi/.electron-gyp/23.1.3/include/node/v8.h:24, from /home/pi/.electron-gyp/23.1.3/include/node/node.h:79, from ../../../nan/nan.h:60, from ../src/poller.cpp:1: /home/pi/.electron-gyp/23.1.3/include/node/v8-persistent-handle.h:255:48: note: declared here struct V8_DEPRECATED("Use v8::Global instead") CopyablePersistentTraits { ^~~~~~~~~~~~~~~~~~~~~~~~ ⠇ Building module: bindings, Completed: 0 CXX(target) Release/obj.target/bindings/src/serialport_linux.o ⠋ Building module: bindings, Completed: 0 SOLINK_MODULE(target) Release/obj.target/bindings.node ⠸ Building module: bindings, Completed: 0 COPY Release/bindings.node make: Verzeichnis „/home/pi/OpenBuilds-CONTROL/node_modules/@serialport/bindings/build“ wird verlassen ✔ Rebuild Complete (10/10) Creating Menu and Desktop Shortcuts... --------------------------------------------------- [COMPLETE] Install Complete! Thank you! ---------------------------------------------------
Nothing pops out as obvious - could be Make versions, build-essentials versions etc (deprecation warnings) Will spin up a clean copy of RaspiOS when I get a chance (might not be today) and see
Thank you for your help! This is not self-evident and I appreciate it very much. Especially because the Pi is not officially supported. If you can confirm that it runs on a clean installation I will rebuild the Pi. I'm not in a hurry, I don't have any urgent milling projects at the moment. I'm also using a laptop, which is fine for a bit of milling, but it won't survive in the long run because of the dust. A quick feedback on the Pi: Openbuild Control works fine on a Pi4 with 2GB Ram and the original 7" touch display. I've been milling with it for about a year and have no problems. No crashes and no hangups. My milling jobs are not very big though. No 3D surface machining. The nice thing about the Pi with the touch display is the compactness and extreme dust immunity. I would be very happy if the Pi would continue to be supported unofficially. Tip for all those who are considering using the Pi for control: In the beginning I often had the milling machine stop and Openbuild Control had to be reconnected to the black box. The problem was the very long power supply line into my workshop, more than 30m over a thin cable. The milling motor was interfering with the power supply to the black box during load fluctuations, causing the USB connection to break down. Now I use a separate power supply cable for the milling motor. Since then there are no more problems.
If you have a moment and a spare SD, you might get that test done before I get a spare moment Great to hear - tough call on supporting Pi as an "official" platform is the occational linux quirks (IT support not related to CONTROL) that non-linux users have troubles with As long as we support x86/64 based linux, it should run on the Pi too - so unlikely to go away - but with all the recent update work, possibly just something that needs to be newer (newer base RaspiOS, newer node, newer build-essentials, something like that)
Dont work :-( Code: run `npm fund` for details (7/10) Downloading OpenBuilds-CONTROL source code... Klone nach 'OpenBuilds-CONTROL' ... remote: Enumerating objects: 13353, done. remote: Counting objects: 100% (467/467), done. remote: Compressing objects: 100% (174/174), done. remote: Total 13353 (delta 258), reused 344 (delta 218), pack-reused 12886 Empfange Objekte: 100% (13353/13353), 124.02 MiB | 1.37 MiB/s, fertig. Löse Unterschiede auf: 100% (7815/7815), fertig. Aktualisiere Dateien: 100% (703/703), fertig. (8/10) Installing OpenBuilds-CONTROL dependencies... npm WARN skipping integrity check for git dependency ssh://[email protected]/noopkat/browser-serialport.git npm WARN deprecated @npmcli/[email protected]: This functionality has been moved to @npmcli/fs npm WARN deprecated [email protected]: Please use @electron/notarize moving forward. There is no API change, just a package name change npm WARN deprecated [email protected]: Please use @electron/rebuild moving forward. There is no API change, just a package name change > [email protected] postinstall > electron-builder install-app-deps • electron-builder version=24.0.0 • loaded configuration file=package.json ("build" field) • executing @electron/rebuild appDir=/home/mark/OpenBuilds-CONTROL arch=armv7l • loaded configuration file=package.json ("build" field) make: Verzeichnis „/home/mark/OpenBuilds-CONTROL/node_modules/@serialport/bindings/build“ wird betreten CXX(target) Release/obj.target/bindings/src/serialport.o In file included from /home/mark/.electron-gyp/23.1.3/include/node/v8-local-handle.h:12, from /home/mark/.electron-gyp/23.1.3/include/node/v8-array-buffer.h:12, from /home/mark/.electron-gyp/23.1.3/include/node/v8.h:24, from /home/mark/.electron-gyp/23.1.3/include/node/node.h:79, from ../../../nan/nan.h:60, from ../src/./serialport.h:13, from ../src/serialport.cpp:1: /home/mark/.electron-gyp/23.1.3/include/node/v8-internal.h:124:59: warning: left shift count >= width of type [-Wshift-count-overflow] 124 | constexpr size_t kPtrComprCageReservationSize = size_t{1} << 32; | ~~~~~~~~~~^~~~~ /home/mark/.electron-gyp/23.1.3/include/node/v8-internal.h:124:59: error: right operand of shift expression ‘(1 << 32)’ is greater than or equal to the precision 32 of the left operand [-fpermissive] /home/mark/.electron-gyp/23.1.3/include/node/v8-internal.h:125:57: warning: left shift count >= width of type [-Wshift-count-overflow] 125 | constexpr size_t kPtrComprCageBaseAlignment = size_t{1} << 32; | ~~~~~~~~~~^~~~~ /home/mark/.electron-gyp/23.1.3/include/node/v8-internal.h:125:57: error: right operand of shift expression ‘(1 << 32)’ is greater than or equal to the precision 32 of the left operand [-fpermissive] /home/mark/.electron-gyp/23.1.3/include/node/v8-internal.h:128:27: error: static assertion failed: Pointer compression can be enabled only for 64-bit architectures 128 | kApiSystemPointerSize == kApiInt64Size, | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ /home/mark/.electron-gyp/23.1.3/include/node/v8-internal.h:186:38: warning: conversion from ‘long long unsigned int’ to ‘size_t’ {aka ‘unsigned int’} changes value from ‘1099511627776’ to ‘0’ [-Woverflow] 186 | constexpr size_t kSandboxSize = 1ULL << kSandboxSizeLog2; | ~~~~~^~~~~~~~~~~~~~~~~~~ /home/mark/.electron-gyp/23.1.3/include/node/v8-internal.h:204:50: warning: conversion from ‘long long unsigned int’ to ‘size_t’ {aka ‘unsigned int’} changes value from ‘34359738368’ to ‘0’ [-Woverflow] 204 | constexpr size_t kSandboxGuardRegionSize = 32ULL * GB; | ~~~~~~^~~~ /home/mark/.electron-gyp/23.1.3/include/node/v8-internal.h:206:61: error: non-constant condition for static assertion 206 | static_assert((kSandboxGuardRegionSize % kSandboxAlignment) == 0, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~ /home/mark/.electron-gyp/23.1.3/include/node/v8-internal.h:220:56: warning: conversion from ‘long long unsigned int’ to ‘size_t’ {aka ‘unsigned int’} changes value from ‘8589934592’ to ‘0’ [-Woverflow] 220 | constexpr size_t kSandboxMinimumReservationSize = 8ULL * GB; | ~~~~~^~~~ /home/mark/.electron-gyp/23.1.3/include/node/v8-internal.h:222:46: error: non-constant condition for static assertion 222 | static_assert(kSandboxMinimumReservationSize > kPtrComprCageReservationSize, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/mark/.electron-gyp/23.1.3/include/node/v8-internal.h:230:60: warning: conversion from ‘long long unsigned int’ to ‘size_t’ {aka ‘unsigned int’} changes value from ‘34359738367’ to ‘4294967295’ [-Woverflow] 230 | constexpr size_t kMaxSafeBufferSizeForSandbox = 32ULL * GB - 1; | ~~~~~~~~~~~^~~ /home/mark/.electron-gyp/23.1.3/include/node/v8-internal.h:231:44: error: static assertion failed: The maximum allowed buffer size must not be larger than the sandbox's guard regions 231 | static_assert(kMaxSafeBufferSizeForSandbox <= kSandboxGuardRegionSize, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /home/mark/.electron-gyp/23.1.3/include/node/v8-internal.h:236:48: error: static assertion failed: The maximum size of a BoundedSize must be synchronized with the kMaxSafeBufferSizeForSandbox 236 | static_assert(1ULL << (64 - kBoundedSizeShift) == | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 237 | kMaxSafeBufferSizeForSandbox + 1, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/mark/.electron-gyp/23.1.3/include/node/v8-internal.h:260:56: error: static assertion failed: kExternalPointerTableReservationSize and kExternalPointerIndexShift don't match 260 | static_assert((1 << (32 - kExternalPointerIndexShift)) == kMaxExternalPointers, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/mark/.electron-gyp/23.1.3/include/node/v8-object.h:10, from /home/mark/.electron-gyp/23.1.3/include/node/v8-array-buffer.h:13, from /home/mark/.electron-gyp/23.1.3/include/node/v8.h:24, from /home/mark/.electron-gyp/23.1.3/include/node/node.h:79, from ../../../nan/nan.h:60, from ../src/./serialport.h:13, from ../src/serialport.cpp:1: /home/mark/.electron-gyp/23.1.3/include/node/v8-persistent-handle.h:256:44: warning: ‘template<class T> struct v8::CopyablePersistentTraits’ is deprecated: Use v8::Global instead [-Wdeprecated-declarations] 256 | using CopyablePersistent = Persistent<T, CopyablePersistentTraits<T>>; | ^~~~~~~~~~~~~~~~~~~~~~~~ /home/mark/.electron-gyp/23.1.3/include/node/v8-persistent-handle.h:255:48: note: declared here 255 | struct V8_DEPRECATED("Use v8::Global instead") CopyablePersistentTraits { | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/./serialport.h:13, from ../src/serialport.cpp:1: ../../../nan/nan.h:206:16: warning: ‘template<class T> struct v8::CopyablePersistentTraits’ is deprecated: Use v8::Global instead [-Wdeprecated-declarations] 206 | public v8::CopyablePersistentTraits<T> {}; | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/mark/.electron-gyp/23.1.3/include/node/v8-object.h:10, from /home/mark/.electron-gyp/23.1.3/include/node/v8-array-buffer.h:13, from /home/mark/.electron-gyp/23.1.3/include/node/v8.h:24, from /home/mark/.electron-gyp/23.1.3/include/node/node.h:79, from ../../../nan/nan.h:60, from ../src/./serialport.h:13, from ../src/serialport.cpp:1: /home/mark/.electron-gyp/23.1.3/include/node/v8-persistent-handle.h:255:48: note: declared here 255 | struct V8_DEPRECATED("Use v8::Global instead") CopyablePersistentTraits { | ^~~~~~~~~~~~~~~~~~~~~~~~ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Open(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/serialport.cpp:78:51: 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); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Update(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/serialport.cpp:135:53: 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:52: 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:52: 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:271:50: 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] 271 | 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:316:50: 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] 316 | 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:366:58: 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] 366 | 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:412:52: 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] 412 | uv_queue_work(uv_default_loop(), req, EIO_Drain, (uv_after_work_cb)EIO_AfterDrain); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/serialport.cpp: At global scope: ../src/serialport.cpp:433:28: warning: unnecessary parentheses in declaration of ‘ToParityEnum’ [-Wparentheses] 433 | SerialPortParity NAN_INLINE(ToParityEnum(const v8::Local<v8::String>& v8str)) { | ^ ../src/serialport.cpp:452:30: warning: unnecessary parentheses in declaration of ‘ToStopBitEnum’ [-Wparentheses] 452 | SerialPortStopBits NAN_INLINE(ToStopBitEnum(double stopBits)) { | ^ In file included from ../../../nan/nan.h:60, from ../src/./serialport.h:13, from ../src/serialport.cpp:1: /home/mark/.electron-gyp/23.1.3/include/node/node.h:991:7: 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] 991 | (node::addon_register_func) (regfunc), \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/mark/.electron-gyp/23.1.3/include/node/node.h:1025:3: note: in expansion of macro ‘NODE_MODULE_X’ 1025 | NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) | ^~~~~~~~~~~~~ ../src/serialport.cpp:486:1: note: in expansion of macro ‘NODE_MODULE’ 486 | NODE_MODULE(serialport, init); | ^~~~~~~~~~~ make: *** [bindings.target.mk:128: Release/obj.target/bindings/src/serialport.o] Fehler 1 make: Verzeichnis „/home/mark/OpenBuilds-CONTROL/node_modules/@serialport/bindings/build“ wird verlassen ⨯ node-gyp failed to rebuild '/home/mark/OpenBuilds-CONTROL/node_modules/@serialport/bindings'. For more information, rerun with the DEBUG environment variable set to "electron-rebuild". Error: `make` failed with exit code: 2 failedTask=installAppDeps stackTrace=Error: node-gyp failed to rebuild '/home/mark/OpenBuilds-CONTROL/node_modules/@serialport/bindings'. For more information, rerun with the DEBUG environment variable set to "electron-rebuild". Error: `make` failed with exit code: 2 at NodeGyp.rebuildModule (/home/mark/OpenBuilds-CONTROL/node_modules/@electron/rebuild/src/module-type/node-gyp.ts:133:13) at processTicksAndRejections (node:internal/process/task_queues:95:5) at ModuleRebuilder.rebuildNodeGypModule (/home/mark/OpenBuilds-CONTROL/node_modules/@electron/rebuild/src/module-rebuilder.ts:93:5) at ModuleRebuilder.rebuild (/home/mark/OpenBuilds-CONTROL/node_modules/@electron/rebuild/src/module-rebuilder.ts:129:8) at Rebuilder.rebuildModuleAt (/home/mark/OpenBuilds-CONTROL/node_modules/@electron/rebuild/src/rebuild.ts:203:9) at Rebuilder.rebuild (/home/mark/OpenBuilds-CONTROL/node_modules/@electron/rebuild/src/rebuild.ts:158:9) at installOrRebuild (/home/mark/OpenBuilds-CONTROL/node_modules/app-builder-lib/src/util/yarn.ts:29:5) at installAppDeps (/home/mark/OpenBuilds-CONTROL/node_modules/electron-builder/src/cli/install-app-deps.ts:59:3) npm ERR! code 1 npm ERR! path /home/mark/OpenBuilds-CONTROL npm ERR! command failed npm ERR! command sh -c electron-builder install-app-deps npm ERR! A complete log of this run can be found in: npm ERR! /home/mark/.npm/_logs/2023-03-16T16_02_46_773Z-debug-0.log (9/10) Recompiling OpenBuilds-CONTROL dependencies... npm ERR! code 1 npm ERR! path /home/mark/OpenBuilds-CONTROL npm ERR! command failed npm ERR! command sh -c electron-builder install-app-deps npm ERR! • electron-builder version=24.0.0 npm ERR! • loaded configuration file=package.json ("build" field) npm ERR! • executing @electron/rebuild appDir=/home/mark/OpenBuilds-CONTROL arch=armv7l npm ERR! • loaded configuration file=package.json ("build" field) npm ERR! make: Verzeichnis „/home/mark/OpenBuilds-CONTROL/node_modules/@serialport/bindings/build“ wird betreten npm ERR! CXX(target) Release/obj.target/bindings/src/serialport.o npm ERR! make: Verzeichnis „/home/mark/OpenBuilds-CONTROL/node_modules/@serialport/bindings/build“ wird verlassen npm ERR! ⨯ node-gyp failed to rebuild '/home/mark/OpenBuilds-CONTROL/node_modules/@serialport/bindings'. npm ERR! For more information, rerun with the DEBUG environment variable set to "electron-rebuild". npm ERR! npm ERR! Error: `make` failed with exit code: 2 npm ERR! npm ERR! failedTask=installAppDeps stackTrace=Error: node-gyp failed to rebuild '/home/mark/OpenBuilds-CONTROL/node_modules/@serialport/bindings'. npm ERR! For more information, rerun with the DEBUG environment variable set to "electron-rebuild". npm ERR! Error: `make` failed with exit code: 2 npm ERR! at NodeGyp.rebuildModule (/home/mark/OpenBuilds-CONTROL/node_modules/@electron/rebuild/src/module-type/node-gyp.ts:133:13) npm ERR! at processTicksAndRejections (node:internal/process/task_queues:95:5) npm ERR! at ModuleRebuilder.rebuildNodeGypModule (/home/mark/OpenBuilds-CONTROL/node_modules/@electron/rebuild/src/module-rebuilder.ts:93:5) npm ERR! at ModuleRebuilder.rebuild (/home/mark/OpenBuilds-CONTROL/node_modules/@electron/rebuild/src/module-rebuilder.ts:129:8) npm ERR! at Rebuilder.rebuildModuleAt (/home/mark/OpenBuilds-CONTROL/node_modules/@electron/rebuild/src/rebuild.ts:203:9) npm ERR! at Rebuilder.rebuild (/home/mark/OpenBuilds-CONTROL/node_modules/@electron/rebuild/src/rebuild.ts:158:9) npm ERR! at installOrRebuild (/home/mark/OpenBuilds-CONTROL/node_modules/app-builder-lib/src/util/yarn.ts:29:5) npm ERR! at installAppDeps (/home/mark/OpenBuilds-CONTROL/node_modules/electron-builder/src/cli/install-app-deps.ts:59:3) npm ERR! In file included from /home/mark/.electron-gyp/23.1.3/include/node/v8-local-handle.h:12, npm ERR! from /home/mark/.electron-gyp/23.1.3/include/node/v8-array-buffer.h:12, npm ERR! from /home/mark/.electron-gyp/23.1.3/include/node/v8.h:24, npm ERR! from /home/mark/.electron-gyp/23.1.3/include/node/node.h:79, npm ERR! from ../../../nan/nan.h:60, npm ERR! from ../src/./serialport.h:13, npm ERR! from ../src/serialport.cpp:1: npm ERR! /home/mark/.electron-gyp/23.1.3/include/node/v8-internal.h:124:59: warning: left shift count >= width of type [-Wshift-count-overflow] npm ERR! 124 | constexpr size_t kPtrComprCageReservationSize = size_t{1} << 32; npm ERR! | ~~~~~~~~~~^~~~~ npm ERR! /home/mark/.electron-gyp/23.1.3/include/node/v8-internal.h:124:59: error: right operand of shift expression ‘(1 << 32)’ is greater than or equal to the precision 32 of the left operand [-fpermissive] npm ERR! /home/mark/.electron-gyp/23.1.3/include/node/v8-internal.h:125:57: warning: left shift count >= width of type [-Wshift-count-overflow] npm ERR! 125 | constexpr size_t kPtrComprCageBaseAlignment = size_t{1} << 32; npm ERR! | ~~~~~~~~~~^~~~~ npm ERR! /home/mark/.electron-gyp/23.1.3/include/node/v8-internal.h:125:57: error: right operand of shift expression ‘(1 << 32)’ is greater than or equal to the precision 32 of the left operand [-fpermissive] npm ERR! /home/mark/.electron-gyp/23.1.3/include/node/v8-internal.h:128:27: error: static assertion failed: Pointer compression can be enabled only for 64-bit architectures npm ERR! 128 | kApiSystemPointerSize == kApiInt64Size, npm ERR! | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ npm ERR! /home/mark/.electron-gyp/23.1.3/include/node/v8-internal.h:186:38: warning: conversion from ‘long long unsigned int’ to ‘size_t’ {aka ‘unsigned int’} changes value from ‘1099511627776’ to ‘0’ [-Woverflow] npm ERR! 186 | constexpr size_t kSandboxSize = 1ULL << kSandboxSizeLog2; npm ERR! | ~~~~~^~~~~~~~~~~~~~~~~~~ npm ERR! /home/mark/.electron-gyp/23.1.3/include/node/v8-internal.h:204:50: warning: conversion from ‘long long unsigned int’ to ‘size_t’ {aka ‘unsigned int’} changes value from ‘34359738368’ to ‘0’ [-Woverflow] npm ERR! 204 | constexpr size_t kSandboxGuardRegionSize = 32ULL * GB; npm ERR! | ~~~~~~^~~~ npm ERR! /home/mark/.electron-gyp/23.1.3/include/node/v8-internal.h:206:61: error: non-constant condition for static assertion npm ERR! 206 | static_assert((kSandboxGuardRegionSize % kSandboxAlignment) == 0, npm ERR! | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~ npm ERR! /home/mark/.electron-gyp/23.1.3/include/node/v8-internal.h:220:56: warning: conversion from ‘long long unsigned int’ to ‘size_t’ {aka ‘unsigned int’} changes value from ‘8589934592’ to ‘0’ [-Woverflow] npm ERR! 220 | constexpr size_t kSandboxMinimumReservationSize = 8ULL * GB; npm ERR! | ~~~~~^~~~ npm ERR! /home/mark/.electron-gyp/23.1.3/include/node/v8-internal.h:222:46: error: non-constant condition for static assertion npm ERR! 222 | static_assert(kSandboxMinimumReservationSize > kPtrComprCageReservationSize, npm ERR! | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ npm ERR! /home/mark/.electron-gyp/23.1.3/include/node/v8-internal.h:230:60: warning: conversion from ‘long long unsigned int’ to ‘size_t’ {aka ‘unsigned int’} changes value from ‘34359738367’ to ‘4294967295’ [-Woverflow] npm ERR! 230 | constexpr size_t kMaxSafeBufferSizeForSandbox = 32ULL * GB - 1; npm ERR! | ~~~~~~~~~~~^~~ npm ERR! /home/mark/.electron-gyp/23.1.3/include/node/v8-internal.h:231:44: error: static assertion failed: The maximum allowed buffer size must not be larger than the sandbox's guard regions npm ERR! 231 | static_assert(kMaxSafeBufferSizeForSandbox <= kSandboxGuardRegionSize, npm ERR! | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ npm ERR! /home/mark/.electron-gyp/23.1.3/include/node/v8-internal.h:236:48: error: static assertion failed: The maximum size of a BoundedSize must be synchronized with the kMaxSafeBufferSizeForSandbox npm ERR! 236 | static_assert(1ULL << (64 - kBoundedSizeShift) == npm ERR! | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ npm ERR! 237 | kMaxSafeBufferSizeForSandbox + 1, npm ERR! | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ npm ERR! /home/mark/.electron-gyp/23.1.3/include/node/v8-internal.h:260:56: error: static assertion failed: kExternalPointerTableReservationSize and kExternalPointerIndexShift don't match npm ERR! 260 | static_assert((1 << (32 - kExternalPointerIndexShift)) == kMaxExternalPointers, npm ERR! | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ npm ERR! In file included from /home/mark/.electron-gyp/23.1.3/include/node/v8-object.h:10, npm ERR! from /home/mark/.electron-gyp/23.1.3/include/node/v8-array-buffer.h:13, npm ERR! from /home/mark/.electron-gyp/23.1.3/include/node/v8.h:24, npm ERR! from /home/mark/.electron-gyp/23.1.3/include/node/node.h:79, npm ERR! from ../../../nan/nan.h:60, npm ERR! from ../src/./serialport.h:13, npm ERR! from ../src/serialport.cpp:1: npm ERR! /home/mark/.electron-gyp/23.1.3/include/node/v8-persistent-handle.h:256:44: warning: ‘template<class T> struct v8::CopyablePersistentTraits’ is deprecated: Use v8::Global instead [-Wdeprecated-declarations] npm ERR! 256 | using CopyablePersistent = Persistent<T, CopyablePersistentTraits<T>>; npm ERR! | ^~~~~~~~~~~~~~~~~~~~~~~~ npm ERR! /home/mark/.electron-gyp/23.1.3/include/node/v8-persistent-handle.h:255:48: note: declared here npm ERR! 255 | struct V8_DEPRECATED("Use v8::Global instead") CopyablePersistentTraits { npm ERR! | ^~~~~~~~~~~~~~~~~~~~~~~~ npm ERR! In file included from ../src/./serialport.h:13, npm ERR! from ../src/serialport.cpp:1: npm ERR! ../../../nan/nan.h:206:16: warning: ‘template<class T> struct v8::CopyablePersistentTraits’ is deprecated: Use v8::Global instead [-Wdeprecated-declarations] npm ERR! 206 | public v8::CopyablePersistentTraits<T> {}; npm ERR! | ^~~~~~~~~~~~~~~~~~~~~~~~ npm ERR! In file included from /home/mark/.electron-gyp/23.1.3/include/node/v8-object.h:10, npm ERR! from /home/mark/.electron-gyp/23.1.3/include/node/v8-array-buffer.h:13, npm ERR! from /home/mark/.electron-gyp/23.1.3/include/node/v8.h:24, npm ERR! from /home/mark/.electron-gyp/23.1.3/include/node/node.h:79, npm ERR! from ../../../nan/nan.h:60, npm ERR! from ../src/./serialport.h:13, npm ERR! from ../src/serialport.cpp:1: npm ERR! /home/mark/.electron-gyp/23.1.3/include/node/v8-persistent-handle.h:255:48: note: declared here npm ERR! 255 | struct V8_DEPRECATED("Use v8::Global instead") CopyablePersistentTraits { npm ERR! | ^~~~~~~~~~~~~~~~~~~~~~~~ npm ERR! ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Open(Nan::NAN_METHOD_ARGS_TYPE)’: npm ERR! ../src/serialport.cpp:78:51: 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] npm ERR! 78 | uv_queue_work(uv_default_loop(), req, EIO_Open, (uv_after_work_cb)EIO_AfterOpen); npm ERR! | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ npm ERR! ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Update(Nan::NAN_METHOD_ARGS_TYPE)’: npm ERR! ../src/serialport.cpp:135:53: 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] npm ERR! 135 | uv_queue_work(uv_default_loop(), req, EIO_Update, (uv_after_work_cb)EIO_AfterUpdate); npm ERR! | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ npm ERR! ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Close(Nan::NAN_METHOD_ARGS_TYPE)’: npm ERR! ../src/serialport.cpp:175:52: 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] npm ERR! 175 | uv_queue_work(uv_default_loop(), req, EIO_Close, (uv_after_work_cb)EIO_AfterClose); npm ERR! | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ npm ERR! ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Flush(Nan::NAN_METHOD_ARGS_TYPE)’: npm ERR! ../src/serialport.cpp:215:52: 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] npm ERR! 215 | uv_queue_work(uv_default_loop(), req, EIO_Flush, (uv_after_work_cb)EIO_AfterFlush); npm ERR! | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ npm ERR! ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Set(Nan::NAN_METHOD_ARGS_TYPE)’: npm ERR! ../src/serialport.cpp:271:50: 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] npm ERR! 271 | uv_queue_work(uv_default_loop(), req, EIO_Set, (uv_after_work_cb)EIO_AfterSet); npm ERR! | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ npm ERR! ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Get(Nan::NAN_METHOD_ARGS_TYPE)’: npm ERR! ../src/serialport.cpp:316:50: 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] npm ERR! 316 | uv_queue_work(uv_default_loop(), req, EIO_Get, (uv_after_work_cb)EIO_AfterGet); npm ERR! | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ npm ERR! ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE GetBaudRate(Nan::NAN_METHOD_ARGS_TYPE)’: npm ERR! ../src/serialport.cpp:366:58: 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] npm ERR! 366 | uv_queue_work(uv_default_loop(), req, EIO_GetBaudRate, (uv_after_work_cb)EIO_AfterGetBaudRate); npm ERR! | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ npm ERR! ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Drain(Nan::NAN_METHOD_ARGS_TYPE)’: npm ERR! ../src/serialport.cpp:412:52: 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] npm ERR! 412 | uv_queue_work(uv_default_loop(), req, EIO_Drain, (uv_after_work_cb)EIO_AfterDrain); npm ERR! | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ npm ERR! ../src/serialport.cpp: At global scope: npm ERR! ../src/serialport.cpp:433:28: warning: unnecessary parentheses in declaration of ‘ToParityEnum’ [-Wparentheses] npm ERR! 433 | SerialPortParity NAN_INLINE(ToParityEnum(const v8::Local<v8::String>& v8str)) { npm ERR! | ^ npm ERR! ../src/serialport.cpp:452:30: warning: unnecessary parentheses in declaration of ‘ToStopBitEnum’ [-Wparentheses] npm ERR! 452 | SerialPortStopBits NAN_INLINE(ToStopBitEnum(double stopBits)) { npm ERR! | ^ npm ERR! In file included from ../../../nan/nan.h:60, npm ERR! from ../src/./serialport.h:13, npm ERR! from ../src/serialport.cpp:1: npm ERR! /home/mark/.electron-gyp/23.1.3/include/node/node.h:991:7: 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] npm ERR! 991 | (node::addon_register_func) (regfunc), \ npm ERR! | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ npm ERR! /home/mark/.electron-gyp/23.1.3/include/node/node.h:1025:3: note: in expansion of macro ‘NODE_MODULE_X’ npm ERR! 1025 | NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) npm ERR! | ^~~~~~~~~~~~~ npm ERR! ../src/serialport.cpp:486:1: note: in expansion of macro ‘NODE_MODULE’ npm ERR! 486 | NODE_MODULE(serialport, init); npm ERR! | ^~~~~~~~~~~ npm ERR! make: *** [bindings.target.mk:128: Release/obj.target/bindings/src/serialport.o] Fehler 1 npm ERR! A complete log of this run can be found in: npm ERR! /home/mark/.npm/_logs/2023-03-16T16_23_45_151Z-debug-0.log npm WARN skipping integrity check for git dependency ssh://[email protected]/noopkat/browser-serialport.git changed 1 package, and audited 556 packages in 6s 81 packages are looking for funding run `npm fund` for details found 0 vulnerabilities ⠴ Building module: bindings, Completed: 0make: Verzeichnis „/home/mark/OpenBuilds-CONTROL/node_modules/@serialport/bindings/build“ wird betreten CXX(target) Release/obj.target/bindings/src/serialport.o ⠦ Building module: bindings, Completed: 0In file included from /home/mark/.electron-gyp/23.1.3/include/node/v8-object.h:10, from /home/mark/.electron-gyp/23.1.3/include/node/v8-array-buffer.h:13, from /home/mark/.electron-gyp/23.1.3/include/node/v8.h:24, from /home/mark/.electron-gyp/23.1.3/include/node/node.h:79, from ../../../nan/nan.h:60, from ../src/./serialport.h:13, from ../src/serialport.cpp:1: /home/mark/.electron-gyp/23.1.3/include/node/v8-persistent-handle.h:256:44: warning: ‘template<class T> struct v8::CopyablePersistentTraits’ is deprecated: Use v8::Global instead [-Wdeprecated-declarations] 256 | using CopyablePersistent = Persistent<T, CopyablePersistentTraits<T>>; | ^~~~~~~~~~~~~~~~~~~~~~~~ /home/mark/.electron-gyp/23.1.3/include/node/v8-persistent-handle.h:255:48: note: declared here 255 | struct V8_DEPRECATED("Use v8::Global instead") CopyablePersistentTraits { | ^~~~~~~~~~~~~~~~~~~~~~~~ ⠦ Building module: bindings, Completed: 0In file included from ../src/./serialport.h:13, from ../src/serialport.cpp:1: ../../../nan/nan.h:206:16: warning: ‘template<class T> struct v8::CopyablePersistentTraits’ is deprecated: Use v8::Global instead [-Wdeprecated-declarations] 206 | public v8::CopyablePersistentTraits<T> {}; | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/mark/.electron-gyp/23.1.3/include/node/v8-object.h:10, from /home/mark/.electron-gyp/23.1.3/include/node/v8-array-buffer.h:13, from /home/mark/.electron-gyp/23.1.3/include/node/v8.h:24, from /home/mark/.electron-gyp/23.1.3/include/node/node.h:79, from ../../../nan/nan.h:60, from ../src/./serialport.h:13, from ../src/serialport.cpp:1: /home/mark/.electron-gyp/23.1.3/include/node/v8-persistent-handle.h:255:48: note: declared here 255 | struct V8_DEPRECATED("Use v8::Global instead") CopyablePersistentTraits { | ^~~~~~~~~~~~~~~~~~~~~~~~ ⠏ Building module: bindings, Completed: 0../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Open(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/serialport.cpp:78:51: 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); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Update(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/serialport.cpp:135:53: 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:52: 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:52: 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:271:50: 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] 271 | 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:316:50: 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] 316 | 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:366:58: 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] 366 | 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:412:52: 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] 412 | uv_queue_work(uv_default_loop(), req, EIO_Drain, (uv_after_work_cb)EIO_AfterDrain); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/serialport.cpp: At global scope: ../src/serialport.cpp:433:28: warning: unnecessary parentheses in declaration of ‘ToParityEnum’ [-Wparentheses] 433 | SerialPortParity NAN_INLINE(ToParityEnum(const v8::Local<v8::String>& v8str)) { | ^ ../src/serialport.cpp:452:30: warning: unnecessary parentheses in declaration of ‘ToStopBitEnum’ [-Wparentheses] 452 | SerialPortStopBits NAN_INLINE(ToStopBitEnum(double stopBits)) { | ^ In file included from ../../../nan/nan.h:60, from ../src/./serialport.h:13, from ../src/serialport.cpp:1: /home/mark/.electron-gyp/23.1.3/include/node/node.h:991:7: 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] 991 | (node::addon_register_func) (regfunc), \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/mark/.electron-gyp/23.1.3/include/node/node.h:1025:3: note: in expansion of macro ‘NODE_MODULE_X’ 1025 | NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) | ^~~~~~~~~~~~~ ../src/serialport.cpp:486:1: note: in expansion of macro ‘NODE_MODULE’ 486 | NODE_MODULE(serialport, init); | ^~~~~~~~~~~ ⠴ Building module: bindings, Completed: 0 CXX(target) Release/obj.target/bindings/src/serialport_unix.o ⠦ Building module: bindings, Completed: 0In file included from /home/mark/.electron-gyp/23.1.3/include/node/v8-object.h:10, from /home/mark/.electron-gyp/23.1.3/include/node/v8-array-buffer.h:13, from /home/mark/.electron-gyp/23.1.3/include/node/v8.h:24, from /home/mark/.electron-gyp/23.1.3/include/node/node.h:79, from ../../../nan/nan.h:60, from ../src/serialport.h:13, from ../src/serialport_unix.cpp:2: /home/mark/.electron-gyp/23.1.3/include/node/v8-persistent-handle.h:256:44: warning: ‘template<class T> struct v8::CopyablePersistentTraits’ is deprecated: Use v8::Global instead [-Wdeprecated-declarations] 256 | using CopyablePersistent = Persistent<T, CopyablePersistentTraits<T>>; | ^~~~~~~~~~~~~~~~~~~~~~~~ /home/mark/.electron-gyp/23.1.3/include/node/v8-persistent-handle.h:255:48: note: declared here 255 | struct V8_DEPRECATED("Use v8::Global instead") CopyablePersistentTraits { | ^~~~~~~~~~~~~~~~~~~~~~~~ ⠦ Building module: bindings, Completed: 0In file included from ../src/serialport.h:13, from ../src/serialport_unix.cpp:2: ../../../nan/nan.h:206:16: warning: ‘template<class T> struct v8::CopyablePersistentTraits’ is deprecated: Use v8::Global instead [-Wdeprecated-declarations] 206 | public v8::CopyablePersistentTraits<T> {}; | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/mark/.electron-gyp/23.1.3/include/node/v8-object.h:10, from /home/mark/.electron-gyp/23.1.3/include/node/v8-array-buffer.h:13, from /home/mark/.electron-gyp/23.1.3/include/node/v8.h:24, from /home/mark/.electron-gyp/23.1.3/include/node/node.h:79, from ../../../nan/nan.h:60, from ../src/serialport.h:13, from ../src/serialport_unix.cpp:2: /home/mark/.electron-gyp/23.1.3/include/node/v8-persistent-handle.h:255:48: note: declared here 255 | struct V8_DEPRECATED("Use v8::Global instead") CopyablePersistentTraits { | ^~~~~~~~~~~~~~~~~~~~~~~~ ⠼ Building module: bindings, Completed: 0../src/serialport_unix.cpp: In function ‘int setup(int, OpenBaton*)’: ../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=] 179 | snprintf(data->errorString, sizeof(data->errorString), "Error %s Cannot open %s", strerror(errno), data->path); | ^~ ../src/serialport_unix.cpp:179:13: note: ‘snprintf’ output 20 or more bytes (assuming 1043) into a destination of size 1024 179 | snprintf(data->errorString, sizeof(data->errorString), "Error %s Cannot open %s", strerror(errno), data->path); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/serialport_unix.cpp: In function ‘void EIO_Open(uv_work_t*)’: ../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=] 89 | snprintf(data->errorString, sizeof(data->errorString), "Error: %s, cannot open %s", strerror(errno), data->path); | ^~ ../src/serialport_unix.cpp:89:13: note: ‘snprintf’ output 22 or more bytes (assuming 1045) into a destination of size 1024 89 | snprintf(data->errorString, sizeof(data->errorString), "Error: %s, cannot open %s", strerror(errno), data->path); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ⠦ Building module: bindings, Completed: 0 CXX(target) Release/obj.target/bindings/src/poller.o ⠧ Building module: bindings, Completed: 0In file included from /home/mark/.electron-gyp/23.1.3/include/node/v8-object.h:10, from /home/mark/.electron-gyp/23.1.3/include/node/v8-array-buffer.h:13, from /home/mark/.electron-gyp/23.1.3/include/node/v8.h:24, from /home/mark/.electron-gyp/23.1.3/include/node/node.h:79, from ../../../nan/nan.h:60, from ../src/poller.cpp:1: /home/mark/.electron-gyp/23.1.3/include/node/v8-persistent-handle.h:256:44: warning: ‘template<class T> struct v8::CopyablePersistentTraits’ is deprecated: Use v8::Global instead [-Wdeprecated-declarations] 256 | using CopyablePersistent = Persistent<T, CopyablePersistentTraits<T>>; | ^~~~~~~~~~~~~~~~~~~~~~~~ /home/mark/.electron-gyp/23.1.3/include/node/v8-persistent-handle.h:255:48: note: declared here 255 | struct V8_DEPRECATED("Use v8::Global instead") CopyablePersistentTraits { | ^~~~~~~~~~~~~~~~~~~~~~~~ ⠧ Building module: bindings, Completed: 0In file included from ../src/poller.cpp:1: ../../../nan/nan.h:206:16: warning: ‘template<class T> struct v8::CopyablePersistentTraits’ is deprecated: Use v8::Global instead [-Wdeprecated-declarations] 206 | public v8::CopyablePersistentTraits<T> {}; | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/mark/.electron-gyp/23.1.3/include/node/v8-object.h:10, from /home/mark/.electron-gyp/23.1.3/include/node/v8-array-buffer.h:13, from /home/mark/.electron-gyp/23.1.3/include/node/v8.h:24, from /home/mark/.electron-gyp/23.1.3/include/node/node.h:79, from ../../../nan/nan.h:60, from ../src/poller.cpp:1: /home/mark/.electron-gyp/23.1.3/include/node/v8-persistent-handle.h:255:48: note: declared here 255 | struct V8_DEPRECATED("Use v8::Global instead") CopyablePersistentTraits { | ^~~~~~~~~~~~~~~~~~~~~~~~ ⠦ Building module: bindings, Completed: 0 CXX(target) Release/obj.target/bindings/src/serialport_linux.o ⠙ Building module: bindings, Completed: 0 SOLINK_MODULE(target) Release/obj.target/bindings.node ⠴ Building module: bindings, Completed: 0 COPY Release/bindings.node make: Verzeichnis „/home/mark/OpenBuilds-CONTROL/node_modules/@serialport/bindings/build“ wird verlassen ✔ Rebuild Complete (10/10) Creating Menu and Desktop Shortcuts... mark@raspberrypi:~ $ curl -sL https://raw.githubusercontent.com/OpenBuilds/OpenBuilds-CONTROL/master/pi-install.sh | bash -curl -sL https://raw.githubusercontent.com/OpenBuilds/OpenBuilds-CONTROL/master/pi-install.sh | bash -curl -sL https://raw.githubusercontent.com/OpenBuilds/OpenBuilds-CONTROL/master/pi-install.sh | bash -curl -sL https://raw.githubusercontent.com/OpenBuilds/OpenBuilds-CONTROL/master/pi-install.sh | bash -curl -sL https://raw.githubusercontent.com/OpenBuilds/OpenBuilds-CONTROL/master/pi-install.sh | bash -curl -sL https://raw.githubusercontent.com/OpenBuilds/OpenBuilds-CONTROL/master/pi-install.sh | bash -curl -sL https://raw.githubusercontent.com/OpenBuilds/OpenBuilds-CONTROL/master/pi-install.sh | bash -curl -sL https://raw.githubusercontent.com/OpenBuilds/OpenBuilds-CONTROL/master/pi-install.sh | bash -curl -sL https://raw.githubusercontent.com/OpenBuilds/OpenBuilds-CONTROL/master/pi-install.sh | bash -curl -sL https://raw.githubusercontent.com/OpenBuilds/OpenBuilds-CONTROL/master/pi-install.sh | bash -curl -sL https://raw.githubusercontent.com/OpenBuilds/OpenBuilds-CONTROL/master/pi-install.sh | bash -curl -sL https://raw.githubusercontent.com/OpenBuilds/OpenBuilds-CONTROL/master/pi-install.sh | bash -curl -sL https://raw.githubusercontent.com/OpenBuilds/OpenBuilds-CONTROL/master/pi-install.sh | bash -openbuilds installing on Pi4openbuilds installing on Pi4openbuilds installing on Pi4TROL/master/pi-install.sh | bash -curl ntent.com/OpenBuilds/OpenBuilds-CONTROL/master/pi-install.sh | bash -curl -sL https://raw.githubus
This is as a note for myself and anybody else that might run into the same problem. I ran into an issue during the install process on my Pi 4 regarding the serialport module; Error: No native build was found for platform=linux arch=arm... This was due to no prebuilt binary available for the pi and the npm install process not building it for some reason. I fixed it by doing the following: sudo npm install -g node-gyp node-pre-gyp cd node_modules/@serialport/bindings-cpp sudo node-gyp configure build After this CONTROL opes as expected. Source: Can't install on Raspberry Pi 4 · Issue #2534 · serialport/node-serialport
I ran into this same issue while working on another project today. This saved me so much time. Thanks for posting this!
I am in the middle of collecting parts to run build a CNC plasma table using JD's Garage plans and I was looking for a low-cost, low maintenance computer setup for open builds and I happened to come across this. I was wondering if anybody has tried to run this on a Raspberry Pi 5 with 8gb of ram? I have several Raspberry Pi 3s and 4s I plan on testing this with, I'm just curious to try it out on a Raspberry Pi 5.
I run openbuilds control and lightburn on a cheep Windows 10 desktop computers, with a touch screen you could use the RPI instead of the windows system Here is my setup, I have 3 setups, one for each of my CNC I mount the touch screen right on the machine table Amazon.com Amazon.com Amazon.com Amazon.com
Before running black boxes I was running one with a Protoneer CNC board with external drivers. I originally used a 3B+ and it was marginal on running with the UI so I just connected remotely which was all I was looking for at that time. I didn't try a 4 but did go with a 5 when it released and it is very usable with the UI but I did go with an cheap SSD drive instead of the SD card. I had minimal if any issues getting it all installed and did some air cut testing but yet to find time to run it on one of my machines 8^(