Score:4

How to install libc6-i386 in Ubuntu 20.04 focal?

tr flag

Duplicate?

In the linked question I've posted my sources.list and it was deemed nothing out of the ordinary. So how could my question be a duplicate of fixing sources.list? How is that even remotely helpful?

Original question:

I installed steam from their website. Steam wants to install a bunch of packages, and stops with this error:

Steam needs to install these additional packages:
libc6:amd64 libc6:i386 libegl1:amd64 libegl1:i386 libgbm1:amd64 libgbm1:i386 libgl1-mesa-dri:amd64 libgl1-mesa-dri:i386 libgl1:amd64 libgl1:i386 steam-libs-amd64:amd64 steam-libs-i386:i386

Press return to proceed with the installation: 
......
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libegl1 is already the newest version (1.3.2-1~ubuntu0.20.04.1).
libegl1 set to manually installed.
libgbm1 is already the newest version (21.0.3-0ubuntu0.3~20.04.5).
libgbm1 set to manually installed.
libgl1 is already the newest version (1.3.2-1~ubuntu0.20.04.1).
libgl1 set to manually installed.
libgl1-mesa-dri is already the newest version (21.0.3-0ubuntu0.3~20.04.5).
libgl1-mesa-dri set to manually installed.
libc6 is already the newest version (2.31-0ubuntu9.3).
libc6 set to manually installed.
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:
 libc6 : Breaks: libc6:i386 (!= 2.31-0ubuntu9.3) but 2.31-0ubuntu9.2 is to be installed
 libc6:i386 : Breaks: libc6 (!= 2.31-0ubuntu9.2) but 2.31-0ubuntu9.3 is to be installed
E: Unable to correct problems, you have held broken packages.

Installing libc6-386 manually did not work either:

$ sudo apt install libc6-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:
 libc6-i386 : Depends: libc6 (= 2.31-0ubuntu9.2) but 2.31-0ubuntu9.3 is to be installed
E: Unable to correct problems, you have held broken packages.

Update:

$ apt policy libc6
libc6:
  Installed: 2.31-0ubuntu9.3
  Candidate: 2.31-0ubuntu9.3
  Version table:
 *** 2.31-0ubuntu9.3 100
        100 /var/lib/dpkg/status
     2.31-0ubuntu9.2 500
        500 http://mx.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
     2.31-0ubuntu9 500
        500 http://mx.archive.ubuntu.com/ubuntu focal/main amd64 Packages
$ apt policy libc6-i386
libc6-i386:
  Installed: (none)
  Candidate: 2.31-0ubuntu9.2
  Version table:
     2.31-0ubuntu9.2 500
        500 http://mx.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
     2.31-0ubuntu9 500
        500 http://mx.archive.ubuntu.com/ubuntu focal/main amd64 Packages
Organic Marble avatar
us flag
I'm wondering where version 2.31-0ubuntu9.3 of libc6-i386 is coming from. I got version ...9.2 on a test install. Can you add the output of `apt policy libc6` and `apt policy libc6:i386` to your question please? I suspect a ppa is involved somewhere.
tr flag
I added the output to my question. I must confess that I have no clue what this 2.31-0ubuntu9.* business is about.
Organic Marble avatar
us flag
It appears that the 9.3 version of libc6 was manually installed. It does not come from any repository. Perhaps it is left over from a prior attempt to install steam. I suggest removing it and installing the 9.2 version from focal-updates. Once you do that, the i386 version should install.
tr flag
I'm sure that I've not installed anything (except Steam) not coming from the Ubuntu repositories.
Organic Marble avatar
us flag
If you look at the output from apt policy libc6, you can see that the installed version does not come from any repo currently used on your system. (the line that starts with 100 - notice how all the other versions listed after that give a repo). It could have come from a ppa that you removed.
tr flag
I haven't fiddled with PPA's either.
Organic Marble avatar
us flag
I can only report on what the output of your package manager is showing. You can continue to argue with me, or you could try fixing your system by removing that bad package.
tr flag
`apt remove libc6` wants to remove a HUGE list of packages, warning me that essential packages are going to be removed!
Organic Marble avatar
us flag
You've messed up your system somehow in the past. Instead of removing the package, can you downgrade it using synaptic or aptitude? I don't know if that will work, frankly.
tr flag
I don't know how to do that.
Organic Marble avatar
us flag
If you have synaptic installed, you can find the package, then click Force Version in the Package...menu and select the 9.2 version in the box. But if a lot of other packages on your system depend on it, this may be extremely painful. https://i.imgur.com/Coc8urO.png
tr flag
This action also wants to remove quite a few packages like build-essential, g++, libboost-<various> and several *-dev packages.
Organic Marble avatar
us flag
That's quite unfortunate, and I am out of ideas.
Someone avatar
my flag
You could try using `aptitude` running `sudo apt install aptitude` will install the package and then you could try installing your package again by `sudo aptitude -f install libc6-i386`
N0rbert avatar
zw flag
Your system probably misses `focal-security` pocket. Also you should not have 2.31-0ubuntu9.3 libc, you should have 2.31-0ubuntu9.2. You have to try `sudo aptitude install libc6=2.31-0ubuntu9.2` to fix current problem.
N0rbert avatar
zw flag
Please run `sudo aptitude install libc6=2.31-0ubuntu9.2`
Score:2
tr flag

N0rbert's comment brought me on the right track, but it still wanted to remove quite a list of packages:

$ sudo aptitude install libc6=2.31-0ubuntu9.2
The following packages will be DOWNGRADED:
  libc6 
