MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    electron-rebuild problems with MagicMirror 2.22.0

    Scheduled Pinned Locked Moved Solved Troubleshooting
    53 Posts 5 Posters 23.4k Views 6 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • KristjanESPERANTOK Offline
      KristjanESPERANTO Module Developer @sdetweil
      last edited by KristjanESPERANTO

      To me this looks like a problem with the onoff package. Because if I remove onoff from the package.json, npm i works.

      onoff also comes with the dependency epoll, which appears a lot in the error messages.

      npm i onoff and npm i epoll produce similar error messages. I think that’s where the main problem is.

      S 2 Replies Last reply Reply Quote 0
      • S Offline
        sdetweil @KristjanESPERANTO
        last edited by

        @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…

        Sam

        How to add modules

        learning how to use browser developers window for css changes

        1 Reply Last reply Reply Quote 0
        • S Offline
          sdetweil @KristjanESPERANTO
          last edited by sdetweil

          @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…

          Sam

          How to add modules

          learning how to use browser developers window for css changes

          1 Reply Last reply Reply Quote 0
          • S Offline
            sdetweil @sdetweil
            last edited by

            @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)

            Sam

            How to add modules

            learning how to use browser developers window for css changes

            karsten13K 1 Reply Last reply Reply Quote 0
            • karsten13K Offline
              karsten13 @sdetweil
              last edited by

              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
              
              S 1 Reply Last reply Reply Quote 0
              • S Offline
                sdetweil @karsten13
                last edited by

                @karsten13 yep, looks good…

                Sam

                How to add modules

                learning how to use browser developers window for css changes

                KristjanESPERANTOK 1 Reply Last reply Reply Quote 0
                • KristjanESPERANTOK Offline
                  KristjanESPERANTO Module Developer @sdetweil
                  last edited by

                  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
                  
                  S 2 Replies Last reply Reply Quote 0
                  • S Offline
                    sdetweil @wishmaster270
                    last edited by

                    @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 20s
                    
                    

                    npm 8.11.0
                    node 16.16.0

                    Sam

                    How to add modules

                    learning how to use browser developers window for css changes

                    1 Reply Last reply Reply Quote 0
                    • S Offline
                      sdetweil @KristjanESPERANTO
                      last edited by

                      @KristjanESPERANTO hm…

                      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

                      Sam

                      How to add modules

                      learning how to use browser developers window for css changes

                      karsten13K 1 Reply Last reply Reply Quote 0
                      • S Offline
                        sdetweil @KristjanESPERANTO
                        last edited by sdetweil

                        @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?

                        Sam

                        How to add modules

                        learning how to use browser developers window for css changes

                        KristjanESPERANTOK 1 Reply Last reply Reply Quote 0
                        • KristjanESPERANTOK Offline
                          KristjanESPERANTO Module Developer @sdetweil
                          last edited by

                          @sdetweil npm -v: 8.19.2

                          S 1 Reply Last reply Reply Quote 0
                          • S Offline
                            sdetweil @KristjanESPERANTO
                            last edited by

                            @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
                            
                            

                            Sam

                            How to add modules

                            learning how to use browser developers window for css changes

                            karsten13K 1 Reply Last reply Reply Quote 0
                            • karsten13K Offline
                              karsten13 @sdetweil
                              last edited by

                              strange, I did npm install in the MMM-Buttons folder.

                              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
                              
                              1 Reply Last reply Reply Quote 0
                              • karsten13K Offline
                                karsten13 @sdetweil
                                last edited by

                                @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, not arm32v7, totally different concerning compiling stuff which is done in electron-rebuild …

                                S 1 Reply Last reply Reply Quote 0
                                • S Offline
                                  sdetweil @karsten13
                                  last edited by sdetweil

                                  @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

                                  Sam

                                  How to add modules

                                  learning how to use browser developers window for css changes

                                  karsten13K 2 Replies Last reply Reply Quote 0
                                  • karsten13K Offline
                                    karsten13 @sdetweil
                                    last edited by

                                    @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 arm32v7

                                    but I built on buster and bullseye on pi4 also … MM version 2.22
                                    but his didn’t execute the postinstall script

                                    strange

                                    S 1 Reply Last reply Reply Quote 0
                                    • S Offline
                                      sdetweil @karsten13
                                      last edited by

                                      @karsten13 yeh, his says

                                      kristjan@debian:~/Infomonitor/MagicMirror/modules/MMM-Buttons$ uname -r
                                      5.10.0-20-amd64

                                      so not 32 bit.

                                      @KristjanESPERANTO

                                      can you go to the MMM-Buttons folder and do

                                      ./postinstall

                                      Sam

                                      How to add modules

                                      learning how to use browser developers window for css changes

                                      1 Reply Last reply Reply Quote 0
                                      • karsten13K Offline
                                        karsten13 @sdetweil
                                        last edited by

                                        @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

                                        S 1 Reply Last reply Reply Quote 0
                                        • S Offline
                                          sdetweil @karsten13
                                          last edited by sdetweil

                                          @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 $ 
                                          
                                          

                                          Sam

                                          How to add modules

                                          learning how to use browser developers window for css changes

                                          wishmaster270W 1 Reply Last reply Reply Quote 0
                                          • wishmaster270W Offline
                                            wishmaster270 Module Developer @sdetweil
                                            last edited by

                                            @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.

                                            S 1 Reply Last reply Reply Quote 0

                                            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
                                            • 1
                                            • 2
                                            • 3
                                            • 1 / 3
                                            • First post
                                              Last post
                                            Enjoying MagicMirror? Please consider a donation!
                                            MagicMirror created by Michael Teeuw.
                                            Forum managed by Sam, technical setup by Karsten.
                                            This forum is using NodeBB as its core | Contributors
                                            Contact | Privacy Policy