Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Signal-unofficial 7.40.0 fails to launch with GCC14 error #27

Open
2 tasks done
Botspot opened this issue Feb 1, 2025 · 5 comments
Open
2 tasks done

Signal-unofficial 7.40.0 fails to launch with GCC14 error #27

Botspot opened this issue Feb 1, 2025 · 5 comments

Comments

@Botspot
Copy link

Botspot commented Feb 1, 2025

Using a supported version?

  • I have searched searched open and closed issues for duplicates.
  • I am using Signal-Desktop as provided by the Signal team, not a 3rd-party package.

Overall summary

Your most recent Signal Unofficial build fails to run on the latest Debian 12 Bookworm, and presumably all the other major ARM operating systems. Now, upon launch, it displays an error on-screen and in the console output about a missing GCC 14.0 dependency.

See for yourself:

Unhandled Error: Error: /lib/aarch64-linux-gnu/libgcc_s.so.1: version `GCC_14.0' not found (required by /opt/Signal Unofficial/resources/app.asar.unpacked/node_modules/@signalapp/ringrtc/build/linux/libringrtc-arm64.node)
    at process.func [as dlopen] (node:electron/js2c/node_init:2:2559)
    at Module._extensions..node (node:internal/modules/cjs/loader:1602:18)
    at Object.func [as .node] (node:electron/js2c/node_init:2:2786)
    at Module.load (node:internal/modules/cjs/loader:1295:32)
    at Module._load (node:internal/modules/cjs/loader:1111:12)
    at c._load (node:electron/js2c/node_init:2:16955)
    at Module.require (node:internal/modules/cjs/loader:1318:19)
    at require (node:internal/modules/helpers:179:18)
    at Object.<anonymous> (/opt/Signal Unofficial/resources/app.asar/node_modules/@signalapp/ringrtc/dist/ringrtc/Native.js:33:19)
    at Module._compile (node:internal/modules/cjs/loader:1484:14)

Steps to reproduce

  1. Install Signal 7.40.0 from this repo.
  2. Launch it.
  3. See the error.

I should note that downgrading to 7.39.0 solves the problem, so that is what I have done for now on the pi-apps store. Botspot/pi-apps#2715

Expected result

Signal launches

Actual result

Signal does not launch.

Screenshots

No response

Signal version

7.40.0

Operating system

Raspberry Pi OS 12 Bookworm 64-bit

Version of Signal on your phone

No response

Link to debug log

No response

@dennisameling
Copy link
Owner

dennisameling commented Feb 1, 2025

Thanks for reporting! I ran into the same issue while building 7.40.0, and updated the runner to Ubuntu 24.04 to fix it.

I didn't realize that users of the build would also need GCC 14 to be installed at runtime. Just checked and it only seems to affect Linux arm64 builds of RingRTC. Just reported an issue upstream and marked the release as pre-release.

Sorry for the trouble, and let's see what they'll say upstream.

dennisameling added a commit to dennisameling/signal-desktop-automation that referenced this issue Feb 2, 2025
Because users were running into the GCC 14 issue as well.

Ref: dennisameling/Signal-Desktop#27
@dennisameling
Copy link
Owner

I see that 7.40.1 got released overnight: also just marked that one as pre-release. Also just reverted the Ubuntu 24.04 upgrade in the CI pipeline, so that it'll be blocked until upstream fixes the issue.

@dennisameling
Copy link
Owner

Upstream has confirmed that the GCC 14 should be resolved soon, by reverting to Ubuntu 22.04 instead of 24.04 runners.

signalapp/ringrtc#61 (comment)

@dennisameling
Copy link
Owner

Quick update.

  • The Signal team has downgraded their build machine to Ubuntu 22.04 in v2.49.4 of RingRTC, which fixes the GCC error.
  • However, a different error has been popping up as a result of a recent WebRTC update by the Signal team: undefined symbol: __arm_tpidr2_save. I was able to fix that in Set libyuv_use_sme to false on Linux arm64 to fix undefined symbol error on ARMv8 devices signalapp/ringrtc#63, which the Signal team has confirmed fixes the issue.
  • I'm in the process of working with the Signal team to start using the new GitHub Linux arm64 runners in their CI pipeline, so that they can catch these issues earlier in the process. Previously they were just cross-compiling from x64 Linux and not running tests on Linux arm64 in their CI pipeline. And of course, that process also wasn't as smooth as expected, due to a weird bug in GitHub's larger runners. Just found a workaround for that issue until the GitHub team fixes it.

So I expect the Signal team to release working RingRTC builds for Linux arm64 again in a couple of days. Then it's just a matter of time before Signal-Desktop itself will start using the updated version. When that's done, I can re-enable the Linux arm64 builds here,

Really appreciate Signal's support in getting this to work, given that Linux arm64 is not an officially supported platform for Signal-Desktop.

@dennisameling
Copy link
Owner

RingRTC v2.50.1 has been released with my fixes included. Now it's just a matter of waiting until the main Signal-Desktop repo bumps the version and releases it. I just did that locally and all tests are passing again 🚀

Let's keep this issue open until the new Signal-Desktop version is released, so that I can re-enable my CI builds for Linux arm64.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants