Installing Fedora 1.30 rpm on Centos 7

I downloaded the Fedora 1.30 rpm from the website and proceeded to install on CentOS 7. It installed without any error messages but when starting the app it fails with:
“TypeError: DeltaChatController is not a constructor”

How can I fix this?

what cpu architecture do you use? when starting via terminal is there more info on this error message?

The cpu architecture is:

Linux 3.10.0-1160.49.1.el7.x86_64 #1 SMP Tue Nov 30 15:51:32 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

When I start it in a terminal window I get the following error messages:

Fatal Error
The DeltaChat Module couldn’t be loaded.
Please check if all dependencies for deltachat-core are installed!
The Log file is located in this folder: /home/aa/.config/DeltaChat/logs

/lib64/libc.so.6: version `GLIBC_2.25’ not found (required by /opt/DeltaChat/resources/app.asar.unpacked/node_modules/deltachat-node/node/prebuilds/linux-x64/node.napi.node)
xdg-settings: unknown desktop environment
xdg-settings: unknown desktop environment
[47629:0619/125246.089928:ERROR:object_proxy.cc(623)] Failed to call method: org.freedesktop.DBus.Properties.Get: object_path= /org/freedesktop/portal/desktop: org.freedesktop.DBus.Error.InvalidArgs: No such interface ‘org.freedesktop.portal.FileChooser’
[47629:0619/125246.090204:ERROR:select_file_dialog_linux_portal.cc(242)] Failed to read portal version property
Gtk-Message: 12:52:46.120: GtkDialog mapped without a transient parent. This is discouraged.
[47668:0619/125246.245560:ERROR:sandbox_linux.cc(377)] InitializeSandbox() called with multiple threads in process gpu-process.
[47668:0619/125246.250623:ERROR:gbm_wrapper.cc(275)] Failed to export buffer to dma_buf: No such file or directory (2)

It seems it requires glibc 2.25 whereas CentOS 7 (including RHEL 7 and its siblings all use glibc 2.17).

Can it be recompiled to use glibc 2.17?

oh the too new glibc again…
https://sourceware.org/glibc/wiki/Glibc%20Timeline
glibc 2.25 is actually from 2018, so already like 4 years old…

Can it be recompiled to use glibc 2.17?

I won’t do it as it would be too complicated for me with the current build infrastructure right now, but I can help you compiling it yourself if you want:

you need rustup installed and Nodejs (min. version 16):

then clone the Deltachat-desktop repo, install dependencies and build it:

# download source code
git clone https://github.com/deltachat/deltachat-desktop.git
cd deltachat-desktop
# installs dependencies, the `--build-from-source` argument makes sure core is build again
# against the older system glibc instead of using a prebuild
npm install --build-from-source
# start desktop version
npm run dev
# package
npx electron-builder --config ./electron-builder.json5 --linux rpm

Understood about glibc but RHEL 7 and derivatives, including CentOS 7, only have glibc 2.17 available and are still supported until end of 2024 if I remember correctly.

I can try to compile it myself later this week but wonder about other dependencies’ requirements, including the ones you list above? Which versions are needed?

maybe perl and python for building, but those are preinstalled most of the time.
ah and sometimes the openssl source/ dev package. depends a bit, when you have npm, nodejs, and rustup you can start, when you encounter errors just post them here. :wink:

Also maybe you don’t need to compile it yourself when some other package like flatpak works? Though I don’t know the state of flatpak on centos tbh.

I do want to compile it myself and avoid flatpak, appimage etc.

Surely there are minimum versions of perl, python, npm electron-builder etc required?

try it with the default ones in your distro, if there is an error we can still look into it.