1

I am trying to install the necessary dependencies for building Chromium on Ubuntu 14.04, and I am facing the following message:

The following packages have unmet dependencies:
 g++-4.8-multilib : Depends: gcc-4.8-multilib (= 4.8.2-19ubuntu1) but it is not going to be installed
                    Depends: lib32stdc++-4.8-dev (= 4.8.2-19ubuntu1) but it is not going to be installed
                    Depends: libx32stdc++-4.8-dev (= 4.8.2-19ubuntu1) but it is not going to be installed
 lib32gcc1 : Depends: gcc-4.9-base (= 4.9-20140406-0ubuntu1) but 4.9.1-0ubuntu1 is to be installed
 libbluetooth-dev : Depends: libbluetooth3 (= 4.101-0ubuntu13) but 4.101-0ubuntu13.1 is to be installed
 libcairo2-dbg : Depends: libcairo2 (= 1.13.0~20140204-0ubuntu1) but 1.13.0~20140204-0ubuntu1.1 is to be installed
 libcairo2-dev : Depends: libcairo2 (= 1.13.0~20140204-0ubuntu1) but 1.13.0~20140204-0ubuntu1.1 is to be installed
                 Depends: libcairo-gobject2 (= 1.13.0~20140204-0ubuntu1) but 1.13.0~20140204-0ubuntu1.1 is to be installed
                 Depends: libfontconfig1-dev (>= 2.2.95) but it is not going to be installed
 libfontconfig1-dbg : Depends: libfontconfig1 (= 2.11.0-0ubuntu4) but 2.11.0-0ubuntu4.1 is to be installed
 libgbm-dev : Depends: libgbm1 (= 10.1.0-4ubuntu5)
 libgl1-mesa-glx:i386 : Depends: libglapi-mesa:i386 (= 10.1.0-4ubuntu5)
                        Recommends: libgl1-mesa-dri:i386 (>= 7.2)
                        Conflicts: libgl1
 libgl1-mesa-glx-lts-utopic : Conflicts: libgl1:i386
                              Conflicts: libgl1-mesa-glx:i386
 libglib2.0-0-dbg : Depends: libglib2.0-0 (= 2.40.0-2) but 2.40.2-0ubuntu1 is to be installed
 libglib2.0-dev : Depends: libglib2.0-0 (= 2.40.0-2) but 2.40.2-0ubuntu1 is to be installed
                  Depends: libglib2.0-bin (= 2.40.0-2)
 libgtk2.0-dev : Depends: libpango1.0-dev (>= 1.20) but it is not going to be installed
 libpango1.0-0-dbg : Depends: libpango-1.0-0 (= 1.36.3-1ubuntu1) but 1.36.3-1ubuntu1.1 is to be installed or
                              libpangocairo-1.0-0 (= 1.36.3-1ubuntu1) but 1.36.3-1ubuntu1.1 is to be installed or
                              libpangoft2-1.0-0 (= 1.36.3-1ubuntu1) but 1.36.3-1ubuntu1.1 is to be installed or
                              libpangoxft-1.0-0 (= 1.36.3-1ubuntu1) but 1.36.3-1ubuntu1.1 is to be installed
 libpulse-dev : Depends: libpulse0 (= 1:4.0-0ubuntu11) but 1:4.0-0ubuntu11.1 is to be installed
                Depends: libpulse-mainloop-glib0 (= 1:4.0-0ubuntu11) but 1:4.0-0ubuntu11.1 is to be installed
 libstdc++6-4.6-dbg : Depends: libgcc1-dbg but it is not going to be installed
 libudev-dev : Depends: libudev1 (= 204-5ubuntu20) but 204-5ubuntu20.11 is to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

You will have to install the above packages yourself.

It says there that I have to install those packages by myself, but how to do this ?

When I am trying to sudo apt-get install <some_package> it tells me (example for gcc-4.8-multilib):

gcc-4.8-multilib : Depends: lib32gcc-4.8-dev (= 4.8.2-19ubuntu1) but it is not going to be installed
                    Depends: libx32gcc-4.8-dev (= 4.8.2-19ubuntu1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Can anybody help me resolve all of these packages installation ?


UPDATE 1:

for sudo apt-get install lib32gcc-4.8-dev I get:

lib32gcc-4.8-dev : Depends: lib32gcc1 (>= 1:4.8.2-19ubuntu1) but it is not going to be installed
                    Depends: libx32gcc1 (>= 1:4.8.2-19ubuntu1) but it is not going to be installed
                    Depends: lib32asan0 (>= 4.8.2-19ubuntu1) but it is not going to be installed
                    Depends: libx32asan0 (>= 4.8.2-19ubuntu1) but it is not going to be installed

and for apt-cache policy lib32gcc-4.8-dev I get:

lib32gcc-4.8-dev:
  Installed: (none)
  Candidate: 4.8.2-19ubuntu1
  Version table:
     4.8.2-19ubuntu1 0
        500 http://ro.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages

UPDATE 2:

for sudo apt-get install lib32gcc1 I get:

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:
 lib32gcc1 : Depends: gcc-4.9-base (= 4.9-20140406-0ubuntu1) but 4.9.1-0ubuntu1 is to be installed
E: Unable to correct problems, you have held broken packages.

and for apt-cache policy lib32gcc1 I get:

 Installed: (none)
  Candidate: 1:4.9-20140406-0ubuntu1
  Version table:
     1:4.9-20140406-0ubuntu1 0
        500 http://ro.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
     1:4.6.3-1ubuntu5 0
        500 mirror://mirrors.ubuntu.com/mirrors.txt/ precise/main amd64 Packages

For apt-cache policy lib32gcc-4.8-dev lib32gcc1 libx32gcc1 lib32asan0 libx32asan0 I get:

lib32gcc-4.8-dev:
  Installed: (none)
  Candidate: 4.8.2-19ubuntu1
  Version table:
     4.8.2-19ubuntu1 0
        500 http://ro.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
lib32gcc1:
  Installed: (none)
  Candidate: 1:4.9-20140406-0ubuntu1
  Version table:
     1:4.9-20140406-0ubuntu1 0
        500 http://ro.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
     1:4.6.3-1ubuntu5 0
        500 mirror://mirrors.ubuntu.com/mirrors.txt/ precise/main amd64 Packages
libx32gcc1:
  Installed: (none)
  Candidate: 1:4.9-20140406-0ubuntu1
  Version table:
     1:4.9-20140406-0ubuntu1 0
        500 http://ro.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
lib32asan0:
  Installed: (none)
  Candidate: 4.8.2-19ubuntu1
  Version table:
     4.8.2-19ubuntu1 0
        500 http://ro.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
libx32asan0:
  Installed: (none)
  Candidate: 4.8.2-19ubuntu1
  Version table:
     4.8.2-19ubuntu1 0
        500 http://ro.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages

UPDATE 3:

For apt-cache policy gcc-4.9-base I get:

gcc-4.9-base:
  Installed: 4.9.1-0ubuntu1
  Candidate: 4.9.1-0ubuntu1
  Version table:
 *** 4.9.1-0ubuntu1 0
        100 /var/lib/dpkg/status
     4.9-20140406-0ubuntu1 0
        500 http://ro.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages

When I try to do sudo apt-get purge gcc-4.9-base, I am getting:

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:
 libgcc1 : Depends: gcc-4.9-base (= 4.9.1-0ubuntu1) but it is not going to be installed
 libudev1 : Depends: libcgmanager0 but it is not going to be installed
            Depends: libnih-dbus1 (>= 1.0.0) but it is not going to be installed
            Depends: libnih1 (>= 1.0.0) but it is not going to be installed
 libxcb1 : Depends: libxau6 but it is not going to be installed
           Depends: libxdmcp6 but it is not going to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
13
  • What does sudo apt-get install lib32gcc-4.8-dev say? What about apt-cache policy lib32gcc-4.8-dev? May 13, 2015 at 8:56
  • @Stephen see the updated question
    – Cajuu'
    May 13, 2015 at 9:00
  • Let's have apt-cache policy lib32gcc-4.8-dev lib32gcc1 libx32gcc1 lib32asan0 libx32asan0. May 13, 2015 at 9:01
  • OK, you need to continue down the rabbit hole: what do sudo apt-get install lib32gcc1 and apt-cache policy lib32gcc1 produce? May 13, 2015 at 9:02
  • @StephenKitt updated
    – Cajuu'
    May 13, 2015 at 9:06

3 Answers 3

1

open your terminal and type as

sudo apt-get autoclean
sudo apt-get autoremove
sudo apt-get update
sudo apt-get dist-upgrade

sudo apt-get autoclean clears out the local repository of retrieved package files in the /var/cache/apt/archives. The difference is that it only removes package filesthat can no longer be downloaded, and are largely useless.

sudo apt-get autoremove used to remove packages that were automatically installed to satisfy dependencies for other packages and are now no longer needed.

autoclean and autoremove used to ensure that there is no unneeded packages which may affect your system.

sudo apt-get update update the sources list and resynchronize the package index files from their sources.

sudo apt-get dist-upgrade dist-upgrade in addition to performing the function of upgrade, also intelligently handles changing dependencies with of packages

3
  • 1
    it would be helpful if you explained why you recommend doing this.
    – hildred
    May 13, 2015 at 20:31
  • I have tried this several times but it didn't work. What worked for me was using aptitude instead of apt-get. That helped me a lot with all the dependencies.
    – Cajuu'
    May 14, 2015 at 4:47
  • @hildred check it now
    – Maythux
    May 14, 2015 at 6:04
1

At least some of your gcc packages are manually installed and correspond to a version which is newer than those in Ubuntu 14.04. To install g++-multilib and its dependencies you'll need to downgrade those packages to the versions in the archives.

Start by running

sudo apt-get install gcc-4.9-base=4.9-20140406-0ubuntu1

and work your way up from there... That should give you a bunch of errors which will tell you which other packages you need to downgrade.

To downgrade the packages, you need to run apt-cache policy on each one to determine which version is in the archive (that's the version with a trusty URL), and add it to the sudo apt-get install line above; so you'd end up with

sudo apt-get install gcc-4.9-base=4.9-20140406-0ubuntu1 package1=version1 package2=version2 ...

Alternatively you could just purge gcc and all related packages and re-install them.

You have other libraries with manually installed versions apparently, so it may take quite a bit of work to restore your system to match the archives.

2
  • How can I downgrade all those packages that are printed out when trying to install gcc ?
    – Cajuu'
    May 13, 2015 at 9:23
  • See my updated answer. It will probably take a fair amount of work to sort everything out! May 13, 2015 at 9:28
0

My solution: in ubuntu's software and update,find the "updates" panel ,select Important security update and Recommended updates,then it works well.

enter image description here

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .