Since many systems using musl libc also don’t use systemd, it seems like an AppImage with musl support would be needed to use DeltaChat on these systems. Since apparently, flatpak will no longer be available for these situations. (I am curious to see why anybody would still bother then with distributing anything via flatpak, but it is what it is.)
It would also be nice if the AppImage learned to warn the user once a newer release is known to exist. It’s easy to forget to manually update.
If I were to try to build it from source, does anybody know if musl builds would work? Without rebuilding chromium (which I can’t with my machine)? So is it even supported?
Okay, I noticed the README wants me to ignore the cargo build process entirely and just use pnpm, although I don’t get how it would then have a musl compatible core at all, but anyway here is what happens:
$ pnpm -w start:electron
[WARN] The "pnpm" field in package.json is no longer read by pnpm. The following keys were ignored: "pnpm.supportedArchitectures", "pnpm.onlyBuiltDependencies", "pnpm.overrides". See https://pnpm.io/settings for the new home of each setting.
> deltachat-desktop@2.52.0 start:electron /home/user/Projects/Code/deltachat-desktop
> pnpm --filter=@deltachat-desktop/target-electron start
> @deltachat-desktop/target-electron@2.52.0 start /home/user/Projects/Code/deltachat-desktop/packages/target-electron
> NODE_OPTIONS=--enable-source-maps electron . --devmode --disable-http-cache --translation-watch
/home/user/Projects/Code/deltachat-desktop/node_modules/.pnpm/electron@41.7.1/node_modules/electron/index.js:17
throw new Error(
^
Error: Electron failed to install correctly, please delete node_modules/electron and try installing again
at getElectronPath (/home/user/Projects/Code/deltachat-desktop/node_modules/.pnpm/electron@41.7.1/node_modules/electron/index.js:17:11)
at Object.<anonymous> (/home/user/Projects/Code/deltachat-desktop/node_modules/.pnpm/electron@41.7.1/node_modules/electron/index.js:23:18)
at Module._compile (node:internal/modules/cjs/loader:1854:14)
at Object..js (node:internal/modules/cjs/loader:1985:10)
at Module.load (node:internal/modules/cjs/loader:1577:32)
at Module._load (node:internal/modules/cjs/loader:1379:12)
at wrapModuleLoad (node:internal/modules/cjs/loader:255:19)
at Module.require (node:internal/modules/cjs/loader:1600:12)
at require (node:internal/modules/helpers:153:16)
at Object.<anonymous> (/home/user/Projects/Code/deltachat-desktop/node_modules/.pnpm/electron@41.7.1/node_modules/electron/cli.js:5:18)
Node.js v24.17.0
/home/user/Projects/Code/deltachat-desktop/packages/target-electron:
ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL @deltachat-desktop/target-electron@2.52.0 start: `NODE_OPTIONS=--enable-source-maps electron . --devmode --disable-http-cache --translation-watch`
Exit status 1
ELIFECYCLE Command failed with exit code 1.
Okay, I tested again today with latest git main and this is the result:
$ pnpm -w start:electron
$ pnpm --filter=@deltachat-desktop/target-electron start
$ NODE_OPTIONS=--enable-source-maps electron . --devmode --disable-http-cache --translation-watch
Downloading Electron binary...
Downloading electron-v42.5.0-linux-arm64.zip: [=========] 100% ETA: 0.0 seconds
Error relocating /home/user/Projects/Code/deltachat-desktop/node_modules/.pnpm/electron@42.5.0_supports-color@8.1.1/node_modules/electron/dist/electron: unsupported relocation type 1032
Error relocating /home/user/Projects/Code/deltachat-desktop/node_modules/.pnpm/electron@42.5.0_supports-color@8.1.1/node_modules/electron/dist/electron: unsupported relocation type 1032
Error relocating /home/user/Projects/Code/deltachat-desktop/node_modules/.pnpm/electron@42.5.0_supports-color@8.1.1/node_modules/electron/dist/electron: unsupported relocation type 1032
Error relocating /home/user/Projects/Code/deltachat-desktop/node_modules/.pnpm/electron@42.5.0_supports-color@8.1.1/node_modules/electron/dist/electron: unsupported relocation type 1032
Error relocating /home/user/Projects/Code/deltachat-desktop/node_modules/.pnpm/electron@42.5.0_supports-color@8.1.1/node_modules/electron/dist/electron: unsupported relocation type 1032
/home/user/Projects/Code/deltachat-desktop/packages/target-electron:
[ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL] @deltachat-desktop/target-electron@2.53.1 start: `NODE_OPTIONS=--enable-source-maps electron . --devmode --disable-http-cache --translation-watch`
spawn ENOENT
[ELIFECYCLE] Command failed with exit code 1.
$
My best guess is that it’s trying to launch a glibc electron build on a musl system, which doesn’t work. (There is gcompat, but electron afaik is too far down the absurd glibc-specific non-standard special features rabbithole.)