Missing libappindicator3-1 installing Slack

I had such issue with new version of Debian. Here is what I did to install Slack desktop app on Debian 11. I will use slack-desktop-4.19.2-amd64.deb file for the example

dpkg-deb -x slack-desktop-4.19.2-amd64.deb unpack
dpkg-deb --control slack-desktop-4.19.2-amd64.deb unpack/DEBIAN

Open the file ./unpack/DEBIAN/control and replace libappindicator3-1 with libayatana-appindicator3-1

After that do

dpkg -b unpack slack.deb

Now you should have slack.deb file.

The last step is sudo apt install ./slack.deb

Or you can use below script

#!/bin/bash

package="$1"
name="$(basename ${package} .deb)"

dpkg-deb -x "$package" "$name"
dpkg-deb --control "$package" "$name"/DEBIAN
sed -i -- 's/libappindicator3-1/libayatana-appindicator3-1/g' ./"$name"/DEBIAN/control
new="${name}-debian.deb"
dpkg -b "$name" "$new" 
rm -rf "$name"
sudo apt install ./"$new"

like this:

apt-install-libayatana BreakTimer.deb

Source is here https://github.com/rofrol/dotfiles/blob/master/bin/apt-install-libayatana


For Debian 11 (Bullseye), you can manually download the Debian 10 (Buster) version of the missing dependencies:

  • Debian -- Package Download Selection -- libappindicator3-1_0.4.92-7_amd64.deb
  • Debian -- Package Download Selection -- libindicator3-7_0.5.0-4_amd64.deb

You can then install these together with Slack:

sudo apt install \
     ./libappindicator3-1_0.4.92-7_amd64.deb \
     ./libindicator3-7_0.5.0-4_amd64.deb \
     ./slack-desktop-4.20.0-amd64.deb

You can include Sid in your /etc/apt/sources.list as follows:

###### Debian Main Repos
deb http://deb.debian.org/debian/ testing main contrib non-free
deb http://deb.debian.org/debian/ testing-updates main contrib non-free
deb http://deb.debian.org/debian-security testing-security main

# SID
deb http://deb.debian.org/debian/ sid main contrib non-free

Update your repos and install libappindicator3-1:

apt update
apt install libappindicator3-1

The next step is to remove Sid from your /etc/apt/sources.list:

###### Debian Main Repos
deb http://deb.debian.org/debian/ testing main contrib non-free
deb http://deb.debian.org/debian/ testing-updates main contrib non-free
deb http://deb.debian.org/debian-security testing-security main

# SID
#deb http://deb.debian.org/debian/ sid main contrib non-free

Remember to update your repos to avoid using Sid now on:

Finally install Slack from .deb file you had downloaded:

apt install /home/lgallard/Downloads/slack-desktop-4.14.0-amd64.deb

Alternatively you can use pinned packages explained in the Debian documentation, for pinning libappindicator3-1


You can try this:

wget http://ftp.us.debian.org/debian/pool/main/libi/libindicator/libindicator3-7_0.5.0-4_amd64.deb
wget http://ftp.us.debian.org/debian/pool/main/liba/libappindicator/libappindicator3-1_0.4.92-7_amd64.deb

sudo dpkg -i libindicator3-7_0.5.0-4_amd64.deb
sudo dpkg -i libappindicator3-1_0.4.92-7_amd64.deb
sudo dpkg -i slack-desktop-4.12.2-amd64.deb

It is better to use equivs:

It's no cruder than going in and munging the dependencies in a package file before you install it, and it has the substantial benefit of persisting the hack over package upgrades on both sides of the spoofed dependency. https://www.reddit.com/r/debian/comments/q7ymc7/convert_deb_to_use_libayatanaappindicator3/hgluc40/

$ sudo apt install equivs
$ equivs-control libappindicator3-1.equivs
$ $EDITOR libappindicator3-1.equivs
$ cat libappindicator3-1.equivs
Section: misc
Priority: optional
Standards-Version: 1.0
Package: libappindicator3-1
Description: dummy libappindicator3-1 package
Depends: libayatana-appindicator3-1
$ equivs-build libappindicator3-1.equivs
$ sudo dpkg -i libappindicator3-1_1.0_all.deb
$ sudo dpkg -i BreakTimer.deb
  • https://www.reddit.com/r/debian/comments/q7ymc7/convert_deb_to_use_libayatanaappindicator3/
  • https://wiki.debian.org/Packaging/HackingDependencies
  • equivs dummy package version number syntax
  • https://github.com/tom-james-watson/breaktimer-app/releases