Electron-builder: (armv7l) does not match system (armhf)

Created on 9 Feb 2017  路  8Comments  路  Source: electron-userland/electron-builder

  • Version: 7.26.0

  • Target: armv7l, Linux

Hi, when installing the .deb package for armv7l, on a raspberry PI 3 using Ubuntu Mate 16.04 I got the following error:

package architecture (armv7l) does not match system (armhf)

I'm using Mac OS X Sierra for development.

Thank you,

Quito

pending because of dependency question

Most helpful comment

I'm not sure if it is the same issue, but I have raspberry pi3 and I built electron with --arch arm7l and that's what I'm getting:

dpkg: error processing archive adtop_0.1.0_armv7l.deb (--install):
 package architecture (armv7l) does not match system (armhf)
Errors were encountered while processing:
 adtop_0.1.0_armv7l.deb
pi@raspberrypi:~ $ uname -m
armv7l

UPDATE:
I figured that out. I'll leave my comment in case somebody will find it helpful.
I was able to install package after running sudo dpkg --add-architecture armv7l

All 8 comments

I'm not sure if it is the same issue, but I have raspberry pi3 and I built electron with --arch arm7l and that's what I'm getting:

dpkg: error processing archive adtop_0.1.0_armv7l.deb (--install):
 package architecture (armv7l) does not match system (armhf)
Errors were encountered while processing:
 adtop_0.1.0_armv7l.deb
pi@raspberrypi:~ $ uname -m
armv7l

UPDATE:
I figured that out. I'll leave my comment in case somebody will find it helpful.
I was able to install package after running sudo dpkg --add-architecture armv7l

Now i understand that it is not related to neither to electron nor to electron-builder:
```
sudo dpkg --add-architecture armv7l
````
But I think, it really would be helpful for many people if this row will find some reflection in doc.

@AlexanderKosianchuk however the installation fails for me with errors of the kind:

Depends: libnotify4:armv7l but it is not installable

an apt-get update gives errors of the kind:

N: Skipping acquire of configured file 'main/binary-armel/Packages' as repository 'http://archive.raspberrypi.org/debian stretch InRelease' doesn't support architecture 'armv7l'

This was tested on the latest DietPi installation...

Any ideas?

Interestingly, I've just found that if I run the unpacked application on my Pi, it works fine. As soon as I roll it into a deb, it stops working, because it doesn't want to install armv7l packages on an armhf system. Any ideas?

The same problem, I am trying to create a version of the application in .snap for arch arm7l but it does not work, "(armv7l) does not match system (armhf)".

Okay so I made progress on this. The problem is that although the packaged Electron app for Armv7l will run just fine on a Pi, the Pi primarily uses the Armhf architecture. When electron-builder generates a deb or snap file from the packaged application, it lists the target architecture as armv7l.

If you want it to install on a Pi, the target arch of the snap or deb must be armhf. I've not tried this with snap packages, but I fixed our debs using the config:

...
linux:
  target:
    - target: deb
      arch:
        - armv7l
deb:
  fpm: ['--architecture', 'armhf']
electronVersion: 3.0.13

FPM is used by electron-builder to generate deb files, and so by overriding the --architecture option of FPM, you can put the armv7l package into an armhf deb file, and it works just fine.

Again, not tested with snaps, but hopefully this will help others somewhat.

Was this page helpful?
0 / 5 - 0 ratings