Установите gcc на Ubuntu 12.04 LTS

55

Когда я пытаюсь установить gcc на Ubuntu 12.04 LTS Server с apt-get install gcc, я получаю следующую ошибку:

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

Когда я углубляюсь глубже (т.е. пытаюсь apt-get install gcc-4.6), я получаю:

 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

Поэтому, когда я пытаюсь установить, gcc-4.6=4.6.1-9ubuntu3я получаю список из 366 пакетов для удаления (включая, например, apt). Что сумасшествие.

Это по сути ванильная установка Ubuntu 12.04 LTS Server (т.е. я установил nginx, python-flup, python-yaml, rsync, python-pkg-resources, lsof, fontconfig, iptables, ufw, scons и grc).

Мне очень удивительно, что я не могу установить gcc, поэтому я несколько озадачен тем, почему попытка установить gcc не удалась. Казалось бы, единственное очевидное исправление - удаление 366 пакетов, многие из которых являются центральными для работы Ubuntu.

Что-то не складывается, и я был бы очень благодарен за помощь.

РЕДАКТИРОВАТЬ Выше, конечно, с последними пакетами, которые использовались, apt-get update; apt-get upgradeпрежде чем пытаться выше. Извините, я должен был упомянуть это.

Брайан М. Хант
источник
1
Вы пробовали обновление sudo apt-get
Tachyons

Ответы:

89

Существует метапакет, build-essentialкоторый должен установить компилятор и несколько связанных / нужных пакетов:

sudo apt-get install build-essential

Предложение сначала сделать, sudo apt-get updateэто звук, это обновит списки пакетов, и все версии должны совпадать.

Это, однако, если вы не изменили свой /etc/apt/sources.listфайл вручную. Если это так, то, возможно, некоторые внесенные вами изменения или добавленные вами репозитории содержат конфликтующие пакеты, которые вызывают проблемы, которые вы видите. Если это так, пожалуйста, посмотрите на файл и исправьте проблемные записи. Конечно, если вам нужна помощь, вы можете опубликовать свой sources.listфайл (или любые фрагменты в нем /etc/apt/sources.list.d), и, возможно, кто-то может помочь вам исправить их.

roadmr
источник
2
Проблема была в том, что ошибочное упоминание об одностороннем в sources.list. Когда я удалил эту ссылку, все установилось естественно. Отличное предложение для поиска sources.listпроблемы - Спасибо - высоко ценится.
Брайан М. Хант
4

Постарайся идти глубже:

sudo apt-get update
sudo apt-get install gcc-4.6-base cpp-4.6 libgomp1 libquadmath0 libc6-dev
Дэвид М. Соуза
источник
1

Сначала напишите команду:

sudo apt-get update

Тогда попробуйте:

sudo apt-get install gcc

Я сделал это, и это сработало! Вы также должны попробовать это.

Если это не работает, то:

sudo apt-get install build-essential

Тогда попробуй. Я надеюсь, что это будет работать!

Мастер Программист
источник
Привет Мастер Программист, добро пожаловать в askubuntu! Во-первых, при составлении ответа используйте инструменты форматирования, особенно блочный, чтобы облегчить отслеживание ответа. Во-вторых, почти точный ответ уже был дан. Пригласите принять участие в туре и научитесь писать хорошие ответы.
Nephente
Во-вторых, ваш ответ существенно не улучшит другие ответы, которые уже существуют. (Это не квалифицируется как «Не ответ», но он получает этот комментарий)
Томас Уорд