Я недавно сделал новую установку Ubuntu, попал в беспорядок, пытаясь установить gcc-4.8, я попробовал несколько разных вещей, и теперь я застрял, пытаясь вернуться к тому, с чего начал.

#> sudo apt-get install build-essential
The following packages have unmet dependencies.
 build-essential : Depends: gcc (>= 4:4.4.3) but it is not going to be installed
                   Depends: g++ (>= 4:4.4.3) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

#> sudo apt-get install gcc
The following packages have unmet dependencies.
 gcc : Depends: gcc-4.8 (>= 4.8.1-4~) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Я удалил как можно больше вещей, связанных с gcc. Я думаю, что единственный пакет gcc- *, установленный на данный момент, это gcc-4.8-base:amd64, но если я попытаюсь удалить это:

libgcc1 : Depends: gcc-4.8-base (= 4.8.2-1ubuntu1) but it is not going to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

Аналогично, единственный установленный пакет libgcc- * - это libgcc1:amd64, и я пытаюсь удалить это:

The following packages have unmet dependencies.
 libc6 : Depends: libgcc1 but it is not going to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

Попытка удалить что-либо связанное с libc6 дает мне несколько страшных вариантов и не имеет смысла.

На данный момент это мой sources.list, я отключил некоторые вещи и обновил.

# deb cdrom:[Kubuntu 13.10 _Saucy Salamander_ - Release amd64 (20131016.1)]/ saucy main multiverse restricted universe

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

## Major bug fix updates produced after the final release of the
## distribution.
deb http://gb.archive.ubuntu.com/ubuntu/ saucy-updates main restricted
deb-src http://gb.archive.ubuntu.com/ubuntu/ saucy-updates main restricted

## 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://gb.archive.ubuntu.com/ubuntu/ saucy universe
deb-src http://gb.archive.ubuntu.com/ubuntu/ saucy universe
deb http://gb.archive.ubuntu.com/ubuntu/ saucy-updates universe
deb-src http://gb.archive.ubuntu.com/ubuntu/ saucy-updates 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://gb.archive.ubuntu.com/ubuntu/ saucy multiverse
deb-src http://gb.archive.ubuntu.com/ubuntu/ saucy multiverse
deb http://gb.archive.ubuntu.com/ubuntu/ saucy-updates multiverse
deb-src http://gb.archive.ubuntu.com/ubuntu/ saucy-updates 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.
deb http://gb.archive.ubuntu.com/ubuntu/ saucy-backports main restricted universe multiverse
deb-src http://gb.archive.ubuntu.com/ubuntu/ saucy-backports main restricted universe multiverse

deb http://security.ubuntu.com/ubuntu saucy-security main restricted
deb-src http://security.ubuntu.com/ubuntu saucy-security main restricted
deb http://security.ubuntu.com/ubuntu saucy-security universe
deb-src http://security.ubuntu.com/ubuntu saucy-security universe
deb http://security.ubuntu.com/ubuntu saucy-security multiverse
deb-src http://security.ubuntu.com/ubuntu saucy-security multiverse

## 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 saucy partner
# deb-src http://archive.canonical.com/ubuntu saucy 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 saucy main
# deb http://archive.canonical.com/ saucy partner
# deb-src http://archive.canonical.com/ saucy partner
# deb-src http://extras.ubuntu.com/ubuntu saucy main
# deb-src http://archive.canonical.com/ saucy partner

Я не понимаю метких ошибок. Я очень мало знаю об apt в целом. Сообщения об ошибках не имеют смысла, я не понимаю, почему несколько версий gcc не могут сосуществовать (они делали это при предыдущей установке) или как возможно, что любые установленные пакеты будут препятствовать установке других пакетов. Я не знаю, как получить больше информации о проблеме.

На данный момент моя цель - избавиться от всего, что связано с gcc-4.8, и просто установить стандартный gcc (независимо от версии). Что я делаю?

Спасибо

3 ответа3

1

Используя aptitude вместо apt-get, я смог понизить версию существующих пакетов, а затем установить как обычно.

0

При поиске ошибки вы обнаружите ответ в Ask Ubuntu - кажется, вы "держали" пакет (я бы поставил GCC) в более ранней версии, и это приводит к тому, что apt-get не может разрешить зависимости, для которых требуется более поздняя версия. версия.

Чтобы открепить пакет, перейдите по ссылке в комментариях к этому ответу, которая перенесет вас на другой вопрос, на который также есть ответ.

0

Вы всегда можете удалить все найденные gcc. Вы можете запросить пакеты gcc, которые вы установили, через dpkg -l Cheat Sheet и удалить через apt-get purge gcc Cheat Sheet. Новая установка gcc, которую вы ищите, должна устранить вашу ошибку. Не забудьте запустить apt-get autoremove/autoclean после, чтобы сохранить все в чистоте :). Надеюсь это поможет.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .