Builds for armv7l architecture?

Hi and thank you a great job with Delta Chat! It’s absolutely amazing! I’m using it more and more and convince people to switch to it (or, at least, use it in addition to other messengers).

I’ve switched to Raspbian/Raspberry Pi 4 as my desktop recently and became cut down from electron based apps which mainly support x86-64 only. Are there any chances and interest to see Delta Chat desktop to be distributed for armv7l as well at some point? Will be happy to participate and test it.

at some point sure, but not soon unless you try it yourself
see the desktop repo for instructions https://github.com/deltachat/deltachat-desktop#from-source
you need rustup installed on you pi and it will take long to compile.

In essence you need:
install rustup and build-essential on your pi, then run following commands:

$ git clone https://github.com/deltachat/deltachat-desktop.git
$ cd deltachat-desktop
$ npm install
$ npm run build

when done and there was no error run npm run start to start it, if there was an error or you got other questions please let know in this forum thread.

Electron apps take many resources, so we also plan on developing a more native interface:Are there any native linux desktop apps in the works?

Since you have a Raspberry Pi 4, which supports aarch64, I suggest you download a 64-bit version of Raspberry Pi OS on which it is easy to get deltachat-desktop running: For how much would you port Delta.chat to ARM / Raspberry Pi? - #2 by dotlambda

Hello,

i tried it but I get on npm install errors and the command has to been aborted:

   Compiling linked-hash-map v0.5.4
   Compiling object v0.24.0
error[E0658]: subslice patterns are unstable
   --> /home/pi/.cargo/registry/src/github.com-1ecc6299db9ec823/object-0.24.0/src/read/mod.rs:173:41
    |
173 |             [0x7f, b'E', b'L', b'F', 1, ..] => FileKind::Elf32,
    |                                         ^^
    |
    = note: for more information, see https://github.com/rust-lang/rust/issues/62254

error[E0658]: subslice patterns are unstable
   --> /home/pi/.cargo/registry/src/github.com-1ecc6299db9ec823/object-0.24.0/src/read/mod.rs:175:41
    |
175 |             [0x7f, b'E', b'L', b'F', 2, ..] => FileKind::Elf64,
    |                                         ^^
    |
    = note: for more information, see https://github.com/rust-lang/rust/issues/62254

error[E0658]: subslice patterns are unstable
   --> /home/pi/.cargo/registry/src/github.com-1ecc6299db9ec823/object-0.24.0/src/read/mod.rs:177:38
    |
177 |             [0xfe, 0xed, 0xfa, 0xce, ..]
    |                                      ^^
    |
    = note: for more information, see https://github.com/rust-lang/rust/issues/62254

error[E0658]: subslice patterns are unstable
   --> /home/pi/.cargo/registry/src/github.com-1ecc6299db9ec823/object-0.24.0/src/read/mod.rs:178:40
    |
178 |             | [0xce, 0xfa, 0xed, 0xfe, ..] => FileKind::MachO32,
    |                                        ^^
    |
    = note: for more information, see https://github.com/rust-lang/rust/issues/62254

error[E0658]: subslice patterns are unstable
   --> /home/pi/.cargo/registry/src/github.com-1ecc6299db9ec823/object-0.24.0/src/read/mod.rs:180:40
    |
180 |             | [0xfe, 0xed, 0xfa, 0xcf, ..]
    |                                        ^^
    |
    = note: for more information, see https://github.com/rust-lang/rust/issues/62254

error[E0658]: subslice patterns are unstable
   --> /home/pi/.cargo/registry/src/github.com-1ecc6299db9ec823/object-0.24.0/src/read/mod.rs:181:40
    |
181 |             | [0xcf, 0xfa, 0xed, 0xfe, ..] => FileKind::MachO64,
    |                                        ^^
    |
    = note: for more information, see https://github.com/rust-lang/rust/issues/62254

error[E0658]: subslice patterns are unstable
   --> /home/pi/.cargo/registry/src/github.com-1ecc6299db9ec823/object-0.24.0/src/read/mod.rs:183:38
    |
183 |             [0xca, 0xfe, 0xba, 0xbe, ..] => FileKind::MachOFat32,
    |                                      ^^
    |
    = note: for more information, see https://github.com/rust-lang/rust/issues/62254

error[E0658]: subslice patterns are unstable
   --> /home/pi/.cargo/registry/src/github.com-1ecc6299db9ec823/object-0.24.0/src/read/mod.rs:185:38
    |
185 |             [0xca, 0xfe, 0xba, 0xbf, ..] => FileKind::MachOFat64,
    |                                      ^^
    |
    = note: for more information, see https://github.com/rust-lang/rust/issues/62254

error[E0658]: subslice patterns are unstable
   --> /home/pi/.cargo/registry/src/github.com-1ecc6299db9ec823/object-0.24.0/src/read/mod.rs:189:26
    |
189 |             [b'M', b'Z', ..] => {
    |                          ^^
    |
    = note: for more information, see https://github.com/rust-lang/rust/issues/62254

error[E0658]: subslice patterns are unstable
   --> /home/pi/.cargo/registry/src/github.com-1ecc6299db9ec823/object-0.24.0/src/read/mod.rs:203:26
    |
203 |             [0xc4, 0x01, ..]
    |                          ^^
    |
    = note: for more information, see https://github.com/rust-lang/rust/issues/62254

error[E0658]: subslice patterns are unstable
   --> /home/pi/.cargo/registry/src/github.com-1ecc6299db9ec823/object-0.24.0/src/read/mod.rs:205:28
    |
205 |             | [0x64, 0xaa, ..]
    |                            ^^
    |
    = note: for more information, see https://github.com/rust-lang/rust/issues/62254

error[E0658]: subslice patterns are unstable
   --> /home/pi/.cargo/registry/src/github.com-1ecc6299db9ec823/object-0.24.0/src/read/mod.rs:207:28
    |
207 |             | [0x4c, 0x01, ..]
    |                            ^^
    |
    = note: for more information, see https://github.com/rust-lang/rust/issues/62254

error[E0658]: subslice patterns are unstable
   --> /home/pi/.cargo/registry/src/github.com-1ecc6299db9ec823/object-0.24.0/src/read/mod.rs:209:28
    |
209 |             | [0x64, 0x86, ..] => FileKind::Coff,
    |                            ^^
    |
    = note: for more information, see https://github.com/rust-lang/rust/issues/62254

   Compiling fallible-streaming-iterator v0.1.9
   Compiling rustc-demangle v0.1.18
   Compiling fallible-iterator v0.2.0
   Compiling base64 v0.11.0
   Compiling weezl v0.1.4
   Compiling safemem v0.3.3
   Compiling keccak v0.1.0
error: aborting due to 13 previous errors

For more information about this error, try `rustc --explain E0658`.
error: could not compile `object`.
warning: build failed, waiting for other jobs to finish...
error: build failed
cargo failed with code 101
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! deltachat-node@1.60.1 build:core:rust: `node scripts/rebuild-core.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the deltachat-node@1.60.1 build:core:rust script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/pi/.npm/_logs/2021-10-14T08_21_25_958Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! deltachat-node@1.60.1 build:core: `npm run build:core:rust && npm run build:core:constants`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the deltachat-node@1.60.1 build:core script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/pi/.npm/_logs/2021-10-14T08_21_26_010Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! deltachat-node@1.60.1 install:prebuilds: `node-gyp-build "npm run build:core" "npm run build:bindings:c:postinstall"`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the deltachat-node@1.60.1 install:prebuilds script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/pi/.npm/_logs/2021-10-14T08_21_26_063Z-debug.log
child_process.js:669
    throw err;
    ^

Error: Command failed: npm run install:prebuilds
    at checkExecSyncError (child_process.js:629:11)
    at execSync (child_process.js:666:13)
    at run (/home/pi/temp/deltachat-desktop/node_modules/deltachat-node/scripts/install.js:7:3)
    at Object.<anonymous> (/home/pi/temp/deltachat-desktop/node_modules/deltachat-node/scripts/install.js:21:3)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)

By the way:

$ rustc --explain E0658
pi@mcraspi4:~/temp $ rustc --explain E0658
An unstable feature was used.

Erroneous code example:

'```'
#[repr(u128)] // error: use of unstable library feature 'repr128'
enum Foo {
    Bar(u64),
}
'```'

If you're using a stable or a beta version of rustc, you won't be able to use
any unstable features. In order to do so, please switch to a nightly version of
rustc (by using rustup).

If you're using a nightly version of rustc, just add the corresponding feature
to be able to use it:

'```'
#![feature(repr128)]

#[repr(u128)] // ok!
enum Foo {
    Bar(u64),
}
'```'

The Output contains the markups for script content so I added the ’ manually.

whats your rust version?

Don’t know any more. I switched from buster to bullseye so now its full supported aarch64 architecture.
By the way I tried again to build them firstly after install bullseye with the commands above but get some warnings about version check which is 12 instead of 14. Later it aborts with errors:

     1	pi@mcraspi4:~ $ mkdir test
     2	pi@mcraspi4:~ $ cd test
     3	pi@mcraspi4:~/test $ git clone https://github.com/deltachat/deltachat-desktop.git
     4	Klone nach 'deltachat-desktop' ...
     5	remote: Enumerating objects: 36685, done.
     6	remote: Counting objects: 100% (972/972), done.
     7	remote: Compressing objects: 100% (573/573), done.
     8	remote: Total 36685 (delta 651), reused 595 (delta 384), pack-reused 35713
     9	Empfange Objekte: 100% (36685/36685), 53.89 MiB | 3.47 MiB/s, fertig.
    10	Löse Unterschiede auf: 100% (28139/28139), fertig.
    11	pi@mcraspi4:~/test $ cd deltachat-desktop
    12	pi@mcraspi4:~/test/deltachat-desktop $ npm install
    13	npm WARN EBADENGINE Unsupported engine {
    14	npm WARN EBADENGINE   package: 'deltachat-desktop@1.26.0',
    15	npm WARN EBADENGINE   required: { node: '>=14.0.0' },
    16	npm WARN EBADENGINE   current: { node: 'v12.22.5', npm: '7.5.2' }
    17	npm WARN EBADENGINE }
    18	npm ERR! code 1
    19	npm ERR! path /home/pi/test/deltachat-desktop/node_modules/deltachat-node
    20	npm ERR! command failed
    21	npm ERR! command sh -c node scripts/install.js
    22	npm ERR! [i] Building rust core & c bindings, if possible use prebuilds
    23	npm ERR! [i] running `npm run install:prebuilds`
    24	npm ERR!
    25	npm ERR! > deltachat-node@1.70.0 install:prebuilds
    26	npm ERR! > node-gyp-build "npm run build:core" "npm run build:bindings:c:postinstall"
    27	npm ERR!
    28	npm ERR!
    29	npm ERR! > deltachat-node@1.70.0 build:core
    30	npm ERR! > npm run build:core:rust && npm run build:core:constants
    31	npm ERR!
    32	npm ERR!
    33	npm ERR! > deltachat-node@1.70.0 build:core:rust
    34	npm ERR! > node scripts/rebuild-core.js
    35	npm ERR! Could not find cargo
    36	npm ERR! npm ERR! code 1
    37	npm ERR! npm ERR! path /home/pi/test/deltachat-desktop/node_modules/deltachat-node
    38	npm ERR! npm ERR! command failed
    39	npm ERR! npm ERR! command sh -c node scripts/rebuild-core.js
    40	npm ERR!
    41	npm ERR! npm ERR! A complete log of this run can be found in:
    42	npm ERR! npm ERR!     /home/pi/.npm/_logs/2022-01-21T06_40_22_291Z-debug.log
    43	npm ERR! npm ERR! code 1
    44	npm ERR! npm ERR! path /home/pi/test/deltachat-desktop/node_modules/deltachat-node
    45	npm ERR! npm ERR! command failed
    46	npm ERR! npm ERR! command sh -c npm run build:core:rust && npm run build:core:constants
    47	npm ERR!
    48	npm ERR! npm ERR! A complete log of this run can be found in:
    49	npm ERR! npm ERR!     /home/pi/.npm/_logs/2022-01-21T06_40_22_427Z-debug.log
    50	npm ERR! npm ERR! code 1
    51	npm ERR! npm ERR! path /home/pi/test/deltachat-desktop/node_modules/deltachat-node
    52	npm ERR! npm ERR! command failed
    53	npm ERR! npm ERR! command sh -c node-gyp-build "npm run build:core" "npm run build:bindings:c:postinstall"
    54	npm ERR!
    55	npm ERR! npm ERR! A complete log of this run can be found in:
    56	npm ERR! npm ERR!     /home/pi/.npm/_logs/2022-01-21T06_40_22_591Z-debug.log
    57	npm ERR! child_process.js:674
    58	npm ERR!     throw err;
    59	npm ERR!     ^
    60	npm ERR!
    61	npm ERR! Error: Command failed: npm run install:prebuilds
    62	npm ERR!     at checkExecSyncError (child_process.js:635:11)
    63	npm ERR!     at execSync (child_process.js:671:15)
    64	npm ERR!     at run (/home/pi/test/deltachat-desktop/node_modules/deltachat-node/scripts/install.js:7:3)
    65	npm ERR!     at Object.<anonymous> (/home/pi/test/deltachat-desktop/node_modules/deltachat-node/scripts/install.js:21:3)
    66	npm ERR!     at Module._compile (internal/modules/cjs/loader.js:999:30)
    67	npm ERR!     at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
    68	npm ERR!     at Module.load (internal/modules/cjs/loader.js:863:32)
    69	npm ERR!     at Function.Module._load (internal/modules/cjs/loader.js:708:14)
    70	npm ERR!     at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12)
    71	npm ERR!     at internal/main/run_main_module.js:17:47 {
    72	npm ERR!   status: 1,
    73	npm ERR!   signal: null,
    74	npm ERR!   output: [ null, null, null ],
    75	npm ERR!   pid: 242128,
    76	npm ERR!   stdout: null,
    77	npm ERR!   stderr: null
    78	npm ERR! }
    79	
    80	npm ERR! A complete log of this run can be found in:
    81	npm ERR!     /home/pi/.npm/_logs/2022-01-21T06_40_40_532Z-debug.log
    82	pi@mcraspi4:~/test/deltachat-desktop $ cat /etc/debian_version
    83	11.2
    84	pi@mcraspi4:~/test/deltachat-desktop $ dpkg -l npm nodejs
    85	Gewünscht=Unbekannt/Installieren/R=Entfernen/P=Vollständig Löschen/Halten
    86	| Status=Nicht/Installiert/Config/U=Entpackt/halb konFiguriert/
    87	         Halb installiert/Trigger erWartet/Trigger anhängig
    88	|/ Fehler?=(kein)/R=Neuinstallation notwendig (Status, Fehler: GROSS=schlecht)
    89	||/ Name           Version             Architektur  Beschreibung
    90	+++-==============-===================-============-==================================================
    91	ii  nodejs         12.22.5~dfsg-2~11u1 arm64        evented I/O for V8 javascript - runtime executable
    92	ii  npm            7.5.2+ds-2          all          package manager for Node.js
    93	pi@mcraspi4:~/test/deltachat-desktop $
    94	pi@mcraspi4:~/test/deltachat-desktop $ uname -a
    95	Linux mcraspi4 5.10.63-v8+ #1488 SMP PREEMPT Thu Nov 18 16:16:16 GMT 2021 aarch64 GNU/Linux

Before I would install nodejs >=14 outside from the distribution I would ask about other problems.

you need a node version newer than 14 and also you need rust, look at the desktop readme and the development documentation under the docs dir

Ok, now I installed latest available nodejs 17.x.x and now the errors are different.
But what was missing was rustc which could be installed with

sudo apt install rustc

By the way there still errors:

…
2043 info run deltachat-node@1.70.0 install { code: 1, signal: null }
2044 timing reify:rollback:createSparse Completed in 8677ms
2045 timing reify:rollback:retireShallow Completed in 0ms
2046 timing command:install Completed in 65431ms
2047 verbose stack Error: command failed
2047 verbose stack     at ChildProcess.<anonymous> (/usr/lib/node_modules/npm/node_modules/@npmcli/promise-spawn/index.js:64:27)
2047 verbose stack     at ChildProcess.emit (node:events:520:28)
2047 verbose stack     at maybeClose (node:internal/child_process:1090:16)
2047 verbose stack     at Socket.<anonymous> (node:internal/child_process:449:11)
2047 verbose stack     at Socket.emit (node:events:520:28)
2047 verbose stack     at Pipe.<anonymous> (node:net:687:12)
2048 verbose pkgid deltachat-node@1.70.0
2049 verbose cwd /home/pi/test/deltachat-desktop
2050 verbose Linux 5.10.92-v8+
2051 verbose argv "/usr/bin/node" "/usr/bin/npm" "install"
2052 verbose node v17.4.0
2053 verbose npm  v8.3.2
2054 error code 1
2055 error path /home/pi/test/deltachat-desktop/node_modules/deltachat-node
2056 error command failed
2057 error command sh -c node-gyp rebuild
2058 error make: Verzeichnis „/home/pi/test/deltachat-desktop/node_modules/deltachat-node/build“ wird betreten
2058 error   CC(target) Release/obj.target/deltachat/src/module.o
2058 error   SOLINK_MODULE(target) Release/obj.target/deltachat.node
2058 error make: Verzeichnis „/home/pi/test/deltachat-desktop/node_modules/deltachat-node/build“ wird verlassen
2059 error gyp info it worked if it ends with ok
2059 error gyp info using node-gyp@8.4.1
2059 error gyp info using node@17.4.0 | linux | arm64
2059 error gyp info find Python using Python version 3.9.2 found at "/usr/bin/python3"
2059 error gyp info spawn /usr/bin/python3
2059 error gyp info spawn args [
2059 error gyp info spawn args   '/usr/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
2059 error gyp info spawn args   'binding.gyp',
2059 error gyp info spawn args   '-f',
2059 error gyp info spawn args   'make',
2059 error gyp info spawn args   '-I',
2059 error gyp info spawn args   '/home/pi/test/deltachat-desktop/node_modules/deltachat-node/build/config.gypi',
2059 error gyp info spawn args   '-I',
2059 error gyp info spawn args   '/usr/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
2059 error gyp info spawn args   '-I',
2059 error gyp info spawn args   '/home/pi/.cache/node-gyp/17.4.0/include/node/common.gypi',
2059 error gyp info spawn args   '-Dlibrary=shared_library',
2059 error gyp info spawn args   '-Dvisibility=default',
2059 error gyp info spawn args   '-Dnode_root_dir=/home/pi/.cache/node-gyp/17.4.0',
2059 error gyp info spawn args   '-Dnode_gyp_dir=/usr/lib/node_modules/npm/node_modules/node-gyp',
2059 error gyp info spawn args   '-Dnode_lib_file=/home/pi/.cache/node-gyp/17.4.0/<(target_arch)/node.lib',
2059 error gyp info spawn args   '-Dmodule_root_dir=/home/pi/test/deltachat-desktop/node_modules/deltachat-node',
2059 error gyp info spawn args   '-Dnode_engine=v8',
2059 error gyp info spawn args   '--depth=.',
2059 error gyp info spawn args   '--no-parallel',
2059 error gyp info spawn args   '--generator-output',
2059 error gyp info spawn args   'build',
2059 error gyp info spawn args   '-Goutput_dir=.'
2059 error gyp info spawn args ]
2059 error gyp info spawn make
2059 error gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
2059 error In file included from ../src/module.c:10:
2059 error ../src/napi-macros-extensions.h:75: warning: "NAPI_RETURN_INT32" redefined
2059 error    75 | #define NAPI_RETURN_INT32(name) \
2059 error       |
2059 error In file included from ../src/napi-macros-extensions.h:1,
2059 error                  from ../src/module.c:10:
2059 error ../../napi-macros/napi-macros.h:132: note: this is the location of the previous definition
2059 error   132 | #define NAPI_RETURN_INT32(name) \
2059 error       |
2059 error In file included from ../src/module.c:10:
2059 error ../src/module.c: In function ‘call_js_event_handler’:
2059 error ../src/module.c:293:54: warning: passing argument 2 of ‘napi_get_last_error_info’ from incompatible pointer type [-Wincompatible-pointer-types]
2059 error   293 |     NAPI_STATUS_THROWS(napi_get_last_error_info(env, &error_result));
2059 error       |                                                      ^~~~~~~~~~~~~
2059 error       |                                                      |
2059 error       |                                                      napi_extended_error_info **
2059 error ../src/napi-macros-extensions.h:6:8: note: in definition of macro ‘NAPI_STATUS_THROWS’
2059 error     6 |   if ((call) != napi_ok) { \
2059 error       |        ^~~~
2059 error In file included from /home/pi/.cache/node-gyp/17.4.0/include/node/node_api.h:12,
2059 error                  from ../src/module.c:7:
2059 error /home/pi/.cache/node-gyp/17.4.0/include/node/js_native_api.h:53:59: note: expected ‘const napi_extended_error_info **’ but argument is of type ‘napi_extended_error_info **’
2059 error    53 |                          const napi_extended_error_info** result);
2059 error       |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
2059 error In file included from ../src/module.c:10:
2059 error ../src/module.c: In function ‘call_accounts_js_event_handler’:
2059 error ../src/module.c:3064:54: warning: passing argument 2 of ‘napi_get_last_error_info’ from incompatible pointer type [-Wincompatible-pointer-types]
2059 error  3064 |     NAPI_STATUS_THROWS(napi_get_last_error_info(env, &error_result));
2059 error       |                                                      ^~~~~~~~~~~~~
2059 error       |                                                      |
2059 error       |                                                      napi_extended_error_info **
2059 error ../src/napi-macros-extensions.h:6:8: note: in definition of macro ‘NAPI_STATUS_THROWS’
2059 error     6 |   if ((call) != napi_ok) { \
2059 error       |        ^~~~
2059 error In file included from /home/pi/.cache/node-gyp/17.4.0/include/node/node_api.h:12,
2059 error                  from ../src/module.c:7:
2059 error /home/pi/.cache/node-gyp/17.4.0/include/node/js_native_api.h:53:59: note: expected ‘const napi_extended_error_info **’ but argument is of type ‘napi_extended_error_info **’
2059 error    53 |                          const napi_extended_error_info** result);
2059 error       |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
2059 error At top level:
2059 error ../src/module.c:101:13: warning: ‘finalize_account’ defined but not used [-Wunused-function]
2059 error   101 | static void finalize_account(napi_env env, void* data, void* hint) {
2059 error       |             ^~~~~~~~~~~~~~~~
2059 error g++: error: ../deltachat-core-rust/target/release/libdeltachat.a: Datei oder Verzeichnis nicht gefunden
2059 error make: *** [deltachat.target.mk:146: Release/obj.target/deltachat.node] Fehler 1
2059 error gyp ERR! build error
2059 error gyp ERR! stack Error: `make` failed with exit code: 2
2059 error gyp ERR! stack     at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
2059 error gyp ERR! stack     at ChildProcess.emit (node:events:520:28)
2059 error gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:291:12)
2059 error gyp ERR! System Linux 5.10.92-v8+
2059 error gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
2059 error gyp ERR! cwd /home/pi/test/deltachat-desktop/node_modules/deltachat-node
2059 error gyp ERR! node -v v17.4.0
2059 error gyp ERR! node-gyp -v v8.4.1
2059 error gyp ERR! not ok
2060 verbose exit 1
2061 timing npm Completed in 66094ms
2062 verbose unfinished npm timer reify 1643005355502
2063 verbose unfinished npm timer reify:build 1643005401261
2064 verbose unfinished npm timer build 1643005401272
2065 verbose unfinished npm timer build:deps 1643005401274
2066 verbose unfinished npm timer build:run:install 1643005402283
2067 verbose unfinished npm timer build:run:install:node_modules/deltachat-node 1643005402284
2068 verbose code 1
2069 error A complete log of this run can be found in:
2069 error     /home/pi/.npm/_logs/2022-01-24T06_22_34_878Z-debug-0.log

