Error while loading shared libraries: libappindicator3.so.1
Describe the bug
On start droidcom:
droidcam: error while loading shared libraries: libappindicator3.so.1: cannot open shared object file: No such file or directory
Additional context
❯ uname -r
4.19.0-17-amd64
❯ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
Debian has removed libappindicator, while most distros still support it. Could you try this workaround: https://github.com/signalapp/Signal-Desktop/issues/4761#issuecomment-778144713
Same issue on fedora 33 as of a couple of kernel updates back. It still works on a machine that has not been updated yet (5.12.9-200.fc33.x86_64). On updated system, fixed with
sudo dnf install libappindicator-gtk3
~~http://http.us.debian.org/debian/pool/main/libi/libindicator/libindicator3-7_0.5.0-4_amd64.deb~~ ~~http://http.us.debian.org/debian/pool/main/liba/libappindicator/libappindicator3-1_0.4.92-8_amd64.deb~~
upd: https://files.dev47apps.net/linux/libindicator3-7_0.5.0-4_amd64.deb https://files.dev47apps.net/linux/libappindicator3-1_0.4.92-7_amd64.deb
On Ubuntu this can be installed with
sudo apt install libappindicator3-1
I guess the idea is to have everything ported to libayatana-indicator ,
See https://tracker.debian.org/pkg/libayatana-indicator https://wiki.debian.org/Ayatana/IndicatorsTransition
The patch is probably as simple as apt install libayatana-appindicator3-dev
diff --git a/Makefile b/Makefile
index 7be3c15..b7f16c4 100644
--- a/Makefile
+++ b/Makefile
@@ -13,7 +13,7 @@ JPEG_LIB ?= $(JPEG_DIR)/lib`getconf LONG_BIT`
CC = gcc
CFLAGS = -Wall -O2
GTK = `pkg-config --libs --cflags gtk+-3.0` `pkg-config --libs x11`
-GTK += `pkg-config --cflags --libs appindicator3-0.1`
+GTK += `pkg-config --cflags --libs ayatana-appindicator3-0.1`
LIBAV = `pkg-config --libs --cflags libswscale libavutil`
LIBS = -lspeex -lasound -lpthread -lm
JPEG = -I$(JPEG_INCLUDE) $(JPEG_LIB)/libturbojpeg.a
diff --git a/src/droidcam.c b/src/droidcam.c
index cfb6458..6857978 100644
--- a/src/droidcam.c
+++ b/src/droidcam.c
@@ -7,7 +7,7 @@
*/
#include <gtk/gtk.h>
-#include <libappindicator/app-indicator.h>
+#include <libayatana-appindicator/app-indicator.h>
#include <X11/Xlib.h>
#include <stdint.h>
Main concern is other distros, and older systems. People will be trying to get the client for all kinds of machines. So far the client has been generically available; it might be time to just package it.
Is it possible to have a configure script to allow both libraries like other projects do?
Is it possible to have a configure script to allow both libraries like other projects do?
Do you have an example of a similar-ish project using both, just for reference ?
master branch updated with option to compile against ayatana-appindicator
On Ubuntu this can be installed with
sudo apt install libappindicator3-1
For me, another command is needed as well:
sudo apt-get install libayatana-appindicator3-1
The patch is probably as simple as apt install libayatana-appindicator3-dev
diff --git a/Makefile b/Makefile index 7be3c15..b7f16c4 100644 --- a/Makefile +++ b/Makefile @@ -13,7 +13,7 @@ JPEG_LIB ?= $(JPEG_DIR)/lib`getconf LONG_BIT` CC = gcc CFLAGS = -Wall -O2 GTK = `pkg-config --libs --cflags gtk+-3.0` `pkg-config --libs x11` -GTK += `pkg-config --cflags --libs appindicator3-0.1` +GTK += `pkg-config --cflags --libs ayatana-appindicator3-0.1` LIBAV = `pkg-config --libs --cflags libswscale libavutil` LIBS = -lspeex -lasound -lpthread -lm JPEG = -I$(JPEG_INCLUDE) $(JPEG_LIB)/libturbojpeg.a diff --git a/src/droidcam.c b/src/droidcam.c index cfb6458..6857978 100644 --- a/src/droidcam.c +++ b/src/droidcam.c @@ -7,7 +7,7 @@ */ #include <gtk/gtk.h> -#include <libappindicator/app-indicator.h> +#include <libayatana-appindicator/app-indicator.h> #include <X11/Xlib.h> #include <stdint.h>
This work for me, thks
another similar error
/usr/bin/localsend_app: error while loading shared libraries: libayatana-appindicator3.so.1: cannot open shared object file: No such file or directory
could be resolved by sudo apt install libayatana-appindicator3-1 on ubuntu