web-dev-qa-db-fra.com

Impossible d'installer les paquetages cassés bloqués essentiels à la compilation

J'essayais donc de configurer mon ordinateur pour le développement. J'ai installé Ubuntu 14.04 LTS. Je voulais écrire un programme hello-world. Cependant je ne peux pas le compiler. Après quelques recherches, j'ai essayé Sudo apt-get install build-essential, qui s'est plaint:

>Sudo apt-get install build-essential
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:
 build-essential : Depends: g++ (>= 4:4.4.3) but it is not going to be installed
                   Depends: dpkg-dev (>= 1.13.5) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

J'ai essayé de changer la source et Sudo apt-get update, Sudo apt-get upgrade, et le problème est resté. J'ai essayé Sudo apt-get autoclean, Sudo apt-get install --fix-broken ou quelque chose du genre, mais qui n'a pas fonctionné.

Aussi, j'ai essayé Sudo aptitude why-not build-essential, qui disait:

>Sudo aptitude why-not build-essential
p   gvfs-bin:i386          Provides   gvfs-bin                         
p   gvfs-bin:i386          Suggests   gvfs:i386                        
p   gvfs:i386              Suggests   gvfs-backends:i386               
p   gvfs-backends:i386     Depends    libgphoto2-port10:i386 (>= 2.5.2)
p   libgphoto2-port10:i386 Suggests   gphoto2:i386 (> 2.1.0)           
p   gphoto2:i386           Suggests   gthumb:i386                      
p   gthumb:i386            Recommends flex:i386                        
p   flex:i386              Suggests   build-essential:i386             
p   build-essential:i386   Conflicts  build-essential 

Alors qu'est-ce qui ne va pas ici?

Aussi mon fichier sources.list:

>cat /etc/apt/sources.list
# deb cdrom:[Ubuntu 14.04.4 LTS _Trusty Tahr_ - Release AMD64 (20160217.1)]/ trusty main restricted

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://mirrors.163.com/ubuntu/ trusty main restricted
deb-src http://mirrors.163.com/ubuntu/ trusty main restricted

## Major bug fix updates produced after the final release of the
## distribution.

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://mirrors.163.com/ubuntu/ trusty universe
deb-src http://mirrors.163.com/ubuntu/ trusty universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu 
## team, and may not be under a free licence. Please satisfy yourself as to 
## your rights to use the software. Also, please note that software in 
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://mirrors.163.com/ubuntu/ trusty multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty multiverse

## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.


## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
deb http://archive.canonical.com/ubuntu trusty partner
# deb-src http://archive.canonical.com/ubuntu trusty partner

## This software is not part of Ubuntu, but is offered by third-party
## developers who want to ship their latest software.
deb http://extras.ubuntu.com/ubuntu trusty main
deb-src http://extras.ubuntu.com/ubuntu trusty main

mon répertoire sources.list.d:

>ls -la /etc/apt/sources.list.d
total 8
drwxr-xr-x 2 root root 4096  4月 10  2014 .
drwxr-xr-x 6 root root 4096  4月 14 14:16 ..

À propos, est-ce que quelqu'un pourrait donner une brève explication sur ce qu'est un colis cassé et pourquoi il apparaît si facilement? Ou quelle est la raison possible/pourquoi cela se produit? Apt-get ne devrait-il pas pouvoir résoudre de tels problèmes ou au moins donner des informations utiles ici? J'ai rencontré cette erreur si souvent récemment et je n'ai trouvé aucune solution.

Merci beaucoup.

2
Andy Ge

Après avoir lutté pendant un moment, j'ai trouvé la solution à ce problème.

D'abord Sudo apt-get install aptitude, qui fonctionne bien. Puis essayez Sudo aptitude install build-essential, qui dit d’abord que quelque chose ne va pas et propose une solution. La première solution proposée ne laisse rien changer, ce qui n'est pas ce que nous voulons, alors choisissez no. Et il propose la deuxième solution, qui fonctionnerait.

En passant, je suis toujours confus car pourquoi devrais-je "détenir des paquets cassés" sur un système Ubuntu nouvellement installé? Qu'est-ce que cela signifie de "tenir des colis cassés"?

4
Andy Ge

Pour une raison quelconque, vous avez build-essential:i386 (la version de 32 bits) installée et votre système, comme vous l'avez dit, il s'agit de 64 bits (c'est-à-dire AMD64).

Tout d’abord, supprimez build-essential:i386:

Sudo apt-get remove build-essential:i386

Puis installez la version 64:

Sudo apt-get install build-essential
3