droidcam icon indicating copy to clipboard operation
droidcam copied to clipboard

Error while loading shared libraries: libappindicator3.so.1

Open matheust3 opened this issue 4 years ago • 13 comments

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/"

matheust3 avatar Jun 25 '21 12:06 matheust3

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

aramg avatar Jun 25 '21 16:06 aramg

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

mMerlin avatar Jun 26 '21 13:06 mMerlin

~~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

mishurov avatar Aug 23 '21 23:08 mishurov

On Ubuntu this can be installed with

sudo apt install libappindicator3-1

yatendra1999 avatar Nov 13 '21 09:11 yatendra1999

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

mbiebl avatar Nov 15 '21 21:11 mbiebl

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>
 

mbiebl avatar Nov 15 '21 21:11 mbiebl

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.

aramg avatar Nov 15 '21 21:11 aramg

Is it possible to have a configure script to allow both libraries like other projects do?

tibequadorian avatar Mar 01 '22 22:03 tibequadorian

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 ?

aramg avatar Mar 02 '22 17:03 aramg

master branch updated with option to compile against ayatana-appindicator

aramg avatar Mar 05 '22 20:03 aramg

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

Rong-Tao avatar Dec 23 '23 05:12 Rong-Tao

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

carlosblinf avatar Feb 23 '24 12:02 carlosblinf

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

code4lala avatar Apr 04 '24 02:04 code4lala