Can't install Steam because of unmet dependencies

10,485

Solution 1

Install it again from their website's .deb file and then open a terminal (ctrl+alt+t) and use these two commands:

mv ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libgcc_s.so.1{,.disable}
mv ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6{,.disable}

After that, start Steam and let it update.

P.S.: it might be possible that after the update steam fails to start again, but then just rerun those two commands. The missing lib error comes from steam trying to use own libraries instead of using the system's ones.

To fix you ongoing problems run this in a terminal:

sudo apt-get update
sudo apt-get install libgl1-mesa-glx libcheese*

Solution 2

Tried all top Google solutions. None of them worked for me.

Came across this answer that described how we can reset broken packages.

Take a backup of the file /var/lib/dpkg/status first. Then erase all the contents of that file.

Then run sudo apt install steam. It may prompt you if there are files that already exist and will be overwritten. Best that you check for the differences in the file's contents. In my case, I decided to use the one from the package maintainers itself instead of my own.

Steam installed smoothly. Did not get any unmet dependencies error.

When I tried to start steam, I got an error about glxchoosevisual failed. For this, I then had to install libnvidia-gl-450:i386 library. Note that in my case, my nvidia driver version was 450 so used that. You need to use your version here. That's it! Steam then launched fine.

Sharing it here in case it helps somebody.

Solution 3

Sometimes apt-get misbehaves when it comes to resolving dependencies on broken packages. Try running

sudo apt-get update && sudo apt-get install -f && sudo apt-get upgrade.

Briefly:

  • sudo apt-get update refreshes the list of packages from the repository online
  • sudo apt-get install -f installs any unmet dependencies for packages you're either installing or have installed
  • sudo apt-get upgrade tries the upgrade again
Share:
10,485

Related videos on Youtube

grooveplex
Author by

grooveplex

Who in the world am I? Ah, that's the great puzzle

Updated on September 18, 2022

