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.
    • 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
                                  • S Offline
                                    sdetweil @wishmaster270
                                    last edited by sdetweil

                                    @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
                                    

                                    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 @wishmaster270
                                      last edited by

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

                                      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 wishmaster270

                                        @sdetweil

                                        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.

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

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

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

                                            @wishmaster270 cool. thx for feedback

                                            don’t know Teleframe.

                                            Sam

                                            How to add modules

                                            learning how to use browser developers window for css changes

                                            KristjanESPERANTOK 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
                                            • 3 / 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