Build from source fails on ARM #818
Description
Technical information
Using version:
-
master
(running from GitHub-published source code, currentlyv3.0.0-pre
) -
latest
(latest release, currentlyv2.2.2
) -
vX.X.X
(specify other version)
Running on:
- Linux
- Windows
- macOS
How comfortable you are with your system and/or IT in general:
- I'm kind of lost, honestly
- I know what's up, I could help you run some commands or checks
- My machine is fully under my control, tell me what you need
- I attended Defcon last year
Problem
I am on a RPi4 with RaspberryPiOS Buster (32bit). I tried Building from the README.md
- `npm install` (NOT `install-linux` or `install-windows`)
- `npm run build-linux` or `build-windows` or `build-darwin`
Both the Master (GitHub Repo) and the v2.2.2 (.tgz) fail to build (with different errors).
I wont paste the .tgz build error, but it looked stupid. Lots of:
/home/pi/.cache/node-gyp/14.15.0/include/node/v8.h:6475:46: note: candidate expects 1 argument, 0 provided
../src/unix/pty.cc:714:68: error: no matching function for call to 'v8::_function-name_'
Building from the repo gets further, but it fails with the following error:
> edex-ui@3.0.0-pre build-linux /home/pi/fix-repo/edex-ui
> electron-builder build -l -p never
• electron-builder version=22.8.0 os=5.4.72-v7l+
• loaded configuration file=package.json ("build" field)
• writing effective config file=dist/builder-effective-config.yaml
• rebuilding native dependencies dependencies=node-pty@0.9.0 platform=linux arch=x64
⨯ cannot execute cause=exit status 1
out=
> node-pty@0.9.0 install /home/pi/fix-repo/edex-ui/prebuild-src/node_modules/node-pty
> node scripts/install.js
make: Entering directory '/home/pi/fix-repo/edex-ui/prebuild-src/node_modules/node-pty/build'
CXX(target) Release/obj.target/pty/src/unix/pty.o
make: Leaving directory '/home/pi/fix-repo/edex-ui/prebuild-src/node_modules/node-pty/build'
errorOut=g++: error: unrecognized command line option ‘-m64’
make: *** [pty.target.mk:113: Release/obj.target/pty/src/unix/pty.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/home/pi/n/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack at ChildProcess.emit (events.js:315:20)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12)
gyp ERR! System Linux 5.4.72-v7l+
gyp ERR! command "/home/pi/n/bin/node" "/home/pi/n/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/pi/fix-repo/edex-ui/prebuild-src/node_modules/node-pty
gyp ERR! node -v v14.15.0
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! node-pty@0.9.0 install: `node scripts/install.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the node-pty@0.9.0 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/pi/.npm/_logs/2020-11-03T12_27_22_559Z-debug.log
command=/home/pi/n/bin/node /home/pi/n/lib/node_modules/npm/bin/npm-cli.js rebuild node-pty@0.9.0
workingDir=
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! edex-ui@3.0.0-pre build-linux: `electron-builder build -l -p never`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the edex-ui@3.0.0-pre build-linux script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/pi/.npm/_logs/2020-11-03T12_27_22_634Z-debug.log
I dont know about you but:
• rebuilding native dependencies dependencies=node-pty@0.9.0 platform=linux arch=x64
seems to me like it will always fail on ARM (actually anything NOT x64 - which is everything else)
This seems like it is not picking up a setting from somewhere, or making a presumption.
Presuming this is the only thing in the Master Repo that needs fixing, can another release be made asap
I installed Node.js (14.15.0) & NPM (6.14.8) using curl -L https://git.io/n-install | bash
.
Cheers
Paul