Kiedy próbuję zainstalować, libstdc++
używając:
sudo apt-get install libstdc++
Otrzymuję poniższy błąd w Ubuntu. Czy masz jakiś pomysł na ten temat?
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++
(być może próbujesz zainstalowaćlibstdc++6
? Z powodu++
znaków, gdyapt
nie znajduje dokładnego dopasowania, traktuje nazwę pakietu jako wyrażenie regularne, więc w tym przypadku próbuje zainstalować dowolny pakiet, którego nazwa mecze,libstd
po których następuje jeden lub więcejc
- z których wiele jest sprzecznych, jak widaćapt
mówi, że będzie traktować jako nazwy pakietów regexes jeśli obejmują one.
,?
lub*
nie wspominając+
, więc nie jest dokładnie spodziewane zachowanie.Odpowiedzi:
W rzeczywistości nie ma pakietu o nazwie
libstdc++
(być może próbujesz zainstalowaćlibstdc++6
?)Gdy apt nie znajdzie dokładnego dopasowania do nazwy pakietu, traktuje podany ciąg jako wyrażenie regularne. W tym przypadku
++
powoduje to próbę zainstalowania dowolnego pakietu, którego nazwa pasujelibstd
do jednego lub więcejc
- z których wiele powoduje konflikt, jak widać.Niestety, nigdy nie udało mi się wymyślić, jak wyłączyć to zachowanie (wydaje się, że nic, co próbowałem w przeszłości przy użyciu znaków specjalnych, nie działało) - jedynym rozwiązaniem, jakie znam, jest ostrożne podawanie dokładnej nazwy pakietu w miejscu, w którym występują dowolne znaki regularne może zostać źle zinterpretowany i mieć pewność, że katalog pakietów jest aktualny, tj
źródło
^PACKAGE$
Najpierw uruchom te polecenia
a następnie spróbuj
lub wypróbuj ten wynik wyszukiwania i zainstaluj jeden żądany pakiet z wymienionych http://packages.ubuntu.com/search?ke words=libstdc%2B%2B
źródło
libstdc++
uwzględniona wbuild-essential
s?aptitude
jeśli nie używasz go do instalacjilibstdc++6
?źródło