Read the statement by Michael Teeuw here.
electron-rebuild problems with MagicMirror 2.22.0
-
@karsten13 yeh, haven’t tested on arm64 on pi for a while.
but its still an npm problem if it doesn’t run the postinstall
flashing image now
worked fine
pi@raspberrypi:~/MagicMirror/modules $ uname -a Linux raspberrypi 5.15.61-v8+ #1579 SMP PREEMPT Fri Aug 26 11:16:44 BST 2022 aarch64 GNU/Linux pi@raspberrypi:~/MagicMirror/modules $ node -v v16.19.0 pi@raspberrypi:~/MagicMirror/modules $ npm -v 8.19.3 pi@raspberrypi:~/MagicMirror/modules $ git clone https://github.com/sdetweil/MMM-Buttons.git Cloning into 'MMM-Buttons'... remote: Enumerating objects: 56, done. remote: Counting objects: 100% (4/4), done. remote: Compressing objects: 100% (4/4), done. remote: Total 56 (delta 0), reused 2 (delta 0), pack-reused 52 Receiving objects: 100% (56/56), 11.86 KiB | 3.95 MiB/s, done. Resolving deltas: 100% (25/25), done. pi@raspberrypi:~/MagicMirror/modules $ cd MMM-Buttons/ pi@raspberrypi:~/MagicMirror/modules/MMM-Buttons $ npm install --omit=dev --no-audit --no-fund > Magic-Mirror-Module-Buttons@1.0.0 postinstall > ./postinstall /home/pi/MagicMirror/modules/MMM-Buttons ⠙ Building module: epoll, Completed: 0make: Entering directory '/home/pi/MagicMirror/modules/MMM-Buttons/node_modules/epoll/build' CXX(target) Release/obj.target/epoll/src/epoll.o ⠸ Building module: epoll, Completed: 0 SOLINK_MODULE(target) Release/obj.target/epoll.node ⠧ Building module: epoll, Completed: 0 COPY Release/epoll.node make: Leaving directory '/home/pi/MagicMirror/modules/MMM-Buttons/node_modules/epoll/build' ✔ Rebuild Complete added 6 packages in 2m pi@raspberrypi:~/MagicMirror/modules/MMM-Buttons $
-
@sdetweil Sorry, had no Internet connection for a few hours.
The version of my GPIO module in the development branch uses the postinstall script and there is where the error happens.
It is a Raspberry 4 in my case with 32bit Bullseye.
It is
npm 9.2.0
node 16.19.0
arch armv7l
in my case. -
@wishmaster270 hm, I modified your module and it works fine… will check your branch
I just copy the postinstall script and change package.json
intel x86-64 ok
base) sam@sams:~/MagicMirror/modules/MMM-GPIO-Notifications$ git checkout development branch 'development' set up to track 'origin/development'. Switched to a new branch 'development' (base) sam@sams:~/MagicMirror/modules/MMM-GPIO-Notifications$ ls examples LICENSE MMM-GPIO-Notifications.js node_helper.js package.json postinstall README.md (base) sam@sams:~/MagicMirror/modules/MMM-GPIO-Notifications$ nano package.json (base) sam@sams:~/MagicMirror/modules/MMM-GPIO-Notifications$ npm install --omit=dev --no-audit --no-fund > MMM-GPIO-Notifications@0.0.6 postinstall > ./postinstall /home/sam/MagicMirror/modules/MMM-GPIO-Notifications ⠧ Building module: epoll, Completed: 0make: Entering directory '/home/sam/MagicMirror/modules/MMM-GPIO-Notifications/node_modules/epoll/build' CXX(target) Release/obj.target/epoll/src/epoll.o ⠇ Building module: epoll, Completed: 0 SOLINK_MODULE(target) Release/obj.target/epoll.node COPY Release/epoll.node make: Leaving directory '/home/sam/MagicMirror/modules/MMM-GPIO-Notifications/node_modules/epoll/build' ✔ Rebuild Complete added 6 packages in 10s
pi 64 aarch64 ok
(base) sam@sams:~/MagicMirror/modules/MMM-GPIO-Notifications$ ssh pi@192.168.2.44 pi@192.168.2.44's password: Linux raspberrypi 5.15.61-v8+ #1579 SMP PREEMPT Fri Aug 26 11:16:44 BST 2022 aarch64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Fri Jan 6 14:10:59 2023 from 192.168.2.106 pi@raspberrypi:~ $ pm2 stop all [PM2] Applying action stopProcessId on app [all](ids: [ 0 ]) [PM2] [MagicMirror](0) ✓ ┌────┬────────────────────┬──────────┬──────┬───────────┬──────────┬──────────┐ │ id │ name │ mode │ ↺ │ status │ cpu │ memory │ ├────┼────────────────────┼──────────┼──────┼───────────┼──────────┼──────────┤ │ 0 │ MagicMirror │ fork │ 0 │ stopped │ 0% │ 0b │ └────┴────────────────────┴──────────┴──────┴───────────┴──────────┴──────────┘ pi@raspberrypi:~ $ cd MagicMirror/modules pi@raspberrypi:~/MagicMirror/modules $ git clone https://github.com/Tom-Hirschberger/MMM-GPIO-Notifications.git Cloning into 'MMM-GPIO-Notifications'... remote: Enumerating objects: 159, done. remote: Counting objects: 100% (42/42), done. remote: Compressing objects: 100% (34/34), done. remote: Total 159 (delta 17), reused 22 (delta 8), pack-reused 117 Receiving objects: 100% (159/159), 744.45 KiB | 3.48 MiB/s, done. Resolving deltas: 100% (74/74), done. pi@raspberrypi:~/MagicMirror/modules $ cd MMM-GPIO-Notifications/ pi@raspberrypi:~/MagicMirror/modules/MMM-GPIO-Notifications $ git checkout development Branch 'development' set up to track remote branch 'development' from 'origin'. Switched to a new branch 'development' pi@raspberrypi:~/MagicMirror/modules/MMM-GPIO-Notifications $ npm install --omit=dev --no-audit --no-fund > MMM-GPIO-Notifications@0.0.6 postinstall > ./postinstall ⠋ Building module: epoll, Completed: 0make: Entering directory '/home/pi/MagicMirror/modules/MMM-GPIO-Notifications/node_modules/epoll/build' CXX(target) Release/obj.target/epoll/src/epoll.o ⠹ Building module: epoll, Completed: 0 SOLINK_MODULE(target) Release/obj.target/epoll.node ⠦ Building module: epoll, Completed: 0 COPY Release/epoll.node make: Leaving directory '/home/pi/MagicMirror/modules/MMM-GPIO-Notifications/node_modules/epoll/build' ✔ Rebuild Complete added 6 packages in 15s pi@raspberrypi:~/MagicMirror/modules/MMM-GPIO-Notifications $ exit
pi 32bit buster ok
pi@raspberrypi42:~ $ cd MagicMirror/modules/ pi@raspberrypi42:~/MagicMirror/modules $ git clone https://github.com/Tom-Hirschberger/MMM-GPIO-Notifications.git Cloning into 'MMM-GPIO-Notifications'... remote: Enumerating objects: 159, done. remote: Counting objects: 100% (42/42), done. remote: Compressing objects: 100% (34/34), done. remote: Total 159 (delta 17), reused 22 (delta 8), pack-reused 117 Receiving objects: 100% (159/159), 744.45 KiB | 73.00 KiB/s, done. Resolving deltas: 100% (74/74), done. pi@raspberrypi42:~/MagicMirror/modules $ cd MMM-GPIO-Notifications/ pi@raspberrypi42:~/MagicMirror/modules/MMM-GPIO-Notifications $ git checkout develoment error: pathspec 'develoment' did not match any file(s) known to git pi@raspberrypi42:~/MagicMirror/modules/MMM-GPIO-Notifications $ git checkout development Branch 'development' set up to track remote branch 'development' from 'origin'. Switched to a new branch 'development' pi@raspberrypi42:~/MagicMirror/modules/MMM-GPIO-Notifications $ npm install --omit=dev --no-audit --no-fund > MMM-GPIO-Notifications@0.0.6 postinstall > ./postinstall ⠙ Building module: epoll, Completed: 0make: Entering directory '/home/pi/MagicMirror/modules/MMM-GPIO-Notifications/node_modules/epoll/build' CXX(target) Release/obj.target/epoll/src/epoll.o ⠙ Building module: epoll, Completed: 0 SOLINK_MODULE(target) Release/obj.target/epoll.node ⠼ Building module: epoll, Completed: 0 COPY Release/epoll.node make: Leaving directory '/home/pi/MagicMirror/modules/MMM-GPIO-Notifications/node_modules/epoll/build' ✔ Rebuild Complete added 6 packages in 14s pi@raspberrypi42:~/MagicMirror/modules/MMM-GPIO-Notifications $ lsb_release -a No LSB modules are available. Distributor ID: Raspbian Description: Raspbian GNU/Linux 10 (buster) Release: 10 Codename: buster
32 bit bullseye, ok
fribble@raspberrypi4:~ $ cd MagicMirror/modules/ fribble@raspberrypi4:~/MagicMirror/modules $ lsb_release -a No LSB modules are available. Distributor ID: Raspbian Description: Raspbian GNU/Linux 11 (bullseye) Release: 11 Codename: bullseye fribble@raspberrypi4:~/MagicMirror/modules $ git clone https://github.com/Tom-Hirschberger/MMM-GPIO-Notifications.git Cloning into 'MMM-GPIO-Notifications'... remote: Enumerating objects: 159, done. remote: Counting objects: 100% (42/42), done. remote: Compressing objects: 100% (34/34), done. remote: Total 159 (delta 17), reused 22 (delta 8), pack-reused 117 Receiving objects: 100% (159/159), 744.45 KiB | 3.26 MiB/s, done. Resolving deltas: 100% (74/74), done. fribble@raspberrypi4:~/MagicMirror/modules $ cd MMM-GPIO-Notifications/ fribble@raspberrypi4:~/MagicMirror/modules/MMM-GPIO-Notifications $ git checkout development Branch 'development' set up to track remote branch 'development' from 'origin'. Switched to a new branch 'development' fribble@raspberrypi4:~/MagicMirror/modules/MMM-GPIO-Notifications $ npm install --omit=dev --no-audit --no-fund > MMM-GPIO-Notifications@0.0.6 postinstall > ./postinstall ⠸ Building module: epoll, Completed: 0make: Entering directory '/home/fribble/MagicMirror/modules/MMM-GPIO-Notifications/node_modules/epoll/build' CXX(target) Release/obj.target/epoll/src/epoll.o ⠴ Building module: epoll, Completed: 0 SOLINK_MODULE(target) Release/obj.target/epoll.node ⠏ Building module: epoll, Completed: 0 COPY Release/epoll.node make: Leaving directory '/home/fribble/MagicMirror/modules/MMM-GPIO-Notifications/node_modules/epoll/build' ✔ Rebuild Complete added 6 packages in 21s
-
@wishmaster270 said in electron-rebuild problems with MagicMirror 2.22.0:
kApiSystemPointerSize == kApiInt64Size,
this looks like a compile header mismatch
make sure u delete the electron-rebuild if its in your module folder
AND the one in MagicMirror/node_modules in case there is a downlevel version,OR change the postinstall to always install it. vs checking if present and running the installed version…
-
Today i started a new approach and removed the “node_modules” folder of MagicMirror before the update to make sure no other electron-rebuild packages are installed.
As i do have a second electron app running on my mirror (TeleFrame) is stopped this application and removed the “/home/pi/.electron-gyp” folder to make sure everything is clean before the update.
I then did the update with your script and the “npm install” step of my MMM-GPIO-Notifications module fails.
I cloned your “MMM-Buttons” module and tried to install only this module but i get the same compile error. I enabled the DEBUG flag. Maybe you see something i do not see but it looks like the correct electron-rebuild version is used:
pi@mirror-eg:~/MagicMirror/modules/MMM-Buttons $ npm install > Magic-Mirror-Module-Buttons@1.0.0 postinstall > ./postinstall /home/pi/MagicMirror/modules/MMM-Buttons ⠋ Searching dependency tree electron-rebuild rebuilding with args: [Arguments] { '0': { buildPath: '/home/pi/MagicMirror/modules/MMM-Buttons', electronVersion: '22.0.0', arch: 'arm', extraModules: [], onlyModules: null, force: undefined, headerURL: undefined, types: [ 'prod', 'optional' ], mode: undefined, debug: undefined, prebuildTagPrefix: 'v', forceABI: undefined, useElectronClang: false, disablePreGypCopy: false, projectRootPath: '/home/pi/MagicMirror/modules/MMM-Buttons' } } +0ms electron-rebuild rebuilding with args: /home/pi/MagicMirror/modules/MMM-Buttons 22.0.0 arm Set(0) {} false https://www.electronjs.org/headers [ 'prod', 'optional' ] false +8ms electron-rebuild exploring /home/pi/MagicMirror/modules/MMM-Buttons/node_modules/onoff +0ms electron-rebuild exploring /home/pi/MagicMirror/modules/MMM-Buttons/node_modules/epoll +4ms electron-rebuild exploring /home/pi/MagicMirror/modules/MMM-Buttons/node_modules/lodash.debounce +1ms electron-rebuild exploring /home/pi/MagicMirror/modules/MMM-Buttons/node_modules/bindings +2ms electron-rebuild exploring /home/pi/MagicMirror/modules/MMM-Buttons/node_modules/nan +1ms electron-rebuild exploring /home/pi/MagicMirror/modules/MMM-Buttons/node_modules/file-uri-to-path +1ms electron-rebuild identified prod deps: Set(0) { onoff: true, epoll: true, 'lodash.debounce': true, bindings: true, nan: true, 'file-uri-to-path': true } +1ms electron-rebuild scanning: /home/pi/MagicMirror/modules/MMM-Buttons/node_modules +5ms electron-rebuild rebuilding epoll with args [ 'node', 'node-gyp', 'rebuild', '--runtime=electron', '--target=22.0.0', '--arch=arm', '--dist-url=https://www.electronjs.org/headers', '--build-from-source', '--verbose' ] +0ms gyp verb command rebuild [] gyp verb command clean [] gyp verb clean removing "build" directory ⠙ Building module: epoll, Completed: 0gyp verb command configure [] gyp verb download using dist-url https://www.electronjs.org/headers gyp verb find Python Python is not set from command line or npm configuration gyp verb find Python Python is not set from environment variable PYTHON gyp verb find Python checking if "python3" can be used gyp verb find Python - executing "python3" to get executable path ⠹ Building module: epoll, Completed: 0gyp verb find Python - executable path is "/usr/bin/python3" gyp verb find Python - executing "/usr/bin/python3" to get version ⠸ Building module: epoll, Completed: 0gyp verb find Python - version is "3.7.3" gyp info find Python using Python version 3.7.3 found at "/usr/bin/python3" gyp verb get node dir compiling against --target node version: 22.0.0 gyp verb command install [ '22.0.0' ] gyp verb download using dist-url https://www.electronjs.org/headers gyp verb install input version string "22.0.0" gyp verb install installing version: 22.0.0 gyp verb install --ensure was passed, so won't reinstall if already installed ⠼ Building module: epoll, Completed: 0gyp verb install version is already installed, need to check "installVersion" gyp verb got "installVersion" 9 gyp verb needs "installVersion" 9 gyp verb install version is good gyp verb get node dir target node version installed: 22.0.0 gyp verb build dir attempting to create "build" dir: /home/pi/MagicMirror/modules/MMM-Buttons/node_modules/epoll/build gyp verb build dir "build" dir needed to be created? Yes gyp verb python symlink creating symlink to "/usr/bin/python3" at "/home/pi/MagicMirror/modules/MMM-Buttons/node_modules/epoll/build/node_gyp_bins/python3" gyp verb build/config.gypi creating config file gyp verb build/config.gypi writing out config file: /home/pi/MagicMirror/modules/MMM-Buttons/node_modules/epoll/build/config.gypi gyp verb config.gypi checking for gypi file: /home/pi/MagicMirror/modules/MMM-Buttons/node_modules/epoll/config.gypi gyp verb common.gypi checking for gypi file: /home/pi/MagicMirror/modules/MMM-Buttons/node_modules/epoll/common.gypi gyp verb gyp gyp format was not specified; forcing "make" gyp info spawn /usr/bin/python3 gyp info spawn args [ gyp info spawn args '/home/pi/MagicMirror/node_modules/node-gyp/gyp/gyp_main.py', gyp info spawn args 'binding.gyp', gyp info spawn args '-f', gyp info spawn args 'make', gyp info spawn args '-I', gyp info spawn args '/home/pi/MagicMirror/modules/MMM-Buttons/node_modules/epoll/build/config.gypi', gyp info spawn args '-I', gyp info spawn args '/home/pi/MagicMirror/node_modules/node-gyp/addon.gypi', gyp info spawn args '-I', gyp info spawn args '/home/pi/.electron-gyp/22.0.0/include/node/common.gypi', gyp info spawn args '-Dlibrary=shared_library', gyp info spawn args '-Dvisibility=default', gyp info spawn args '-Dnode_root_dir=/home/pi/.electron-gyp/22.0.0', gyp info spawn args '-Dnode_gyp_dir=/home/pi/MagicMirror/node_modules/node-gyp', gyp info spawn args '-Dnode_lib_file=/home/pi/.electron-gyp/22.0.0/<(target_arch)/node.lib', gyp info spawn args '-Dmodule_root_dir=/home/pi/MagicMirror/modules/MMM-Buttons/node_modules/epoll', gyp info spawn args '-Dnode_engine=v8', gyp info spawn args '--depth=.', gyp info spawn args '--no-parallel', gyp info spawn args '--generator-output', gyp info spawn args 'build', gyp info spawn args '-Goutput_dir=.' gyp info spawn args ] ⠙ Building module: epoll, Completed: 0gyp verb command build [] gyp verb build type Release gyp verb architecture armv7l gyp verb node dev dir /home/pi/.electron-gyp/22.0.0 gyp verb `which` succeeded for `make` /usr/bin/make gyp verb bin symlinks adding symlinks (such as Python), at "/home/pi/MagicMirror/modules/MMM-Buttons/node_modules/epoll/build/node_gyp_bins", to PATH gyp info spawn make gyp info spawn args [ 'V=1', 'BUILDTYPE=Release', '-C', 'build' ] make: Verzeichnis „/home/pi/MagicMirror/modules/MMM-Buttons/node_modules/epoll/build“ wird betreten g++ -o Release/obj.target/epoll/src/epoll.o ../src/epoll.cc '-DNODE_GYP_MODULE_NAME=epoll' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DELECTRON_ENSURE_CONFIG_GYPI' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DUSING_ELECTRON_CONFIG_GYPI' '-DV8_COMPRESS_POINTERS' '-DV8_COMPRESS_POINTERS_IN_SHARED_CAGE' '-DV8_ENABLE_SANDBOX' '-DV8_31BIT_SMIS_ON_64BIT_ARCH' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-DBUILDING_NODE_EXTENSION' -I/home/pi/.electron-gyp/22.0.0/include/node -I/home/pi/.electron-gyp/22.0.0/src -I/home/pi/.electron-gyp/22.0.0/deps/openssl/config -I/home/pi/.electron-gyp/22.0.0/deps/openssl/openssl/include -I/home/pi/.electron-gyp/22.0.0/deps/uv/include -I/home/pi/.electron-gyp/22.0.0/deps/zlib -I/home/pi/.electron-gyp/22.0.0/deps/v8/include -I../../nan -fPIC -pthread -Wall -Wextra -Wno-unused-parameter -Wno-deprecated-declarations -Wno-cast-function-type -O3 -fno-omit-frame-pointer -fno-rtti -fno-exceptions -std=gnu++17 -MMD -MF ./Release/.deps/Release/obj.target/epoll/src/epoll.o.d.raw -std=c++17 -c ⠴ Building module: epoll, Completed: 0In file included from /home/pi/.electron-gyp/22.0.0/include/node/v8-local-handle.h:12, from /home/pi/.electron-gyp/22.0.0/include/node/v8-array-buffer.h:12, from /home/pi/.electron-gyp/22.0.0/include/node/v8.h:24, from ../src/epoll.cc:11: /home/pi/.electron-gyp/22.0.0/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/22.0.0/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/22.0.0/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/22.0.0/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/22.0.0/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/22.0.0/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/22.0.0/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/22.0.0/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/22.0.0/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/22.0.0/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/22.0.0/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/22.0.0/include/node/v8-internal.h:260:56: error: static assertion failed: kExternalPointerTableReservationSize and kExternalPointerIndexShift don't match static_assert((1 << (32 - kExternalPointerIndexShift)) == kMaxExternalPointers, ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ ⠴ Building module: epoll, Completed: 0make: *** [epoll.target.mk:129: Release/obj.target/epoll/src/epoll.o] Fehler 1 make: Verzeichnis „/home/pi/MagicMirror/modules/MMM-Buttons/node_modules/epoll/build“ wird verlassen ✖ Rebuild Failed An unhandled error occurred inside electron-rebuild node-gyp failed to rebuild '/home/pi/MagicMirror/modules/MMM-Buttons/node_modules/epoll'. For more information, rerun with the DEBUG environment variable set to "electron-rebuild". Error: `make` failed with exit code: 2 Error: node-gyp failed to rebuild '/home/pi/MagicMirror/modules/MMM-Buttons/node_modules/epoll'. 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/MagicMirror/node_modules/electron-rebuild/lib/src/module-type/node-gyp.js:120:19) at processTicksAndRejections (node:internal/process/task_queues:96:5) at async ModuleRebuilder.rebuildNodeGypModule (/home/pi/MagicMirror/node_modules/electron-rebuild/lib/src/module-rebuilder.js:98:9) at async ModuleRebuilder.rebuild (/home/pi/MagicMirror/node_modules/electron-rebuild/lib/src/module-rebuilder.js:128:14) at async Rebuilder.rebuildModuleAt (/home/pi/MagicMirror/node_modules/electron-rebuild/lib/src/rebuild.js:149:13) at async Rebuilder.rebuild (/home/pi/MagicMirror/node_modules/electron-rebuild/lib/src/rebuild.js:112:17) at async /home/pi/MagicMirror/node_modules/electron-rebuild/lib/src/cli.js:158:9 npm ERR! code 255 npm ERR! path /home/pi/MagicMirror/modules/MMM-Buttons npm ERR! command failed npm ERR! command sh -c ./postinstall npm ERR! A complete log of this run can be found in: npm ERR! /home/pi/.npm/_logs/2023-01-07T11_55_30_111Z-debug-0.log
Edit: I will try to re-setup my mirror today to make sure no old things are messing up the installation but it will take a moment.
-
@sdetweil
New installation, new luck!
Everything works well now and i think if found the reason for the problems.As i wrote earlier i am running TeleFrame on the same Pi with MagicMirror. This time i installed TeleFrame manually instead of with the installer as i saw that the automatic installer of Teleframe installs a global version of Electron and adds architecture settings to the “.profile” file of the user.
-
@wishmaster270 cool. thx for feedback
don’t know Teleframe.
-
The problems on my machine are obviously of a different nature. I’ll investigate that later.
For the original issue it should be worth using
@electron/rebuild
instead ofmagicmirror-rebuild
orelectron-rebuild
. I tested it in a virtual machine and it works great. Here is my solution which is less invasive:
https://github.com/Tom-Hirschberger/MMM-GPIO-Notifications/pull/7What do you think?
-
@KristjanESPERANTO my postinstall script uses electron-rebuild
his development branch
-
Yes, but @electron/rebuild is the successor of electron-rebuild. And the “trick” in the postinstall script seems not necessary at all.