Closed ZapUser77 closed 5 years ago
And just for fun:
sudo apt-get install libnotify4
Reading package lists... Done
Building dependency tree
Reading state information... Done
libnotify4 is already the newest version (0.7.7-2).
libnotify4 set to manually installed.
The following packages were automatically installed and are no longer required:
libdb5.3++ libminiupnpc10 libuv1 minissdpd
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 199 not upgraded.
I'm guessing this is the architecture mismatch.
@mrfelton I've dug a little bit, and the prepackage you've published is kind of miscreated. The architecture and its dependencies says arm7l, but it really should read armhf. The files in there actually are armhf.
Ya, from what I can gather, you're correct. Even though /arch results in "Arm7l", trying to install the "arm7l" prepackage says my system is "Armhf".
Thanks for testing @ZapUser77 .
I've never used a Raspberry Pi or any ARM device, so this would be hard for me to debug blind! However, I do have a RaspiBlitz on it's way to me though - so I'll get this working once I have that in my hands :)
I've dug a little bit, and the prepackage you've published is kind of miscreated. The architecture and its dependencies says arm7l, but it really should read armhf. The files in there actually are armhf.
@nicolasnoble The electron package was built using electron-builder
with the arch
set to armv7l
(see https://www.electron.build/cli.html)
Bundled up with that is the lnd-linux-armv7-v0.5.1-beta
binary from https://github.com/lightningnetwork/lnd/releases It was unclear to me exactly which of the lnd
binaries I should be using for this as there is no armv7l
lnd
binary - armv7
was the closest match.
So, I'm not sure which files specifically within the electron bundle are for armhf
or where that is coming from since neither electron
or lnd
mention armhf
anywhere.
I wouldn't be shocked if electron-builder was just wrong here.
This looks like the same issue with packages: https://github.com/DavidEGrayson/minimu9-ahrs/issues/5
And the very last reply in this is exactly the same problem: https://github.com/electron-userland/electron-builder/issues/1230
The really strange part is... all the dependencies are already installed...
arm7l and armhf are fundamentally different and incompatible architecture. While the CPU can run both, once the kernel starts in one mode, it can't switch to the other on the fly (unlike a 64 bits intel kernel that can run 32 bits binaries).
So an arm7l package that contains armhf binaries is fundamentally flawed, and has no chance to work. It'll require libraries of the wrong architecture for the running kernel anyway. This is a square peg with a round hole situation.
Looking at the various issues you've linked, it seems to me the electron story on arm is fundamentally broken at the moment.
Tried installing the latest version: Did a yarn clean -> Yarn No errors, and it even detects the system correctly now: arch =arm7l
I get the following when I run NPM run start:
0 info it worked if it ends with ok
1 verbose cli [ '/usr/bin/node', '/usr/bin/npm', 'run', 'start' ]
2 info using npm@6.1.0
3 info using node@v10.4.1
4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info lifecycle zap-desktop@0.3.3-beta~prestart: zap-desktop@0.3.3-beta
6 verbose lifecycle zap-desktop@0.3.3-beta~prestart: unsafe-perm in lifecycle true
7 verbose lifecycle zap-desktop@0.3.3-beta~prestart: PATH: /usr/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/home/pi/source/zap-desktop/node_modules/.bin:/usr/local/go/bin:/bin:/usr/lib/go-1.10/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games:/home/pi/go/bin
8 verbose lifecycle zap-desktop@0.3.3-beta~prestart: CWD: /home/pi/source/zap-desktop
9 silly lifecycle zap-desktop@0.3.3-beta~prestart: Args: [ '-c', 'npm run build' ]
10 silly lifecycle zap-desktop@0.3.3-beta~prestart: Returned: code: 0 signal: null
11 info lifecycle zap-desktop@0.3.3-beta~start: zap-desktop@0.3.3-beta
12 verbose lifecycle zap-desktop@0.3.3-beta~start: unsafe-perm in lifecycle true
13 verbose lifecycle zap-desktop@0.3.3-beta~start: PATH: /usr/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/home/pi/source/zap-desktop/node_modules/.bin:/usr/local/go/bin:/bin:/usr/lib/go-1.10/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games:/home/pi/go/bin
14 verbose lifecycle zap-desktop@0.3.3-beta~start: CWD: /home/pi/source/zap-desktop
15 silly lifecycle zap-desktop@0.3.3-beta~start: Args: [ '-c', 'cross-env NODE_ENV=production electron ./app' ]
16 silly lifecycle zap-desktop@0.3.3-beta~start: Returned: code: 1 signal: null
17 info lifecycle zap-desktop@0.3.3-beta~start: Failed to exec start script
18 verbose stack Error: zap-desktop@0.3.3-beta start: cross-env NODE_ENV=production electron ./app
18 verbose stack Exit status 1
18 verbose stack at EventEmitter.cross-env NODE_ENV=production electron ./app
27 error Exit status 1
28 error Failed at the zap-desktop@0.3.3-beta start script.
28 error This is probably not a problem with npm. There is likely additional logging output above.
29 verbose exit [ 1, true ]
The console output mentions Glibc_2.27 not found, but required for electron.
And it looks like Debian isn't stable with anything higher than Glibc 2.24: https://tracker.debian.org/pkg/glibc
Yep, electron 4.0 is incompatible with RPI: https://github.com/electron/electron/issues/16205
So... I did a: npm install electron@3.0.10 (From within the zap-desktop directory)
And changed the dependency in package.json of Electron-updater to 3.2.3. Ran Yarn. Installed without any errors NPM start It runs, but very slowly. Hopefully, it'll go to normal speeds after a bit.
So, it looks like everything is finally working properly on a RPI.
Description
I managed to get zap working on PI. When I updated to LND 5.0, ZAP causes LND to crash. Decided to attempt to update ZAP: Git pull yarn ⚠ 2 problems (0 errors, 2 warnings) Error: /usr/bin/node exited with code 1 zap-desktop@0.2.2-beta~build-dll: zap-desktop@0.2.2-beta Output: yarn install v1.7.0 [1/4] Resolving packages... [2/4] Fetching packages... [3/4] Linking dependencies... [4/4] Building fresh packages... info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
Error output: (node:1717) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead. warning " > react-icons@2.2.5" has unmet peer dependency "react@^0.14.0 || ^15.0.0". warning " > react-icons@2.2.5" has unmet peer dependency "react-dom@^0.14.0 || ^15.0.0". warning "react-icons > react-icon-base@2.0.7" has unmet peer dependency "react@". warning "react-icons > react-icon-base@2.0.7" has unmet peer dependency "react-dom@". warning "react-icons > react-icon-base@2.0.7" has unmet peer dependency "prop-types@*". error /home/pi/source/zap-desktop/app/node_modules/grpc: Command failed. Exit code: 6 Command: node-pre-gyp install --fallback-to-build --library=static_library Arguments: Directory: /home/pi/source/zap-desktop/app/node_modules/grpc Output: node-pre-gyp info it worked if it ends with ok node-pre-gyp info using node-pre-gyp@0.10.0 node-pre-gyp info using node@10.4.1 | linux | arm node-pre-gyp http GET https://node-precompiled-binaries.grpc.io/grpc/v1.14.1/electron-v2.0-linux-arm-glibc.tar.gz node-pre-gyp ERR! Completion callback never invoked! node-pre-gyp ERR! System Linux 4.14.30-v7+ node-pre-gyp ERR! command "/usr/bin/node" "/home/pi/source/zap-desktop/app/node_modules/grpc/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build" "--library=static_library" node-pre-gyp ERR! cwd /home/pi/source/zap-desktop/app/node_modules/grpc node-pre-gyp ERR! node -v v10.4.1 node-pre-gyp ERR! node-pre-gyp -v v0.10.0 node-pre-gyp ERR! This is a bug in
node-pre-gyp
. node-pre-gyp ERR! Try to update node-pre-gyp and file an issue if it does not help: node-pre-gyp ERR! https://github.com/mapbox/node-pre-gyp/issuesFrom previous event: at installOrRebuild (/home/pi/source/zap-desktop/node_modules/app-builder-lib/out/util/yarn.js:68:17) at /home/pi/source/zap-desktop/node_modules/electron-builder/src/cli/install-app-deps.ts:56:9 at Generator.next ()
From previous event:
at installAppDeps (/home/pi/source/zap-desktop/node_modules/electron-builder/out/cli/install-app-deps.js:174:17)
at then (/home/pi/source/zap-desktop/node_modules/electron-builder/src/cli/cli.ts:42:48)
at runCallback (timers.js:696:18)
at tryOnImmediate (timers.js:667:5)
at processImmediate (timers.js:649:5)
From previous event:
at Object.args [as handler] (/home/pi/source/zap-desktop/node_modules/electron-builder/src/cli/cli.ts:42:48)
at Object.runCommand (/home/pi/source/zap-desktop/node_modules/electron-builder/node_modules/yargs/lib/command.js:237:44)
at Object.parseArgs [as _parseArgs] (/home/pi/source/zap-desktop/node_modules/electron-builder/node_modules/yargs/yargs.js:1059:30)
at Object.get [as argv] (/home/pi/source/zap-desktop/node_modules/electron-builder/node_modules/yargs/yargs.js:1000:21)
at Object. (/home/pi/source/zap-desktop/node_modules/electron-builder/src/cli/cli.ts:25:28)
at Module._compile (internal/modules/cjs/loader.js:702:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10)
at Module.load (internal/modules/cjs/loader.js:612:32)
at tryModuleLoad (internal/modules/cjs/loader.js:551:12)
at Function.Module._load (internal/modules/cjs/loader.js:543:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:744:10)
at startup (internal/bootstrap/node.js:238:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:572:3)
It was a nightmare getting the dependencies to install correctly last time... was hoping to not have further dependency problems. :(