electron-builder: Debian package builds fail on ARMv7
- Version:
22.7.0 - Electron Version:
8.4.0 - Electron Type (current, beta, nightly):
current - Target:
armv7l/arm/arm32
Unable to build Debian package (.deb) for --armv7l due to using the wrong build of FPM, which was x86.
• downloading url=https://github.com/electron-userland/electron-builder-binaries/releases/download/fpm-1.9.3-2.3.1-linux-x86/fpm-1.9.3-2.3.1-linux-x86.7z size=4.6 MB parts=1
• downloaded url=https://github.com/electron-userland/electron-builder-binaries/releases/download/fpm-1.9.3-2.3.1-linux-x86/fpm-1.9.3-2.3.1-linux-x86.7z duration=3.13s
⨯ cannot execute cause=exit status 127
errorOut=/home/node/.cache/electron-builder/fpm/fpm-1.9.3-2.3.1-linux-x86/lib/ruby/bin/ruby: line 6: /home/node/.cache/electron-builder/fpm/fpm-1.9.3-2.3.1-linux-x86/lib/ruby/bin.real/ruby: No such file or directory
command=/home/node/.cache/electron-builder/fpm/fpm-1.9.3-2.3.1-linux-x86/fpm -s dir --force -t deb -d libgtk-3-0 -d libnotify4 -d libnss3 -d libxss1 -d libxtst6 -d xdg-utils -d libatspi2.0-0 -d libuuid1 -d libappindicator3-1 -d libsecret-1-0 --deb-compression xz --architecture armhf --name bridgecmdr --after-install /tmp/t-ufb98R/0-after-install --after-remove /tmp/t-ufb98R/1-after-remove --description '
Professional switch and monitor controller for retro gaming' --version 2.0.0-beta --package /workdir/dist/bridgecmdr_2.0.0-beta_armv7l.deb --maintainer 'Matthew Holder <sixxgate@hotmail.com>' --url 'https://github.com/6XGate/bridgecmdr#readme' --vendor 'Matthew Holder <sixxgate@hotmail.com>' --license GPL-3.0-or-later /workdir/dist/linux-armv7l-unpacked/=/opt/BridgeCmdr /workdir/node_modules/app-builder-lib/templates/icons/electron-linux/16x16.png=/usr/share/icons/hicolor/16x16/apps/bridgecmdr.png /workdir/node_modules/app-builder-lib/templates/icons/electron-linux/32x32.png=/usr/share/icons/hicolor/32x32/apps/bridgecmdr.png /workdir/node_modules/app-builder-lib/templates/icons/electron-linux/48x48.png=/usr/share/icons/hicolor/48x48/apps/bridgecmdr.png /workdir/node_modules/app-builder-lib/templates/icons/electron-linux/64x64.png=/usr/share/icons/hicolor/64x64/apps/bridgecmdr.png /workdir/node_modules/app-builder-lib/templates/icons/electron-linux/128x128.png=/usr/share/icons/hicolor/128x128/apps/bridgecmdr.png /workdir/node_modules/app-builder-lib/templates/icons/electron-linux/256x256.png=/usr/share/icons/hicolor/256x256/apps/bridgecmdr.png /tmp/t-ufb98R/2-BridgeCmdr.desktop=/usr/share/applications/bridgecmdr.desktop
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Reactions: 1
- Comments: 27 (4 by maintainers)
Commits related to this issue
- chore(electron): upgrade Electron to v17 In the process, it was easier to switch from the seemingly not really maintained `electron-forge` to using `electron-builder` and `electron` directly. This di... — committed to votingworks/kiosk-browser by eventualbuddha 2 years ago
- chore(electron): upgrade Electron to v17 In the process, it was easier to switch from the seemingly not really maintained `electron-forge` to using `electron-builder` and `electron` directly. This di... — committed to votingworks/kiosk-browser by eventualbuddha 2 years ago
The issue is not so much as to which version, but that FPM is not present with the correct arch, for ARM.
I managed to get a successful electron-builder build with the following:
sudo apt install ruby ruby-devsudo gem install fpmexport USE_SYSTEM_FPM=trueI am trying to use electron-builder on a PinePhone, an ARM device. When building I get the same error as shown by Matthew Rathbone, quoting from the link I posted previously, section “Fixing DEB and RPM Builds for ARM”:
I spent some time looking at this today. The options for compiling ruby to a binary executable seem nonexistent. There was a popular tool called
ruby-packer/rubycbut is 3 years old and no longer works.tebakois newer and could be what we’re looking for, but I ran into numerous errors when trying it onfpm. Perhaps a Ruby dev could point us in the right direction so I added an issue onfpmrepo asking for help.If someone wants to pick up the work for
electron-builder-binaries(I’m not sure how that repo works or have write-access to it atm), I can help with theapp-builderandelectron-builderupdates as I have write-access to thoseYes the fpm still use x86 version because it don’t have arm versions, but it works with arm options. You missed this line in the doc:
And “deb” key should be top-level under the “build” key. You can take a look at my repo BlockPi if you still have problems.