Cheers,
Pierre

just for your sanity I recommend using rustup and nvm (or another node version manager like fnm (GitHub - Schniz/fnm: 🚀 Fast and simple Node.js version manager, built in Rust))

  • try using the same versions that we use, node 17 might work, but we still develop on and for node 14 currently.
  • use rustup instead of rustc, it automatically finds, downloads and uses the right version for the project)
  • if things don’t work with nodejs projects, it sometimes helps to delete the node_modules folder and start a fresh npm i

Hello,

it’s really hard to use deltachat-desktop on a Raspberry Pi with all theses needed steps for someone who wants only using it.
I’d never so much problems before compiling / using other stuff outside from a debian version before.

I removed the node and rustc stuff again and installed now the requested versions:

pi@mcraspi4:~/test $ rustc --version
rustc 1.58.1 (db9d1b20b 2022-01-20)
pi@mcraspi4:~/test $ node --version
v14.19.0
pi@mcraspi4:~/test $ npm --version
6.14.16

By the way first warning with npm install was showing someone of the developers use a different newer npm?

pi@mcraspi4:~/test $ git clone https://github.com/deltachat/deltachat-desktop.git
Klone nach 'deltachat-desktop' ...
remote: Enumerating objects: 37004, done.
remote: Counting objects: 100% (1291/1291), done.
remote: Compressing objects: 100% (507/507), done.
remote: Total 37004 (delta 869), reused 1101 (delta 769), pack-reused 35713
Empfange Objekte: 100% (37004/37004), 54.24 MiB | 2.20 MiB/s, fertig.
Löse Unterschiede auf: 100% (28357/28357), fertig.
npm WARN read-shrinkwrap This version of npm is compatible with lockfileVersion@1, but package-lock.json was generated for lockfileVersion@2. I'll try to do my best with it!

