Lorsque j'essaie d'installer en libstdc++
utilisant:
sudo apt-get install libstdc++
J'obtiens l'erreur ci-dessous dans Ubuntu. En avez-vous une idée?
The following packages have unmet dependencies:
libstdc++-4.8-doc : Conflicts: libstdc++6-4.4-doc but 4.4.7-8ubuntu1 is to be installed
Conflicts: libstdc++6-4.6-doc but 4.6.4-6ubuntu2 is to be installed
Conflicts: libstdc++6-4.7-doc but 4.7.3-12ubuntu1 is to be installed
libstdc++-4.9-doc : Conflicts: libstdc++-4.8-doc but 4.8.5-2ubuntu1~14.04.1 is to be installed
Conflicts: libstdc++6-4.4-doc but 4.4.7-8ubuntu1 is to be installed
Conflicts: libstdc++6-4.6-doc but 4.6.4-6ubuntu2 is to be installed
Conflicts: libstdc++6-4.7-doc but 4.7.3-12ubuntu1 is to be installed
libstdc++-5-doc : Conflicts: libstdc++-4.8-doc but 4.8.5-2ubuntu1~14.04.1 is to be installed
Conflicts: libstdc++-4.9-doc but 4.9.3-8ubuntu2~14.04 is to be installed
Conflicts: libstdc++6-4.4-doc but 4.4.7-8ubuntu1 is to be installed
Conflicts: libstdc++6-4.6-doc but 4.6.4-6ubuntu2 is to be installed
Conflicts: libstdc++6-4.7-doc but 4.7.3-12ubuntu1 is to be installed
libstdc++6-4.6-dbg : Conflicts: libstdc++6-4.4-dbg but 4.4.7-8ubuntu1 is to be installed
libstdc++6-4.6-doc : Conflicts: libstdc++6-4.4-doc but 4.4.7-8ubuntu1 is to be installed
libstdc++6-4.7-dbg : Conflicts: libstdc++6-4.4-dbg but 4.4.7-8ubuntu1 is to be installed
Conflicts: libstdc++6-4.6-dbg but 4.6.4-6ubuntu2 is to be installed
libstdc++6-4.7-doc : Conflicts: libstdc++6-4.4-doc but 4.4.7-8ubuntu1 is to be installed
Conflicts: libstdc++6-4.6-doc but 4.6.4-6ubuntu2 is to be installed
libstdc++6-4.8-dbg : Conflicts: libstdc++6-4.4-dbg but 4.4.7-8ubuntu1 is to be installed
Conflicts: libstdc++6-4.6-dbg but 4.6.4-6ubuntu2 is to be installed
Conflicts: libstdc++6-4.7-dbg but 4.7.3-12ubuntu1 is to be installed
libstdc++6-4.8-dbg-armhf-cross : Conflicts: libstdc++6-4.7-dbg-armhf-cross but 4.7.3-11ubuntu1cross1.85 is to be installed
libstdc++6-4.9-dbg : Conflicts: libstdc++6-4.4-dbg but 4.4.7-8ubuntu1 is to be installed
Conflicts: libstdc++6-4.6-dbg but 4.6.4-6ubuntu2 is to be installed
Conflicts: libstdc++6-4.7-dbg but 4.7.3-12ubuntu1 is to be installed
Conflicts: libstdc++6-4.8-dbg but 4.8.5-2ubuntu1~14.04.1 is to be installed
libstdc++6-5-dbg : Conflicts: libstdc++6-4.4-dbg but 4.4.7-8ubuntu1 is to be installed
Conflicts: libstdc++6-4.6-dbg but 4.6.4-6ubuntu2 is to be installed
Conflicts: libstdc++6-4.7-dbg but 4.7.3-12ubuntu1 is to be installed
Conflicts: libstdc++6-4.8-dbg but 4.8.5-2ubuntu1~14.04.1 is to be installed
Conflicts: libstdc++6-4.9-dbg but 4.9.3-8ubuntu2~14.04 is to be installed
E: Unable to correct problems, you have held broken packages.
libstdc++
(peut-être que vous essayez d'installerlibstdc++6
? En raison des++
caractères, lorsqu'ilapt
ne trouve pas de correspondance exacte, il traite le nom du package comme une expression régulière , dans ce cas, il essaie d'installer un package dont le nom matchslibstd
suivis par un ou plusieursc
- dont beaucoup sont en conflit, comme vous pouvez le voir.apt
indique qu'elle traitera les noms de paquet comme des expressions rationnelles s'ils incluent.
,?
ou*
sans mentionner+
, donc le comportement n'est pas exactement prévu.Réponses:
Il n'y a en fait pas de package appelé
libstdc++
(peut-être que vous essayez d'installerlibstdc++6
?)Lorsque apt ne trouve pas de correspondance exacte avec un nom de package, il traite la chaîne donnée comme une expression régulière. Dans ce cas, le
++
fait essayer d'installer tout package dont le nom correspondlibstd
suivi d'un ou de plusieursc
- dont plusieurs sont en conflit, comme vous pouvez le voir.Malheureusement, je n'ai jamais réussi à comprendre comment désactiver ce comportement (rien de ce que j'ai essayé dans le passé en utilisant des caractères d'échappement ne semble fonctionner) - la seule solution que je connaisse est de faire attention à donner un nom de package exact où tous les caractères d'expression régulière pourrait être mal interprété, et pour vous assurer que le catalogue de paquets est à jour, c.-à-d.
la source
^PACKAGE$
Exécutez d'abord ces commandes
puis essayez
ou essayez ce résultat de recherche et installez un package souhaité à partir de http://packages.ubuntu.com/search?keywords=libstdc%2B%2B
la source
libstdc++
inclus dans lebuild-essential
s?aptitude
si vous ne l'utilisez pas pour l'installationlibstdc++6
?la source