Zainstaluj gcc na Ubuntu 12.04 LTS

55

Gdy próbuję zainstalować gcc na serwerze Ubuntu 12.04 LTS Server apt-get install gcc, pojawia się następujący błąd:

The following packages have unmet dependencies:
 gcc : Depends: cpp (>= 4:4.6.1-2ubuntu5) but it is not going to be installed
       Depends: gcc-4.6 (>= 4.6.1-1) but it is not going to be installed
       Recommends: libc6-dev but it is not going to be installed or
                   libc-dev

Gdy zagłębiam się głębiej (tj. Próbuję apt-get install gcc-4.6), otrzymuję:

 gcc-4.6 : Depends: gcc-4.6-base (= 4.6.1-9ubuntu3) but 4.6.3-1ubuntu5 is to be installed
           Depends: cpp-4.6 (= 4.6.1-9ubuntu3) but it is not going to be installed
           Depends: libgomp1 (>= 4.6.1-9ubuntu3) but it is not going to be installed
           Depends: libquadmath0 (>= 4.6.1-9ubuntu3) but it is not going to be installed
           Recommends: libc6-dev (>= 2.13-0ubuntu6) but it is not going to be installed

Więc kiedy próbuję zainstalować gcc-4.6=4.6.1-9ubuntu3, otrzymuję listę 366 pakietów do usunięcia (w tym np apt.). Co jest szaleństwem.

Jest to zasadniczo waniliowa instalacja serwera Ubuntu 12.04 LTS Server (tzn. Zainstalowałem nginx, python-flup, python-yaml, rsync, python-pkg-resources, lsof, fontconfig, iptables, ufw, scons i grc).

Jest dla mnie bardzo zaskakujące, że nie mogę zainstalować gcc, więc jestem nieco zdezorientowany, dlaczego próba instalacji gcc kończy się niepowodzeniem. Jedyną widoczną poprawką wydaje się być odinstalowanie 366 pakietów, z których wiele ma kluczowe znaczenie dla działania Ubuntu.

Coś się nie zgadza i byłbym bardzo wdzięczny za pomoc.

EDYCJA Powyższe dotyczy oczywiście najnowszych pakietów, które zostały użyte apt-get update; apt-get upgradeprzed próbą wykonania powyższych. Przepraszam, powinienem o tym wspomnieć.

Brian M. Hunt
źródło
1
Czy próbowałeś aktualizacji sudo apt-get
Tachyons

Odpowiedzi:

89

Istnieje metapakiet, build-essentialktóry powinien zainstalować kompilator i kilka powiązanych / potrzebnych pakietów:

sudo apt-get install build-essential

Sugestia, aby najpierw sudo apt-get updateto zrobić, to dźwięk, spowoduje to aktualizację list pakietów i wszystkie wersje powinny ładnie pasować.

Jest tak jednak, jeśli /etc/apt/sources.listplik nie został zmodyfikowany ręcznie. Jeśli tak, to może niektóre z wprowadzonych zmian lub dodanych repozytoriów zawierają sprzeczne pakiety, które powodują występujące problemy. W takim przypadku spójrz na plik i napraw kłopotliwe wpisy. Oczywiście, jeśli potrzebujesz pomocy, możesz opublikować swój sources.listplik (lub dowolne fragmenty /etc/apt/sources.list.d) i być może ktoś może pomóc Ci je naprawić.

roadmr
źródło
2
Problemem było błędne odniesienie do oneriki w sources.list. Kiedy usunąłem to odniesienie, wszystko zostało zainstalowane naturalnie. Świetna propozycja sources.listrozwiązania problemu - dziękuję - bardzo doceniona.
Brian M. Hunt
4

Staraj się iść głębiej:

sudo apt-get update
sudo apt-get install gcc-4.6-base cpp-4.6 libgomp1 libquadmath0 libc6-dev
David M. Sousa
źródło
1

Najpierw napisz polecenie:

sudo apt-get update

Więc spróbuj:

sudo apt-get install gcc

Zrobiłem to i zadziałało! Powinieneś także spróbować.

Jeśli to nie działa, to:

sudo apt-get install build-essential

Więc spróbuj. Mam nadzieję, że to zadziała!

Master Programmer
źródło
Cześć Master Programmer, witamy na askubuntu! Po pierwsze, podczas tworzenia odpowiedzi użyj narzędzi do formatowania - zwłaszcza formatu blokowego - aby ułatwić śledzenie odpowiedzi. Po drugie, prawie dokładnie taka odpowiedź została już udzielona. Zapraszamy na wycieczkę i dowiedz się, jak pisać dobre odpowiedzi.
Nephente
Po drugie, twoja odpowiedź nie poprawia się znacząco w stosunku do innych odpowiedzi, które już istnieją. (Nie kwalifikuje się jako „nie jest odpowiedzią”, ale otrzymuje ten komentarz)
Thomas Ward