0 packages upgraded, 0 newly installed, 1 downgraded, 0 to remove and 14 not upgraded.
Need to get 2 715 kB of archives. After unpacking 0 B will be used.
The following packages have unmet dependencies:
 libc6-dbg : Depends: libc6 (= 2.31-0ubuntu9.3) but 2.31-0ubuntu9.2 is to be installed
 libc6-dev : Depends: libc6 (= 2.31-0ubuntu9.3) but 2.31-0ubuntu9.2 is to be installed
The following actions will resolve these dependencies:

      Remove the following packages:                                                       
1)      build-essential [12.8ubuntu1.1 (focal-updates, now)]                               
2)      g++ [4:9.3.0-1ubuntu2 (focal, now)]                                                
3)      g++-9 [9.3.0-17ubuntu1~20.04 (focal-security, focal-updates, now)]                 
4)      libboost-atomic1.71-dev [1.71.0-6ubuntu6 (focal, now)]                             
5)      libboost-chrono1.71-dev [1.71.0-6ubuntu6 (focal, now)]                             
6)      libboost-date-time1.71-dev [1.71.0-6ubuntu6 (focal, now)]                          
7)      libboost-filesystem-dev [1.71.0.0ubuntu2 (focal, now)]                             
8)      libboost-filesystem1.71-dev [1.71.0-6ubuntu6 (focal, now)]                         
9)      libboost-regex-dev [1.71.0.0ubuntu2 (focal, now)]                                  
10)     libboost-regex1.71-dev [1.71.0-6ubuntu6 (focal, now)]                              
11)     libboost-serialization1.71-dev [1.71.0-6ubuntu6 (focal, now)]                      
12)     libboost-system1.71-dev [1.71.0-6ubuntu6 (focal, now)]                             
13)     libboost-thread-dev [1.71.0.0ubuntu2 (focal, now)]                                 
14)     libboost-thread1.71-dev [1.71.0-6ubuntu6 (focal, now)]                             
15)     libboost1.71-dev [1.71.0-6ubuntu6 (focal, now)]                                    
16)     libc6-dbg [2.31-0ubuntu9.3 (now)]                                                  
17)     libc6-dev [2.31-0ubuntu9.3 (now)]                                                  
18)     libexpat1-dev [2.2.9-1build1 (focal, now)]                                         
19)     libfreetype-dev [2.10.1-2ubuntu0.1 (focal-security, focal-updates, now)]           
20)     libfreetype6-dev [2.10.1-2ubuntu0.1 (focal-security, focal-updates, now)]          
21)     libicu-dev [66.1-2ubuntu2.1 (focal-security, focal-updates, now)]                  
22)     libjpeg-dev [8c-2ubuntu8 (focal, now)]                                             
23)     libjpeg-turbo8-dev [2.0.3-0ubuntu1.20.04.1 (focal-security, focal-updates, now)]   
24)     libjpeg8-dev [8c-2ubuntu8 (focal, now)]                                            
25)     libncurses-dev [6.2-0ubuntu2 (focal, now)]                                         
26)     libpng-dev [1.6.37-2 (focal, now)]                                                 
27)     libpython3-dev [3.8.2-0ubuntu2 (focal, now)]                                       
28)     libpython3.8-dev [3.8.10-0ubuntu1~20.04.1 (focal-security, focal-updates, now)]    
29)     libstdc++-9-dev [9.3.0-17ubuntu1~20.04 (focal-security, focal-updates, now)]       
30)     libtiff-dev [4.1.0+git191117-2ubuntu0.20.04.2 (focal-security, focal-updates, now)]
31)     python3-dev [3.8.2-0ubuntu2 (focal, now)]                                          
32)     python3.8-dev [3.8.10-0ubuntu1~20.04.1 (focal-security, focal-updates, now)]       
33)     zlib1g-dev [1:1.2.11.dfsg-2ubuntu1.2 (focal-updates, now)]                         

      Leave the following dependencies unresolved:                                         
34)     dpkg-dev recommends build-essential                                                
35)     gcc recommends libc6-dev | libc-dev                                                
36)     cython3 recommends python3-dev                                                     
37)     gcc-9 recommends libc6-dev (>= 2.13-0ubuntu6)                                      
38)     gdb recommends libc-dbg                                                            
39)     libgcc-9-dev recommends libc6-dev (>= 2.13-0ubuntu6)                               
40)     libpython3.8-dev recommends libc6-dev | libc-dev                                   
41)     python3.8-dev recommends libc6-dev | libc-dev                                      
42)     python3-pip recommends build-essential                                             
43)     python3-pip recommends python3-dev (>= 3.2)                                        

Thus I forced 2.31-0ubuntu9.2 for libc6-dev and libc6-dbg as well:

$ sudo aptitude install libc6=2.31-0ubuntu9.2 libc6-dev=2.31-0ubuntu9.2 libc6-dbg=2.31-0ubuntu9.2

This command ran smoothly. Steam works now.

One questions remains though: How did I mess this up? How did I end up with libc6=2.31-0ubuntu9.3 in the first place? Should I make a new question for this?

Organic Marble avatar
us flag
I am glad you got it sorted out. At some point in the past you must have installed something that, perhaps unbeknownst to you, added a ppa and pulled in a bunch of packages newer that what are in the repos. Subsequently the ppa was removed. Answering such a question would involve digging into the history of your system, what you have installed and removed in the past; I am not sure anyone can answer that for you.
mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.