> deltachat-node@1.75.1 install /home/pi/test/deltachat-desktop/node_modules/deltachat-node
> node scripts/install.js

[i] Building rust core & c bindings, if possible use prebuilds
[i] running `npm run install:prebuilds`

> deltachat-node@1.75.1 install:prebuilds /home/pi/test/deltachat-desktop/node_modules/deltachat-node
> node-gyp-build "npm run build:core" "npm run build:bindings:c:postinstall"


> deltachat-node@1.75.1 build:core /home/pi/test/deltachat-desktop/node_modules/deltachat-node
> npm run build:core:rust && npm run build:core:constants


> deltachat-node@1.75.1 build:core:rust /home/pi/test/deltachat-desktop/node_modules/deltachat-node
> node scripts/rebuild-core.js

info: syncing channel updates for '1.54.0-aarch64-unknown-linux-gnu'
info: latest update on 2021-07-29, rust version 1.54.0 (a178d0322 2021-07-26)
info: downloading component 'cargo'
info: downloading component 'clippy'
info: downloading component 'rust-docs'
info: downloading component 'rust-std'
info: downloading component 'rustc'
info: downloading component 'rustfmt'
info: installing component 'cargo'
info: installing component 'clippy'
info: installing component 'rust-docs'
info: installing component 'rust-std'
info: installing component 'rustc'
info: installing component 'rustfmt'
    Updating git repository `https://github.com/rusqlite/rusqlite`
    Updating crates.io index