Comments

  • grooveplex
    grooveplex over 1 year

    Today I tried to install Steam using sudo apt-get install steam.

    It didn't work and showed me this error:

    barend@barend-ubu:~$ sudo apt-get install steam
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    Some packages could not be installed. This may mean that you have
    requested an impossible situation or if you are using the unstable
    distribution that some required packages have not yet been created
    or been moved out of Incoming.
    The following information may help to resolve the situation:
    
    The following packages have unmet dependencies:
     steam:i386 : Depends: libgl1-mesa-glx:i386
    E: Unable to correct problems, you have held broken packages.
    

    Then I tried sudo apt-get install -f to fix the broken dependencies.
    That didn't work either.

    I then searched on Google, and I found this question on AskUbuntu

    The most upvoted answer suggested sudo apt-get install libc6:i386 libgl1-mesa-dri-lts-utopic:i386 libgl1-mesa-glx-lts-utopic:i386 or sudo apt-get install libc6:i386 libgl1-mesa-dri-lts-vivid:i386 libgl1-mesa-glx-lts-vivid:i386, neither of which work for me and fail with the following error:

    barend@barend-ubu:~$ sudo apt-get install libc6:i386 libgl1-mesa-dri-lts-utopic:i386 libgl1-mesa-glx-lts-utopic:i386
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    Some packages could not be installed. This may mean that you have
    requested an impossible situation or if you are using the unstable
    distribution that some required packages have not yet been created
    or been moved out of Incoming.
    The following information may help to resolve the situation:
    
    The following packages have unmet dependencies:
     indicator-bluetooth : Depends: unity-control-center but it is not going to be installed or
                                    gnome-control-center but it is not going to be installed or
                                    ubuntu-system-settings but it is not going to be installed
     libgl1-mesa-dri-lts-utopic:i386 : Conflicts: libgl1-mesa-dri
     libgl1-mesa-glx-lts-utopic:i386 : Depends: libglapi-mesa-lts-utopic:i386 (= 10.3.2-0ubuntu1~trusty2) but it is not going to be installed
                                       Depends: libudev1:i386 but it is not going to be installed
     libqt5feedback5 : Depends: libqt5multimedia5 (>= 5.0.2) but it is not going to be installed
    E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
    

    It might be good to know that I tried to install Steam using the deb from their website, then it couldn't start because of an error, "You are missing the following 32-bit libraries, and Steam may not run: libc.so.6" and I uninstalled Steam with sudo apt-get remove steam.

    My question is: How can I install Steam again and fix the broken packages?

    Update:

    I tried what @Videonauth suggested, but it's still not working. A Terminal window popped up with this:

    Steam needs to install these additional packages: 
      libgl1-mesa-dri:i386, libgl1-mesa-glx:i386, libc6:i386
    

    I entered my password, and then...

    [sudo] password for barend: 
    ................................................................................................
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    Some packages could not be installed. This may mean that you have
    requested an impossible situation or if you are using the unstable
    distribution that some required packages have not yet been created
    or been moved out of Incoming.
    The following information may help to resolve the situation:
    
    The following packages have unmet dependencies:
     libgl1-mesa-glx:i386 : Depends: libglapi-mesa:i386 (= 10.1.3-0ubuntu0.6)
                            Depends: libudev1:i386 but it is not going to be installed or
                                     libudev0:i386 but it is not installable
     unity-control-center : Depends: libcheese-gtk23 (>= 3.4.0) but it is not going to be installed
                            Depends: libcheese7 (>= 3.0.1) but it is not going to be installed
    E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
    Press return to continue: 
    

    What do I do now?

    Output of apt-cache policy libgl1-mesa-glx libgl1-mesa-glx:i386 as requested by @Videonauth:

      libgl1-mesa-glx:
        Installed: (none)
        Candidate: 10.1.3-0ubuntu0.6
        Version table:
           10.1.3-0ubuntu0.6 0
              500 http://ftp.nluug.nl/os/Linux/distr/ubuntu/ trusty-updates/main amd64 Packages
           10.1.0-4ubuntu5 0
              500 http://ftp.nluug.nl/os/Linux/distr/ubuntu/ trusty/main amd64 Packages
      libgl1-mesa-glx:i386:
        Installed: (none)
        Candidate: 10.1.3-0ubuntu0.6
        Version table:
           10.1.3-0ubuntu0.6 0
              500 http://ftp.nluug.nl/os/Linux/distr/ubuntu/ trusty-updates/main i386 Packages
           10.1.0-4ubuntu5 0
              500 http://ftp.nluug.nl/os/Linux/distr/ubuntu/ trusty/main i386 Packages
    

    Update:

    Thanks to all of you, @Videonauth and @Mark Kirby and @ijustlovemath who tried to help me out and I really do appreciate it, but nothing has worked for me so far. Hmm, no Steam for me, I guess...

    If you advise me to do this, what would be the best way to clean my system up? I've installed and removed a lot of packages while trying all your solutions and I'm not sure if I can just sudo apt-get remove steam or have to do a lot more.

    • Videonauth
      Videonauth about 8 years
      Can you add the output of apt-cache policy libgl1-mesa-glx libgl1-mesa-glx:i386 please
    • Mark Kirby
      Mark Kirby about 8 years
      Have you enabled 32bit support for these dependencies? Run sudo dpkg --add-architecture i386 and try again.
    • David your friend
      David your friend about 7 years
      Do you currently have installed, the up-to-date graphics drivers from AMD / Nvidia / or Intel?
    • David your friend
      David your friend about 7 years
      For missing libGL 32-bit libraries, check the fix for libGL on the ArchLinux Wiki for Steam/Troubleshooting. It's been mentioned several times in the past for missing libGL after installing Steam.
  • Videonauth
    Videonauth about 8 years
    Wellcome to Ask Ubuntu. If it worked for you dont forget to accept the answer :)
  • grooveplex
    grooveplex about 8 years
    please see my updated question
  • Videonauth
    Videonauth about 8 years
    Check my revised answer.
  • grooveplex
    grooveplex about 8 years
    Thanks for your time, but it's still not working... @videonauth. Your command also removed a bunch of stuff. Is it safe to just sudo apt-get remove steam now or what do I have to do?
  • Videonauth
    Videonauth about 8 years
    Should be safe, sad you have so many problems with steam, i really dont get it why they still reside on a precise build. Makes the whole thing really a problem.