signalapp / Signal-Desktop

A private messenger for Windows, macOS, and Linux.
https://signal.org/download
GNU Affero General Public License v3.0
14.66k stars 2.67k forks source link

Debian Stable (Buster): Can't start signal-desktop, does not find libffmpeg.so #3692

Open CarliJoy opened 5 years ago

CarliJoy commented 5 years ago
$ cd /opt/Signal 
[kound@koundlap:/opt/Signal]$ ls -al
insgesamt 148564
drwxrwxr-x 5 root  root      4096 Oct 20 16:08 .
drwxr-xr-x 5 kound root      4096 Oct 20 16:08 ..
-rw-r--r-- 1 root  root    145945 Oct 10 21:39 chrome_100_percent.pak
-rw-r--r-- 1 root  root    209147 Oct 10 21:39 chrome_200_percent.pak
-rwxr-xr-x 1 root  root   5099032 Oct 10 21:39 chrome-sandbox
-rw-r--r-- 1 root  root  10410272 Oct 10 21:39 icudtl.dat
-rwxr-xr-x 1 root  root    252168 Oct 10 21:39 libEGL.so
-rwxr-xr-x 1 root  root   2936656 Oct 10 21:39 libffmpeg.so
-rwxr-xr-x 1 root  root   7071360 Oct 10 21:39 libGLESv2.so
-rw-r--r-- 1 root  root      1060 Oct 10 21:39 LICENSE.electron.txt
-rw-r--r-- 1 root  root   3961766 Oct 10 21:39 LICENSES.chromium.html
drwxrwxr-x 2 root  root      4096 Oct 20 16:08 locales
-rw-r--r-- 1 root  root     83237 Oct 10 21:39 natives_blob.bin
drwxrwxr-x 3 root  root      4096 Oct 20 16:08 resources
-rw-r--r-- 1 root  root   8471329 Oct 10 21:39 resources.pak
-rwsrwxr-x 1 root  root 112452376 Oct 10 21:39 signal-desktop
-rw-r--r-- 1 root  root    279704 Oct 10 21:39 snapshot_blob.bin
drwxrwxr-x 2 root  root      4096 Oct 20 16:08 swiftshader
-rw-r--r-- 1 root  root    702376 Oct 10 21:39 v8_context_snapshot.bin
[kound@koundlap:/opt/Signal]$ ./signal-desktop 
./signal-desktop: error while loading shared libraries: libffmpeg.so: cannot open shared object file: No such file or directory

I also tried copying the libary to /usr/lib which will remove the error message but still signal wont start

[kound@koundlap:/opt/Signal]$ ./signal-desktop --verbose && echo okay || echo fail
fail
[kound@koundlap:/opt/Signal]$ 

Expected Result:

signal-desktop should start and be visible without any manual action

Platform Info

Signal Version: 1.27.4 Operating System: Debian Stable (Buster)

kenpowers-signal commented 5 years ago

Hi, @CarliJoy. How did you install Signal on your machine?

njaard commented 5 years ago

I have the same problem. I installed it with the recommended https://updates.signal.org/desktop/apt apt repository.

libffmpeg.so does not exist on debian.

njaard commented 5 years ago

Oh I see, it's because I did chmod +s signal-desktop because otherwise it doesn't start unless you specify --no-sandbox. I think these are the problems:

1) there's no --help for signal-desktop, so you wouldn't know to specify --no-sandbox without reading the .desktop file 2) you have to specify --no-sandbox to begin with

I think the correct solution is to rename signal-desktop to signal-desktop.bin or something, and replace signal-desktop with a shell script that does exec signal-desktop.bin --no-sandbox "$@" (and maybe also provides some --help information).

CarliJoy commented 5 years ago

The solution of @njaard worked for me as well. I used the same recommended method for installing

njaard commented 4 years ago

Just to clarify to the Signal developers: the bug is that the Signal binary needs a special incantation to run. Therefor the solution I mentioned above is for the Signal developers to actually ship their software with.

AmigaGPU commented 4 years ago

This problem reoccured with v1.34.2 of signal-desktop. I used the workaround here and just invoke signal from bash https://github.com/signalapp/Signal-Desktop/issues/3692#issuecomment-546507577

zounp commented 2 years ago

Updated to Signal version 5.62.0 on Debian Buster via the repository. uname -r 4.19.0-22-amd64 cat /etc/debian_version 10.13 All updates installed

Got the issue. Even when I run "signal-desktop --no-sandbox" I get "signal-desktop: error while loading shared libraries: libffmpeg.so: cannot open shared object file: No such file or directory" cd /opt/Signal ls -l libffmpeg.so -rwxr-xr-x 1 root root 2991840 okt 6 01:30 libffmpeg.so ls -l signal-desktop -rwsr-xr-x 1 root root 154991496 okt 6 01:31 signal-desktop

zounp commented 2 years ago

Created signalNOsandbox.sh Containing

! /bin/bash

exec signal-desktop --no-sandbox "$@" Did chmod 740 signalNOsandbox.sh Did ./signalNOsandbox.sh Got: Set Windows Application User Model ID (AUMID) { appUserModelId: 'org.whispersystems.signal-desktop' } NODE_ENV production NODE_CONFIG_DIR /opt/Signal/resources/app.asar/config NODE_CONFIG {} ALLOW_CONFIG_MUTATIONS undefined HOSTNAME undefined NODE_APP_INSTANCE undefined SUPPRESS_NO_CONFIG_WARNING undefined SIGNAL_ENABLE_HTTP undefined userData: /root/.config/Signal config/start: Did not find user config file (or it was empty), cache is now empty object config/start: Did not find ephemeral config file (or it was empty), cache is now empty object making app single instance [24609:1101/180450.768947:ERROR:ozone_platform_x11.cc(247)] Missing X server or $DISPLAY [24609:1101/180450.768996:ERROR:env.cc(226)] The platform failed to initialize. Exiting. [24609:1101/180450.781910:ERROR:node_util.cc(34)] Failed to CompileAndCall electron script: electron/js2c/asar_bundle The futex facility returned an unexpected error code. Aborted /Got:

Any idea's how to get Signal running again? Thanks.

zounp commented 2 years ago

Hmm, reinstalling Signal, via aptitude, solved the issue. Running /opt/Signal/signal-desktop --no-sandbox %U from the launcher in Xfce or /opt/Signal/signal-desktop --no-sandbox from the command line both work.

njaard commented 2 years ago

@zounp it appears that your signal was getting run as root somehow, and then couldn't connect to the X server for that reason.

I really wish the Signal developers would fix this, it's an easy fix with a huge quality-of-life return.

zounp commented 1 year ago

Indeed, you can not run Signal as root. However I did not run Signal as root, I ran Signal as a normal user in a terminal and got the issue (which I solved by reinstalling as mentioned above).