'Missing libappindicator3-1 installing Slack

Here's the output when I try to install Slack.

$ sudo dpkg -i slack-desktop-4.12.2-amd64.deb 
Selecting previously unselected package slack-desktop.
(Reading database ... 155664 files and directories currently installed.)
Preparing to unpack slack-desktop-4.12.2-amd64.deb ...
Unpacking slack-desktop (4.12.2) ...
dpkg: dependency problems prevent configuration of slack-desktop:
 slack-desktop depends on libappindicator3-1; however:
  Package libappindicator3-1 is not installed.

dpkg: error processing package slack-desktop (--install):
 dependency problems - leaving unconfigured
Processing triggers for desktop-file-utils (0.26-1) ...
Processing triggers for mailcap (3.68) ...
Errors were encountered while processing:
 slack-desktop

Then I try to install the dependencies

$ sudo apt install -f
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following packages will be REMOVED:
  slack-desktop
0 upgraded, 0 newly installed, 1 to remove and 1 not upgraded.
1 not fully installed or removed.
After this operation, 148 MB disk space will be freed.
Do you want to continue? [Y/n] 

I can't figure out why this happens. I've already run

apt-get update
apt-get upgrade
apt-get clean
apt-get autoclean

Here's some information that may be useful:

$ cat /etc/apt/sources.list
deb http://deb.debian.org/debian testing main contrib non-free

$ cat /etc/*release*
PRETTY_NAME="Debian GNU/Linux bullseye/sid"
NAME="Debian GNU/Linux"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

Also, I have another laptop running Debian testing with libappindicator3-1 installed:

$ apt policy libappindicator3-1
libappindicator3-1:
  Installed: 0.4.92-8
  Candidate: 0.4.92-8
  Version table:
 *** 0.4.92-8 100
        100 /var/lib/dpkg/status


Solution 1:[1]

I had such issue with new version of Debian 11 (2021-09-07). Here is what I did to install Slack desktop app on Debian. 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

Solution 2:[2]

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

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

Solution 3:[3]

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

Solution 4:[4]

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

Solution 5:[5]

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

Solution 6:[6]

You can try using Dpkg-ayatana to install packages.

I've tested it with Discord, Draw.io, Figma, and Slack on Kali GNU/Linux Rolling.

To install Slack version x.x.x, run:

sudo dpkg-ayatana -i slack-desktop-x.x.x-amd64.deb

Solution 7:[7]

The package libappindicator3-1 is not in testing but is available in Debian stable and sid

# apt show libappindicator3-1
Package: libappindicator3-1
Version: 0.4.92-7
APT-Sources: http://ftp.fr.debian.org/debian buster/main amd64 Packages

Hopefully you can install it from there without breaking anything

Solution 8:[8]

Solution 9:[9]

Enabling snaps on Debian:

sudo apt update
sudo apt install snapd
sudo snap install core

and installing Slack:

sudo snap install slack --classic

worked for me.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Gerold Meisinger
Solution 2 aparkerlue
Solution 3 lgallard
Solution 4 ouflak
Solution 5
Solution 6 mayekukhisa
Solution 7 roneo.org
Solution 8 Esmaeil MIRZAEE
Solution 9 it-design