matrix-org / matrix-org/seshat

Cross compile from linux/amd64 to linux/arm64 doesn't work in bundled mode

Open
#135 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
127
Forks
29
Avg merge
22h 40m
Merged PRs (30d)
3

Description

It results runtime errors like

```
Seshat unexpected error: Error: /home/ubuntu/Downloads/element-desktop-1.11.66-arm64-static/element-desktop-1.11.66-arm64/resources/app.asar.unpacked/node_modules/matrix-seshat/index.node: undefined symbol: sqlite3_changes64
at process.func [as dlopen] (node:electron/js2c/node_init:2:2214)
at Module._extensions..node (node:internal/modules/cjs/loader:1343:18)
at Object.func [as .node] (node:electron/js2c/node_init:2:2441)
at Module.load (node:internal/modules/cjs/loader:1098:32)
at Module._load (node:internal/modules/cjs/loader:945:12)
at c._load (node:electron/js2c/node_init:2:13672)
at Module.require (node:internal/modules/cjs/loader:1122:19)
at require (node:internal/modules/helpers:130:18)
at Object. (/home/ubuntu/Downloads/element-desktop-1.11.66-arm64-static/element-desktop-1.11.66-arm64/resources/app.asar/node_modules/matrix-seshat/index.js:16:22)
at Module._compile (node:internal/modules/cjs/loader:1256:14) {
code: 'ERR_DLOPEN_FAILED'
}
```

dynamic library (non-bundled) mode works fine.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the bundled native module at resources/app.asar.unpacked/node_modules/matrix-seshat/index.node and its loader at resources/app.asar/node_modules/matrix-seshat/index.js, then compare the bundled and dynamic-library build modes for a Linux amd64 to arm64 build. Done means the bundled arm64 application starts without the sqlite3_changes64 ERR_DLOPEN_FAILED runtime error.

Written by the indexing model from the issue text.

Assessment

Tech stack
electron, rust, sqlite
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.