skip to Main Content

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

11

Answers


  1. 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

    Login or Signup to reply.
  2. 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

    Login or Signup to reply.
  3. 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.

    Login or Signup to reply.
  4. 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

    Login or Signup to reply.
  5. 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
    
    Login or Signup to reply.
  6. 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
    
    Login or Signup to reply.
  7. 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
    
    Login or Signup to reply.
  8. 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
    
    Login or Signup to reply.
  9. The problem is the Ubuntu package libappindicator3-1 in Debian is called libayatana-appindicator3-1.

    The cleanest solution by far in this situation is to create an alias package libappindicator3-1 with libayatana-appindicator3-1 as its dependency.

    For example, using equivs:

    sudo apt-get install equivs
    
    cat <<EOM >libappindicator3.txt
    Package: libappindicator3-1
    Version: 1.0
    Depends: libayatana-appindicator3-1
    Section: misc
    Architecture: amd64
    Description: fake alias package
    EOM
    
    equivs-build libappindicator3.txt
    
    sudo apt-get install ./libappindicator3-1_1.0_amd64.deb
    

    Voilà! Now you can install slack-desktop.deb as-is normally.

    sudo apt-get install ./slack-desktop-4.27.156-amd64.deb
    
    Login or Signup to reply.
  10. From the other answer, I have created a slack.deb file which can be installed by normal process.

    sudo dpkg -i slack.deb
    

    Link to the slack.deb file: slack.deb file

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search