Read the statement by Michael Teeuw here.
electron-rebuild problems with MagicMirror 2.22.0
-
To me this looks like a problem with the
onoffpackage. Because if I removeonofffrom thepackage.json,npm iworks.onoffalso comes with the dependencyepoll, which appears a lot in the error messages.npm i onoffandnpm i epollproduce similar error messages. I think that’s where the main problem is. -
@KristjanESPERANTO the ‘problem’ is that the module installs electron-rebuild in its OWN MODULE folder, and it can no longer figure out what electron version it needs to build for…
the only ‘fix’ is to install electron-rebuild in the MM folder (we should just install it to begin with in my opinion)
and to launch THAT version of eb… -
@KristjanESPERANTO epoll binary is dependent on the Electron version.
no matter which lib drags it in … so you MUST run eb… to get it current…
see my prior post for the troubles…
NOBODY gives a crap about breaking changes anymore…
they all feel if you don’t update, then your code dies. and they don’t care… -
@sdetweil and it succeeded on pi4 w bullseye… I also tested with my
upgrade script and backup/restore
and both those executed and did rebuild on the modules… (using the postinstall script) -
node@raspberrypi:/opt/magic_mirror/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 | 1.69 MiB/s, done. Resolving deltas: 100% (25/25), done. node@raspberrypi:/opt/magic_mirror/modules$ cd MMM-Buttons/ node@raspberrypi:/opt/magic_mirror/modules/MMM-Buttons$ ls -la total 40 drwxr-xr-x 3 node node 4096 Jan 6 19:39 . drwxr-xr-x 5 node node 4096 Jan 6 19:39 .. drwxr-xr-x 8 node node 4096 Jan 6 19:39 .git -rw-r--r-- 1 node node 530 Jan 6 19:39 CHANGELOG.md -rw-r--r-- 1 node node 3416 Jan 6 19:39 MMM-Buttons.js -rw-r--r-- 1 node node 5725 Jan 6 19:39 README.md -rw-r--r-- 1 node node 2778 Jan 6 19:39 node_helper.js -rw-r--r-- 1 node node 693 Jan 6 19:39 package.json -rwxr-xr-x 1 node node 179 Jan 6 19:39 postinstall node@raspberrypi:/opt/magic_mirror/modules/MMM-Buttons$ npm install > Magic-Mirror-Module-Buttons@1.0.0 postinstall > ./postinstall /opt/magic_mirror/modules/MMM-Buttons ⠧ Building module: epoll, Completed: 0make: Entering directory '/opt/magic_mirror/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 '/opt/magic_mirror/modules/MMM-Buttons/node_modules/epoll/build' ✔ Rebuild Complete added 6 packages, and audited 7 packages in 2m found 0 vulnerabilities -
@karsten13 yep, looks good…
-
For me it looks like this:
kristjan@debian:~/Infomonitor/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 | 1.69 MiB/s, done. Resolving deltas: 100% (25/25), done. kristjan@debian:~/Infomonitor/MagicMirror/modules$ cd MMM-Buttons/ kristjan@debian:~/Infomonitor/MagicMirror/modules/MMM-Buttons$ npm install npm ERR! code 1 npm ERR! path /home/kristjan/Infomonitor/MagicMirror/modules/MMM-Buttons/node_modules/epoll npm ERR! command failed npm ERR! command sh -c -- node-gyp rebuild npm ERR! make: Entering directory '/home/kristjan/Infomonitor/MagicMirror/modules/MMM-Buttons/node_modules/epoll/build' npm ERR! CXX(target) Release/obj.target/epoll/src/epoll.o npm ERR! SOLINK_MODULE(target) Release/obj.target/epoll.node npm ERR! make: Leaving directory '/home/kristjan/Infomonitor/MagicMirror/modules/MMM-Buttons/node_modules/epoll/build' npm ERR! gyp info it worked if it ends with ok npm ERR! gyp info using node-gyp@9.3.1 npm ERR! gyp info using node@16.18.0 | linux | x64 npm ERR! gyp info find Python using Python version 3.9.2 found at "/usr/bin/python3" npm ERR! gyp info spawn /usr/bin/python3 npm ERR! gyp info spawn args [ npm ERR! gyp info spawn args '/home/kristjan/Infomonitor/MagicMirror/node_modules/node-gyp/gyp/gyp_main.py', npm ERR! gyp info spawn args 'binding.gyp', npm ERR! gyp info spawn args '-f', npm ERR! gyp info spawn args 'make', npm ERR! gyp info spawn args '-I', npm ERR! gyp info spawn args '/home/kristjan/Infomonitor/MagicMirror/modules/MMM-Buttons/node_modules/epoll/build/config.gypi', npm ERR! gyp info spawn args '-I', npm ERR! gyp info spawn args '/home/kristjan/Infomonitor/MagicMirror/node_modules/node-gyp/addon.gypi', npm ERR! gyp info spawn args '-I', npm ERR! gyp info spawn args '/home/kristjan/.cache/node-gyp/16.18.0/include/node/common.gypi', npm ERR! gyp info spawn args '-Dlibrary=shared_library', npm ERR! gyp info spawn args '-Dvisibility=default', npm ERR! gyp info spawn args '-Dnode_root_dir=/home/kristjan/.cache/node-gyp/16.18.0', npm ERR! gyp info spawn args '-Dnode_gyp_dir=/home/kristjan/Infomonitor/MagicMirror/node_modules/node-gyp', npm ERR! gyp info spawn args '-Dnode_lib_file=/home/kristjan/.cache/node-gyp/16.18.0/<(target_arch)/node.lib', npm ERR! gyp info spawn args '-Dmodule_root_dir=/home/kristjan/Infomonitor/MagicMirror/modules/MMM-Buttons/node_modules/epoll', npm ERR! gyp info spawn args '-Dnode_engine=v8', npm ERR! gyp info spawn args '--depth=.', npm ERR! gyp info spawn args '--no-parallel', npm ERR! gyp info spawn args '--generator-output', npm ERR! gyp info spawn args 'build', npm ERR! gyp info spawn args '-Goutput_dir=.' npm ERR! gyp info spawn args ] npm ERR! gyp info spawn make npm ERR! gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ] npm ERR! /usr/bin/ld: /lib/x86_64-linux-gnu/libm.so.6: unknown type [0x13] section `.relr.dyn' npm ERR! /usr/bin/ld: skipping incompatible /lib/x86_64-linux-gnu/libm.so.6 when searching for /lib/x86_64-linux-gnu/libm.so.6 npm ERR! /usr/bin/ld: cannot find /lib/x86_64-linux-gnu/libm.so.6 npm ERR! /usr/bin/ld: /lib/x86_64-linux-gnu/libm.so.6: unknown type [0x13] section `.relr.dyn' npm ERR! /usr/bin/ld: skipping incompatible /lib/x86_64-linux-gnu/libm.so.6 when searching for /lib/x86_64-linux-gnu/libm.so.6 npm ERR! /usr/bin/ld: /lib/x86_64-linux-gnu/libmvec.so.1: unknown type [0x13] section `.relr.dyn' npm ERR! /usr/bin/ld: skipping incompatible /lib/x86_64-linux-gnu/libmvec.so.1 when searching for /lib/x86_64-linux-gnu/libmvec.so.1 npm ERR! /usr/bin/ld: cannot find /lib/x86_64-linux-gnu/libmvec.so.1 npm ERR! /usr/bin/ld: /lib/x86_64-linux-gnu/libmvec.so.1: unknown type [0x13] section `.relr.dyn' npm ERR! /usr/bin/ld: skipping incompatible /lib/x86_64-linux-gnu/libmvec.so.1 when searching for /lib/x86_64-linux-gnu/libmvec.so.1 npm ERR! collect2: error: ld returned 1 exit status npm ERR! make: *** [epoll.target.mk:145: Release/obj.target/epoll.node] Error 1 npm ERR! gyp ERR! build error npm ERR! gyp ERR! stack Error: `make` failed with exit code: 2 npm ERR! gyp ERR! stack at ChildProcess.onExit (/home/kristjan/Infomonitor/MagicMirror/node_modules/node-gyp/lib/build.js:203:23) npm ERR! gyp ERR! stack at ChildProcess.emit (node:events:513:28) npm ERR! gyp ERR! stack at Process.ChildProcess._handle.onexit (node:internal/child_process:293:12) npm ERR! gyp ERR! System Linux 5.10.0-20-amd64 npm ERR! gyp ERR! command "/home/kristjan/.nvm/versions/node/v16.18.0/bin/node" "/home/kristjan/Infomonitor/MagicMirror/node_modules/.bin/node-gyp" "rebuild" npm ERR! gyp ERR! cwd /home/kristjan/Infomonitor/MagicMirror/modules/MMM-Buttons/node_modules/epoll npm ERR! gyp ERR! node -v v16.18.0 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/kristjan/.npm/_logs/2023-01-06T18_47_25_457Z-debug-0.log kristjan@debian:~/Infomonitor/MagicMirror/modules/MMM-Buttons$ uname -r 5.10.0-20-amd64 kristjan@debian:~/Infomonitor/MagicMirror/modules/MMM-Buttons$ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 11 (bullseye) Release: 11 Codename: bullseye -
@wishmaster270 i don’t see any issues for your module either (modified using postinstall script)
sam@galliumos:~/MagicMirror/modules/MMM-GPIO-Notifications$ npm install --omit=dev --no-fund --no-audit npm WARN deprecated @npmcli/move-file@2.0.1: This functionality has been moved to @npmcli/fs > MMM-GPIO-Notifications@0.0.5 postinstall > ./postinstall ⠧ 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 ⠧ Building module: epoll, Completed: 0 COPY Release/epoll.node ⠇ Building module: epoll, Completed: 0make: Leaving directory '/home/sam/MagicMirror/modules/MMM-GPIO-Notifications/node_modules/epoll/build' ✔ Rebuild Complete added 170 packages in 20snpm 8.11.0
node 16.16.0 -
my laptop uname
Linux galliumos 4.16.18-galliumos #1 SMP PREEMPT Sun Jun 23 04:14:45 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux -
@KristjanESPERANTO but it didn’t execute the postinstall script…
tried to build without it… and it WILL fail without using electron-rebuild
what npm version is this?
-
@sdetweil npm -v: 8.19.2
-
@KristjanESPERANTO weird
sam@galliumos:~/MagicMirror/modules/MMM-Buttons$ npm -v 8.19.2 sam@galliumos:~/MagicMirror/modules/MMM-Buttons$ npm install --omit=dev --no-fund --no-audit > Magic-Mirror-Module-Buttons@1.0.0 postinstall > ./postinstall ⠋ Building module: epoll, Completed: 0make: Entering directory '/home/sam/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 ⠇ Building module: epoll, Completed: 0make: Leaving directory '/home/sam/MagicMirror/modules/MMM-Buttons/node_modules/epoll/build' ✔ Rebuild Complete added 6 packages in 15s -
strange, I did
npm installin theMMM-Buttonsfolder.More info (running in a docker container):
node@raspberrypi:/opt/magic_mirror$ npx node-gyp -v v9.3.1 node@raspberrypi:/opt/magic_mirror$ node -v v19.3.0 node@raspberrypi:/opt/magic_mirror$ uname -a Linux raspberrypi 5.15.76-v7l+ #1597 SMP Fri Nov 4 12:14:58 GMT 2022 armv7l GNU/Linux node@raspberrypi:/opt/magic_mirror$ cat /etc/os-release PRETTY_NAME="Debian GNU/Linux 11 (bullseye)" NAME="Debian GNU/Linux" VERSION_ID="11" VERSION="11 (bullseye)" VERSION_CODENAME=bullseye ID=debian HOME_URL="https://www.debian.org/" SUPPORT_URL="https://www.debian.org/support" BUG_REPORT_URL="https://bugs.debian.org/" node@raspberrypi:/opt/magic_mirror$ npm -v 9.2.0 -
@sdetweil said in electron-rebuild problems with MagicMirror 2.22.0:
Linux galliumos 4.16.18-galliumos #1 SMP PREEMPT Sun Jun 23 04:14:45 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
thats
x86_64, notarm32v7, totally different concerning compiling stuff which is done in electron-rebuild … -
@karsten13 his was x86_64… (edit: i see his is amd64, oops, tldr;l!)…
I will see if I can get a vm on my new amd64 chromebook… had it til I powered off…
but I built on buster and bullseye on pi4 also … MM version 2.22
but his didn’t execute the postinstall script
-
@sdetweil said in electron-rebuild problems with MagicMirror 2.22.0:
his was x86_64…
he wrote “I use a fully patched Raspberry OS Bullseye 32Bit.” so I think this is
arm32v7but I built on buster and bullseye on pi4 also … MM version 2.22
but his didn’t execute the postinstall scriptstrange
-
@karsten13 yeh, his says
kristjan@debian:~/Infomonitor/MagicMirror/modules/MMM-Buttons$ uname -r
5.10.0-20-amd64so not 32 bit.
can you go to the MMM-Buttons folder and do
./postinstall
-
@sdetweil said in electron-rebuild problems with MagicMirror 2.22.0:
his was x86_64… (edit: i see his is amd64, oops, tldr;l!)…
I will see if I can get a vm on my new amd64 chromebook… had it til I powered off…@sdetweil said in electron-rebuild problems with MagicMirror 2.22.0:
so not 32 bit.
he wrote 32 bit
x86_64=amd64: No Raspian OS
arm32v7=arm=aarch32: Raspian OS 32-bit
arm64v8=arm64=aarch64: Raspian OS 64-bit -
@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.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login