By the way the npm install command is still running. Hope it will work now. Hope you can also add binary support for aarch64/arm64.

Edit:
The npm install looks like has to been finished. Because of swapping I must reboot the pi because it was not further available (screen off, sdcard lit permanent on, no reaction on ssh connection request …)
After rebooting a restart of npm install has to been finished with some warnings:

npm WARN @babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.14.5 requires a peer of @babel/core@^7.13.0 but none is installed. You must install peer dependencies yourself.
npm WARN @babel/plugin-proposal-class-static-block@7.14.5 requires a peer of @babel/core@^7.12.0 but none is installed. You must install peer dependencies yourself.
npm WARN @blueprintjs/core@3.22.3 requires a peer of react@^15.3.0 || 16 but none is installed. You must install peer dependencies yourself.
npm WARN @blueprintjs/core@3.22.3 requires a peer of react-dom@^15.3.0 || 16 but none is installed. You must install peer dependencies yourself.
npm WARN create-react-context@0.3.0 requires a peer of react@^0.14.0 || ^15.0.0 || ^16.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN emoji-mart@3.0.0 requires a peer of react@^0.14.0 || ^15.0.0-0 || ^16.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN react-popper@1.3.7 requires a peer of react@0.14.x || ^15.0.0 || ^16.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN react-qr-reader@2.2.1 requires a peer of react@~16 but none is installed. You must install peer dependencies yourself.
npm WARN react-qr-reader@2.2.1 requires a peer of react-dom@~16 but none is installed. You must install peer dependencies yourself.
npm WARN react-qr-svg@2.2.1 requires a peer of react@>= 0.11.2 < 17.0.0 but none is installed. You must install peer dependencies yourself.

