• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
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.

After update MMM-Buttons breaks, made things worse trying to fix it

Scheduled Pinned Locked Moved Unsolved Troubleshooting
23 Posts 5 Posters 2.5k Views 5 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 @MMRIZE
    last edited by Jul 3, 2023, 1:57 PM

    @MMRIZE my upgrade script upgrades node/npm

    the ekectron-rebuild cannot run from the module folder anymore…

    Sam

    How to add modules

    learning how to use browser developers window for css changes

    1 Reply Last reply Reply Quote 0
    • G Offline
      gonzonia @MMRIZE
      last edited by Jul 3, 2023, 2:00 PM

      @MMRIZE I did an apt-update and upgrade . Actually the node version went too far. It was suddenly version 20+ I just reset it to 16.20.1 (which is what’s showing up as I do the clean install on the other machine). That seems to get me back to where I might be able to recover from this mess.

      @sdetweil I used your upgrade script but I’m not sure what happened. I’m now at least back to this

      pi@MagicMirror:~/MagicMirror/modules/MMM-Buttons $ npm install
      
      > Magic-Mirror-Module-Buttons@1.0.0 postinstall
      > node_modules/.bin/electron-rebuild -e ../../node_modules/electron
      
      ⠋ Searching dependency tree
      An unhandled error occurred inside electron-rebuild
      Could not detect abi for version 25.2.0 and runtime electron.  Updating "node-abi" might help solve this issue if it is a new release of electron
      
      Error: Could not detect abi for version 25.2.0 and runtime electron.  Updating "node-abi" might help solve this issue if it is a new release of electron
          at Object.getAbi (/home/pi/MagicMirror/modules/MMM-Buttons/node_modules/electron-rebuild/node_modules/node-abi/index.js:36:9)
          at new Rebuilder (/home/pi/MagicMirror/modules/MMM-Buttons/node_modules/electron-rebuild/lib/src/rebuild.js:126:48)
          at rebuildWithOptions (/home/pi/MagicMirror/modules/MMM-Buttons/node_modules/electron-rebuild/lib/src/rebuild.js:404:23)
          at Object.doRebuild [as rebuild] (/home/pi/MagicMirror/modules/MMM-Buttons/node_modules/electron-rebuild/lib/src/rebuild.js:427:16)
          at /home/pi/MagicMirror/modules/MMM-Buttons/node_modules/electron-rebuild/lib/src/cli.js:124:33
          at Generator.next (<anonymous>)
          at fulfilled (/home/pi/MagicMirror/modules/MMM-Buttons/node_modules/electron-rebuild/lib/src/cli.js:6:58)
      npm ERR! code 255
      npm ERR! path /home/pi/MagicMirror/modules/MMM-Buttons
      npm ERR! command failed
      npm ERR! command sh -c -- node_modules/.bin/electron-rebuild -e ../../node_modules/electron
      
      npm ERR! A complete log of this run can be found in:
      npm ERR!     /home/pi/.npm/_logs/2023-07-03T13_56_15_900Z-debug-0.log
      

      Any ideas

      S 1 Reply Last reply Jul 3, 2023, 2:07 PM Reply Quote 0
      • S Offline
        sdetweil @gonzonia
        last edited by Jul 3, 2023, 2:07 PM

        @gonzonia said in After update MMM-Buttons breaks, made things worse trying to fix it:

        @sdetweil I used your upgrade script but I’m not sure what happened. I’m now at least back to this

        yes, MMM-Buttons is busted on upgrade… use my fork

        Sam

        How to add modules

        learning how to use browser developers window for css changes

        G 1 Reply Last reply Jul 3, 2023, 2:28 PM Reply Quote 0
        • G Offline
          gonzonia @sdetweil
          last edited by Jul 3, 2023, 2:28 PM

          @sdetweil Apologies. You did say that already and it didn’t penetrate. Replaced with your fork and it looks like I’m mostly back up. CalendarExt2 doesn’t seem to be loading though. I’ll have to dig into that later.

          1 Reply Last reply Reply Quote 0
          • L Offline
            Lusbueb @gonzonia
            last edited by Lusbueb Jul 9, 2023, 9:21 AM Jul 9, 2023, 9:19 AM

            @gonzonia had same problems and tried several methods. i’m not a linux crack and can only make what other say to try. :see-no-evil_monkey: :grinning_squinting_face:

            this Post help me: https://forum.magicmirror.builders/topic/16074/electron-rebuild-and-magicmirror-v2-18-and-more/2?page=1

            1. delete any existing ../modules/MMM-Buttons folder.

            2. clone the repository in your modules folder:
              cd ~/MagicMirror/modules
              git clone https://github.com/MarcLandis/MMM-Buttons.git
              cd MMM-Buttons

            3. install magicmirror-rebuild library with this command:
              npm i magicmirror-rebuild

            pi@MM:~/MagicMirror/modules/MMM-Buttons $ npm i magicmirror-rebuild
            
            added 191 packages, and audited 192 packages in 43s
            
            37 packages are looking for funding
              run `npm fund` for details
            
            found 0 vulnerabilities
            
            1. try to execute MagicMirror-rebuild script for rebuild with this command:
              ./node_modules/.bin/MagicMirror-rebuild
            pi@MM:~/MagicMirror/modules/MMM-Buttons $ ./node_modules/.bin/MagicMirror-rebuild
            ⠹ MagicMirror Building module: epoll, Completed: 0gyp info find Python using Python version 3.9.2 found at "/usr/bin/python3"
            ⠸ MagicMirror Building module: epoll, Completed: 0gyp http GET https://www.electronjs.org/headers/v25.2.0/node-v25.2.0-headers.tar.gz
            ⠏ MagicMirror Building module: epoll, Completed: 0gyp http 200 https://artifacts.electronjs.org/headers/v25.2.0/node-v25.2.0-headers.tar.gz?force_headers_dist=1
            ⠼ MagicMirror Building module: epoll, Completed: 0gyp http GET https://www.electronjs.org/headers/v25.2.0/SHASUMS256.txt
            ⠋ MagicMirror Building module: epoll, Completed: 0gyp http 200 https://artifacts.electronjs.org/headers/v25.2.0/SHASUMS256.txt?force_headers_dist=1
            ⠙ MagicMirror Building module: epoll, Completed: 0gyp info spawn /usr/bin/python3
            gyp info spawn args [
            gyp info spawn args   '/home/pi/MagicMirror/modules/MMM-Buttons/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/modules/MMM-Buttons/node_modules/node-gyp/addon.gypi',
            gyp info spawn args   '-I',
            gyp info spawn args   '/home/pi/MagicMirror/modules/MMM-Buttons/node_modules/epoll/25.2.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/MagicMirror/modules/MMM-Buttons/node_modules/epoll/25.2.0',
            gyp info spawn args   '-Dnode_gyp_dir=/home/pi/MagicMirror/modules/MMM-Buttons/node_modules/node-gyp',
            gyp info spawn args   '-Dnode_lib_file=/home/pi/MagicMirror/modules/MMM-Buttons/node_modules/epoll/25.2.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 ]
            ⠹ MagicMirror Building module: epoll, Completed: 0gyp info spawn make
            gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
            make: Verzeichnis „/home/pi/MagicMirror/modules/MMM-Buttons/node_modules/epoll/build“ wird betreten
              CXX(target) Release/obj.target/epoll/src/epoll.o
            ⠹ MagicMirror Building module: epoll, Completed: 0  SOLINK_MODULE(target) Release/obj.target/epoll.node
            ⠧ MagicMirror Building module: epoll, Completed: 0  COPY Release/epoll.node
            make: Verzeichnis „/home/pi/MagicMirror/modules/MMM-Buttons/node_modules/epoll/build“ wird verlassen
            ✔ MagicMirror Rebuild Complete
            

            That you see MagicMirror Rebuild Complete !
            Your module is now installed correctly

            This way will also be good for the Originl MMM-Buttons from the Year 2017 and many other modules!

            if you work with this module https://github.com/Jopyth/MMM-Buttons you must change 2 lines and add 1 line in the file package.json after git clone:

            a.) change Line 23 from
            "postinstall": "node_modules/.bin/electron-rebuild -e ../../node_modules/electron" to
            "postinstall": "node_modules/.bin/magicmirror-rebuild -e ../../node_modules/electron"

            b.) change Line 29 from
            "electron-rebuild": "^1.2.1" to
            "magicmirror-rebuild": "^1.0.0"

            c.) add a line after line26 from
            "onoff": "latest" to

            "onoff": "latest",
            "magicmirror-rebuild": "latest"
            

            after that you can continue with step 3, good luck :)

            S 1 Reply Last reply Jul 9, 2023, 11:20 AM Reply Quote 0
            • S Offline
              sdetweil @Lusbueb
              last edited by Jul 9, 2023, 11:20 AM

              @Lusbueb or, you can get my fork of MMM-Buttons which fixes the install problem

              https://github.com/sdetweil/MMM-Buttons

              Sam

              How to add modules

              learning how to use browser developers window for css changes

              L 2 Replies Last reply Jul 9, 2023, 11:32 AM Reply Quote 1
              • L Offline
                Lusbueb @sdetweil
                last edited by Jul 9, 2023, 11:32 AM

                @sdetweil Of course I had also tried your git repo but it didn’t work for me, so I kept looking and with the alternative migicmirror-rebuild every module worked.
                I’ve also seen that some modules have been adapted to magicmirror-rebuild, but it’s of no use if you don’t know exactly how to use it.
                my description above was the solution that worked for me, so I published it here.
                thank you again for your support. :hugging_face:

                S 1 Reply Last reply Jul 9, 2023, 12:04 PM Reply Quote 0
                • S Offline
                  sdetweil @Lusbueb
                  last edited by Jul 9, 2023, 12:04 PM

                  @Lusbueb I’d like to know what didn’t work, as I test it quite often. I don’t like providing fixes that don’t work…

                  Sam

                  How to add modules

                  learning how to use browser developers window for css changes

                  L 1 Reply Last reply Jul 9, 2023, 1:47 PM Reply Quote 0
                  • L Offline
                    Lusbueb @sdetweil
                    last edited by Jul 9, 2023, 1:47 PM

                    @sdetweil if i run your git repo it looks liike this:

                    pi@MM:~ $ cd ~/MagicMirror/modules
                    pi@MM:~/MagicMirror/modules $ git clone https://github.com/Jopyth/MMM-Buttons.git
                    Klone nach 'MMM-Buttons' ...
                    remote: Enumerating objects: 54, done.
                    remote: Total 54 (delta 0), reused 0 (delta 0), pack-reused 54
                    Empfange Objekte: 100% (54/54), 11.34 KiB | 893.00 KiB/s, fertig.
                    Löse Unterschiede auf: 100% (25/25), fertig.
                    pi@MM:~/MagicMirror/modules $ cd MMM-Buttons
                    pi@MM:~/MagicMirror/modules/MMM-Buttons $ npm install
                    npm WARN deprecated har-validator@5.1.5: this library is no longer supported
                    npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
                    npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
                    npm WARN deprecated electron-rebuild@1.11.0: Please use @electron/rebuild moving forward.  There is no API change, just a package name change
                    npm ERR! code 7
                    npm ERR! path /home/pi/MagicMirror/modules/MMM-Buttons/node_modules/epoll
                    npm ERR! command failed
                    npm ERR! command sh -c node-gyp rebuild
                    npm ERR! gyp info it worked if it ends with ok
                    npm ERR! gyp info using node-gyp@6.1.0
                    npm ERR! gyp info using node@20.4.0 | linux | arm
                    npm ERR! gyp info find Python using Python version 3.9.2 found at "/usr/bin/python3"
                    npm ERR! gyp ERR! UNCAUGHT EXCEPTION
                    npm ERR! gyp ERR! stack TypeError: Cannot assign to read only property 'cflags' of object '#<Object>'
                    npm ERR! gyp ERR! stack     at createConfigFile (/home/pi/MagicMirror/modules/MMM-Buttons/node_modules/node-gyp/lib/configure.js:118:21)
                    npm ERR! gyp ERR! stack     at /home/pi/MagicMirror/modules/MMM-Buttons/node_modules/node-gyp/lib/configure.js:85:9
                    npm ERR! gyp ERR! stack     at /home/pi/MagicMirror/modules/MMM-Buttons/node_modules/mkdirp/index.js:30:20
                    npm ERR! gyp ERR! stack     at FSReqCallback.oncomplete (node:fs:189:23)
                    npm ERR! gyp ERR! System Linux 5.10.103-v7+
                    npm ERR! gyp ERR! command "/usr/bin/node" "/home/pi/MagicMirror/modules/MMM-Buttons/node_modules/.bin/node-gyp" "rebuild"
                    npm ERR! gyp ERR! cwd /home/pi/MagicMirror/modules/MMM-Buttons/node_modules/epoll
                    npm ERR! gyp ERR! node -v v20.4.0
                    npm ERR! gyp ERR! node-gyp -v v6.1.0
                    npm ERR! gyp ERR! This is a bug in `node-gyp`.
                    npm ERR! gyp ERR! Try to update node-gyp and file an Issue if it does not help:
                    npm ERR! gyp ERR!     <https://github.com/nodejs/node-gyp/issues>
                    
                    npm ERR! A complete log of this run can be found in: /home/pi/.npm/_logs/2023-07-09T13_31_31_133Z-debug-0.log
                    pi@MM:~/MagicMirror/modules/MMM-Buttons $
                    

                    then i changed in our package.json

                        "postinstall": "node_modules/.bin/magicmirror-rebuild -e ../../node_modules/electron"
                      },
                      "dependencies": {
                        "onoff": "latest",
                    	"magicmirror-rebuild": "latest"
                      },
                      "devDependencies": {
                        "magicmirror-rebuild": "^1.0.0"
                      }
                    

                    and do npm install it looks like this:

                    pi@MM:~/MagicMirror/modules/MMM-Buttons $ npm install
                    
                    > Magic-Mirror-Module-Buttons@1.0.0 postinstall
                    > node_modules/.bin/magicmirror-rebuild -e ../../node_modules/electron
                    
                    sh: 1: node_modules/.bin/magicmirror-rebuild: not found
                    npm ERR! code 127
                    npm ERR! path /home/pi/MagicMirror/modules/MMM-Buttons
                    npm ERR! command failed
                    npm ERR! command sh -c node_modules/.bin/magicmirror-rebuild -e ../../node_modules/electron
                    
                    npm ERR! A complete log of this run can be found in: /home/pi/.npm/_logs/2023-07-09T13_37_41_609Z-debug-0.log
                    pi@MM:~/MagicMirror/modules/MMM-Buttons $
                    

                    so, the package.json is allready changed, i delete the new created file package-lock.json and folder node_modules and run npm i magicmirror-rebuild it look like this:

                    pi@MM:~/MagicMirror/modules/MMM-Buttons $ npm i magicmirror-rebuild
                    npm WARN idealTree Removing dependencies.magicmirror-rebuild in favor of devDependencies.magicmirror-rebuild
                    
                    added 191 packages, and audited 192 packages in 39s
                    
                    37 packages are looking for funding
                      run `npm fund` for details
                    
                    found 0 vulnerabilities
                    

                    and then in run ./node_modules/.bin/MagicMirror-rebuild, it looks like this an everything ist ok an running with no errors:

                    pi@MM:~/MagicMirror/modules/MMM-Buttons $ ./node_modules/.bin/MagicMirror-rebuild
                    ⠋ MagicMirror Building module: epoll, Completed: 0gyp info find Python using Python version 3.9.2 found at "/usr/bin/python3"
                    ⠙ MagicMirror Building module: epoll, Completed: 0gyp http GET https://www.electronjs.org/headers/v25.2.0/node-v25.2.0-headers.tar.gz
                    ⠦ MagicMirror Building module: epoll, Completed: 0gyp http 200 https://artifacts.electronjs.org/headers/v25.2.0/node-v25.2.0-headers.tar.gz?force_headers_dist=1
                    ⠙ MagicMirror Building module: epoll, Completed: 0gyp http GET https://www.electronjs.org/headers/v25.2.0/SHASUMS256.txt
                    ⠹ MagicMirror Building module: epoll, Completed: 0gyp http 200 https://artifacts.electronjs.org/headers/v25.2.0/SHASUMS256.txt?force_headers_dist=1
                    gyp info spawn /usr/bin/python3
                    gyp info spawn args [
                    gyp info spawn args   '/home/pi/MagicMirror/modules/MMM-Buttons/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/modules/MMM-Buttons/node_modules/node-gyp/addon.gypi',
                    gyp info spawn args   '-I',
                    gyp info spawn args   '/home/pi/MagicMirror/modules/MMM-Buttons/node_modules/epoll/25.2.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/MagicMirror/modules/MMM-Buttons/node_modules/epoll/25.2.0',
                    gyp info spawn args   '-Dnode_gyp_dir=/home/pi/MagicMirror/modules/MMM-Buttons/node_modules/node-gyp',
                    gyp info spawn args   '-Dnode_lib_file=/home/pi/MagicMirror/modules/MMM-Buttons/node_modules/epoll/25.2.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 ]
                    ⠸ MagicMirror Building module: epoll, Completed: 0gyp info spawn make
                    gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
                    make: Verzeichnis „/home/pi/MagicMirror/modules/MMM-Buttons/node_modules/epoll/build“ wird betreten
                      CXX(target) Release/obj.target/epoll/src/epoll.o
                    ⠹ MagicMirror Building module: epoll, Completed: 0  SOLINK_MODULE(target) Release/obj.target/epoll.node
                    ⠇ MagicMirror Building module: epoll, Completed: 0  COPY Release/epoll.node
                    make: Verzeichnis „/home/pi/MagicMirror/modules/MMM-Buttons/node_modules/epoll/build“ wird verlassen
                    ✔ MagicMirror Rebuild Complete
                    

                    hope it helps you :-)
                    Regards, Peter from Switzerland

                    S 1 Reply Last reply Jul 9, 2023, 1:55 PM Reply Quote 0
                    • S Offline
                      sdetweil @Lusbueb
                      last edited by Jul 9, 2023, 1:55 PM

                      @Lusbueb said in After update MMM-Buttons breaks, made things worse trying to fix it:

                      https://github.com/Jopyth/MMM-Buttons.git

                      that is not mine… that is the broken one

                      substitute my repo URL for the documented git clone url

                      Sam

                      How to add modules

                      learning how to use browser developers window for css changes

                      L 1 Reply Last reply Jul 9, 2023, 3:21 PM Reply Quote 0
                      • 1
                      • 2
                      • 3
                      • 1 / 3
                      1 / 3
                      • First post
                        10/23
                        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