deltachat / deltachat-desktop

Email-based instant messaging for Desktop.
GNU General Public License v3.0
898 stars 166 forks source link

TypeError: DeltaChatController is not a constructor in Ubuntu 18.04 (wrong glibc version 2.28) #3378

Closed mythsmith closed 10 months ago

mythsmith commented 11 months ago

DeltaChat uses GLIBC_2.28 since somewhere between v1.0.0 and 1.26.0, breaking ubuntu 18.04 compatibility. Happens also for flathub releases. The download page should clearly specify it is no longer compatible with ubuntu 18 and any other distro using a GLIBC older than 2.28.

image

And that log file contains only:

2023-09-05T08:05:54.104Z        main/index              INFO    ""      "Deltachat Version 1.38.1 v1.33.0-253-g5ff6e1e3 1687778551867"
2023-09-05T08:05:54.386Z        main/ipc                CRITICAL        "\n/opt/DeltaChat/resources/app.asar/src/main/ipc.ts:33:9,\nObject.<anonymous> (/opt/DeltaChat/resources/app.asar/src/main/ipc.ts:45:3),\nModule._compile (node:internal/modules/cjs/loader:1141:14),\nObject.Module._extensions..js (node:internal/modules/cjs/loader:1196:10),\nModule.load (node:internal/modules/cjs/loader:1011:32),\nModule._load (node:internal/modules/cjs/loader:846:12),\nFunction.f._load (node:electron/js2c/asar_bundle:2:13330),\nModule.require (node:internal/modules/cjs/loader:1035:19)"       "Fatal: The DeltaChat Module couldn't be loaded. Please check if all dependencies for deltachat-core are installed!"    {"stack":"Error: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /opt/DeltaChat/resources/app.asar.unpacked/node_modules/deltachat-node/node/prebuilds/linux-x64/node.napi.node)\n    at process.func [as dlopen] (node:electron/js2c/asar_bundle:2:1822)\n    at Object.Module._extensions..node (node:internal/modules/cjs/loader:1226:18)\n    at Object.func [as .node] (node:electron/js2c/asar_bundle:2:2049)\n    at Module.load (node:internal/modules/cjs/loader:1011:32)\n    at Module._load (node:internal/modules/cjs/loader:846:12)\n    at Function.f._load (node:electron/js2c/asar_bundle:2:13330)\n    at Module.require (node:internal/modules/cjs/loader:1035:19)\n    at require (node:internal/modules/cjs/helpers:102:18)\n    at load (/opt/DeltaChat/resources/app.asar/node_modules/node-gyp-build/node-gyp-build.js:22:10)\n    at Object.<anonymous> (/opt/DeltaChat/resources/app.asar/node_modules/deltachat-node/node/lib/binding.ts:7:55)","message":"/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /opt/DeltaChat/resources/app.asar.unpacked/node_modules/deltachat-node/node/prebuilds/linux-x64/node.napi.node)","code":"ERR_DLOPEN_FAILED"}
2023-09-05T08:05:54.452Z        main/deltachat/webxdc   WARNING "\n/opt/DeltaChat/resources/app.asar/src/main/deltachat/webxdc.ts:551:9,\nrejected (/opt/DeltaChat/resources/app.asar/tsc-dist/main/deltachat/webxdc.js:6:65)"     "webxdc cleanup failed" {"stack":"Error: ENOENT: no such file or directory, scandir '/home/daniele/.config/DeltaChat/Partitions'","message":"ENOENT: no such file or directory, scandir '/home/daniele/.config/DeltaChat/Partitions'","errno":-2,"code":"ENOENT","syscall":"scandir","path":"/home/daniele/.config/DeltaChat/Partitions"}

NOTE: the app suddenly stopped working. I removed all data files from both ~/.config and /opt but the error still remains. Since this seems a GLIBC version problem:

$ ldd --version
ldd (Ubuntu GLIBC 2.27-3ubuntu1.6) 2.27
Simon-Laux commented 11 months ago

2.28 is actually already downgraded https://github.com/deltachat/deltachat-core-rust/pull/4448, we likely won't go older than that. But if you need it you can still self compile it against an older glibc version. If you need help with that we can answer your questions about it.

CC @link2xt

Edit: Thanks for reporting, I opened an issue in the website repo.

link2xt commented 11 months ago

We can try to downgrade even further, e.g. starting to build using Ubuntu 18.04 instead of Debian 10, this should work. Ubuntu 18.04 and Debian 9 are not supported anymore though, only with commercial extended LTS offerings, but this should not be a problem.

@mythsmith Do you have extended LTS support for Ubuntu 18.04 or what is the reason to use it? It is not supported anymore since June 2023, why not upgrade to 22.04 or at least 20.04?

link2xt commented 11 months ago

Trying to add Ubuntu 18.04 compatibility at https://github.com/deltachat/deltachat-core-rust/pull/4686

Simon-Laux commented 11 months ago

@mythsmith 1.40.3 should work again, could you test it? https://download.delta.chat/desktop/v1.40.3/ we will put it on the website soon.

Simon-Laux commented 10 months ago

should be solved now