audited 1715 packages in 33.26s

204 packages are looking for funding
  run `npm fund` for details

found 13 vulnerabilities (9 moderate, 4 high)
  run `npm audit fix` to fix them, or `npm audit` for details

Now npm run build is failed so I start again with clone command. Maybe the reboot has something corrupted :frowning:

Hello,

the problems looks like fixed.

After fresh git clone; npm install; npm run build now only some warnings was been shown for npm install procedure.
By the way the npm run build has been finished.

npm start now starts the deltachat-desltop client :v:

For Bullseye Raspi aarch64 installation I did:

  1. Install rustup like from rustup.rs with e.g. ‘’‘curl --proto ‘=https’ --tlsv1.2 -sSf https://sh.rustup.rs | sh’’’
  2. Install node 14 with e.g. ‘’‘curl -sSL https://deb.nodesource.com/setup_14.x | sudo bash -’’’
  3. Install some more packaged with debian installer which are described in the steps (don’t any more which exactly, to long ago)
  4. git clone https://github.com/deltachat/deltachat-desktop.git
  5. cd deltachat-desktop
  6. npm install
  7. npm run build
  8. npm start

I hope someone can insert the steps which are needed for 3. so we get a full instruction to install deltachat-desktop on a Raspberry Pi with Debian (Raspberry Pi OS) Bullseye.

Would be nice to get a single binary file for delta chat desktop like as for amd64. By the way firstly I will create a simple script which starts the client by a console command.

1 Like

yeah seems so, I also updates npm for now.