Nativefier: Add support for architecture arm64

Created on 12 May 2019  路  5Comments  路  Source: jiahaog/nativefier

Description

Thanks for the cool project and your work. I like it very much and use it for Whatsapp Web.

I tried running it on my ChromeBook with an arm64-CPU within crostini linux VM and it worked, but just after I added the architecture "arm64" to the check in file nativefier/src/infer/inferOs.js.

Steps to reproduce issue

1.) Installing the build environment and nativefier
sudo apt-get install curl software-properties-common
sudo apt-get install libnss3-dev
curl -sL https://deb.nodesource.com/setup_11.x | sudo bash -
sudo apt-get install nodejs
git clone https://github.com/jiahaog/nativefier
cd nativefier
sudo npm install nativefier -g

2.) create App for WhatsApp Web
nativefier web.whatsapp.com

Stops with error, see Details below.

I added in file nativefier/src/infer/inferOs.js the function inferArch() the architecture "arm64" and it "worked".
if (arch !== 'ia32' && arch !== 'x64' && arch !== 'arm64' && arch !=='arm') { //if (arch !== 'ia32' && arch !== 'x64' && arch !=='arm') {

Well actually only changing nativefier/src/infer/inferOs.js was not enouth. Even after a "uninstall" and a new "install" the installed file /usr/lib/node_modules/nativefier/lib/infer/infer/inferOs.js was still not changed? I have no idea if this file is cached somewhere or if the install downloads interOs.js fresh from Web during install?
Anyway after I changed also /usr/lib/node_modules/nativefier/lib/infer/infer/inferOs.js and add there "arm64" too it realy worked without any problem and generates an App for Linux that runs fine on my system.

Details

My system is a ASUS Chromebook Flip C101PA running with ChromeOs 74.0.3729.125.
I used nativefier within the linux VM called "crostini" of ChromeOS.

Here the error message saying that "arm64" is not supported:
inferring [ ] 0% /usr/lib/node_modules/nativefier/lib/infer/infer/inferOs.js:20 throw new Error(Incompatible architecture ${arch} detected); ^ Error: Incompatible architecture arm64 detected at inferArch (/usr/lib/node_modules/nativefier/lib/infer/infer/inferOs.js:20:11) at exports.default (/usr/lib/node_modules/nativefier/lib/options/options/optionsMain.js:23:30) at /usr/lib/node_modules/nativefier/lib/build/build/buildMain.js:175:9 at nextTask (/usr/lib/node_modules/nativefier/node_modules/async/dist/async.js:5324:14) at Object.waterfall (/usr/lib/node_modules/nativefier/node_modules/async/dist/async.js:5334:5) at buildMain (/usr/lib/node_modules/nativefier/lib/build/build/buildMain.js:171:9) at Object.<anonymous> (/usr/lib/node_modules/nativefier/lib/cli.js:248:16) at Module._compile (internal/modules/cjs/loader.js:816:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:827:10) at Module.load (internal/modules/cjs/loader.js:685:32) at Function.Module._load (internal/modules/cjs/loader.js:620:12) at Function.Module.runMain (internal/modules/cjs/loader.js:877:12) at internal/main/run_main_module.js:21:11

feature-request

Most helpful comment

So, electron is available for arm64. Can we get arm64 support?

Edit: Workes perfectly on windows on arm64 after editing inferOs.js

All 5 comments

Electron & Chromium doesn't have native compiling support over ARM64 architecture

Thanks mxdpeep. Closing as that's not within reach of Nativefier. Should be feasible if/when arm64 support lands in Electron.

So, electron is available for arm64. Can we get arm64 support?

Edit: Workes perfectly on windows on arm64 after editing inferOs.js

I vote for arm64 support :)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

robertmylne picture robertmylne  路  5Comments

DougBeney picture DougBeney  路  5Comments

theman8631 picture theman8631  路  5Comments

desimaniac picture desimaniac  路  4Comments

danielyli picture danielyli  路  5Comments