Substitua os pacotes '0ubuntu1 ~ 12.04' por '16ubuntu6'

1

Eu recentemente atualizei meu servidor do Ubuntu 12.04 para 14.10. Eu tinha instalado o GCC 4.9 (4.9.2 aparentemente) antes da atualização e hoje eu queria instalar o gcc-4.9-multilib, mas o apt-get me deu:

gcc-4.9-multilib : Depends: gcc-4.9 (= 4.9.1-16ubuntu6) but 4.9.2-0ubuntu1~12.04 is to be installed

Então eu removi o gcc-4.9 e queria reinstalá-lo, mas o mesmo jogo acontece com o gcc-4.9-base:

 gcc-4.9 : Depends: cpp-4.9 (= 4.9.1-16ubuntu6) but 4.9.2-0ubuntu1~12.04 is to be installed
           Depends: gcc-4.9-base (= 4.9.1-16ubuntu6) but 4.9.2-0ubuntu1~12.04 is to be installed

cpp-4.9 Eu poderia remover, mas remover o gcc-4.9-base não deixaria muito mais do que o kernel por trás eu acho ...

[ Demasiado longo, clique para colar ]

Eu também tentei usar aptitude para remover 4.9.2-0ubuntu1 ~ 12.04 e instalar 4.9.1-16ubuntu6, mas quando tento aplicar as alterações selecionadas, ele me dá:

Some packages were broken and have been fixed:
Keep the following packages at their current version:
gcc-4.9-base [4.9.2-0ubuntu1~12.04 (now)]

Então, como eu me livre desse material 12.04 sem remover todo o meu sistema operacional?

Editar:

Minhas fontes:

bash$ cat /etc/apt/sources.list /etc/apt/sources.list.d/*.list
deb http://archive.ubuntu.com/ubuntu utopic main
deb http://archive.ubuntu.com/ubuntu utopic-updates main
deb http://security.ubuntu.com/ubuntu utopic-security main universe restricted
deb http://archive.ubuntu.com/ubuntu utopic universe restricted
deb http://archive.ubuntu.com/ubuntu utopic-updates universe restricted
deb http://pkg.jenkins-ci.org/debian binary/
# deb http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu utopic main
# deb-src http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu utopic main

Tentando consertar qualquer coisa quebrada:

bash$ sudo apt-get -f install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Informação da política:

bash$ apt-cache policy gcc-4.9
gcc-4.9:
  Installed: (none)
  Candidate: 4.9.1-16ubuntu6
  Version table:
     4.9.1-16ubuntu6 0
        500 http://archive.ubuntu.com/ubuntu/ utopic/main amd64 Packages

Tentando instalar o gcc-4.9:

bash$ sudo apt-get install gcc-4.9
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 gcc-4.9 : Depends: cpp-4.9 (= 4.9.1-16ubuntu6) but it is not going to be installed
           Depends: gcc-4.9-base (= 4.9.1-16ubuntu6) but 4.9.2-0ubuntu1~12.04 is to be installed
E: Unable to correct problems, you have held broken packages.

Tentando instalar o gcc-4.9-base = 4.9.1-16ubuntu6:

[ Demasiado longo, clique para colar ]

Tentando atualizar o Ubuntu:

bash$ sudo do-release-upgrade
Checking for a new Ubuntu release
No new release found

E eu não estou no LTS:

bash$ cat /etc/update-manager/release-upgrades
# Default behavior for the release upgrader.

[DEFAULT]
# Default prompting behavior, valid options:
#
#  never  - Never check for a new release.
#  normal - Check to see if a new release is available.  If more than one new
#           release is found, the release upgrader will attempt to upgrade to
#           the release that immediately succeeds the currently-running
#           release.
#  lts    - Check to see if a new LTS release is available.  The upgrader
#           will attempt to upgrade to the first LTS release available after
#           the currently-running one.  Note that this option should not be
#           used if the currently-running release is not itself an LTS
#           release, since in that case the upgrader won't be able to
#           determine if a newer release is available.
Prompt=normal

Atualização:

bash$ sudo apt-get update
Ign http://archive.ubuntu.com utopic InRelease
Ign http://security.ubuntu.com utopic-security InRelease
Ign http://archive.ubuntu.com utopic-updates InRelease
Get:1 http://security.ubuntu.com utopic-security Release.gpg [933 B]
Hit http://archive.ubuntu.com utopic Release.gpg
Get:2 http://security.ubuntu.com utopic-security Release [62.0 kB]
Get:3 http://archive.ubuntu.com utopic-updates Release.gpg [933 B]
Ign http://pkg.jenkins-ci.org binary/ InRelease
Hit http://archive.ubuntu.com utopic Release
Get:4 http://archive.ubuntu.com utopic-updates Release [62.0 kB]
Get:5 http://security.ubuntu.com utopic-security/main amd64 Packages [110 kB]
Hit http://pkg.jenkins-ci.org binary/ Release.gpg
Get:6 http://security.ubuntu.com utopic-security/universe amd64 Packages [46.6 kB]
Hit http://pkg.jenkins-ci.org binary/ Release
Get:7 http://security.ubuntu.com utopic-security/restricted amd64 Packages [8,496 B]
Hit http://archive.ubuntu.com utopic/main amd64 Packages
Get:8 http://security.ubuntu.com utopic-security/main i386 Packages [109 kB]
Hit http://pkg.jenkins-ci.org binary/ Packages
Hit http://archive.ubuntu.com utopic/universe amd64 Packages
Get:9 http://security.ubuntu.com utopic-security/universe i386 Packages [46.5 kB]
Hit http://archive.ubuntu.com utopic/restricted amd64 Packages
Get:10 http://security.ubuntu.com utopic-security/restricted i386 Packages [8,438 B]
Hit http://archive.ubuntu.com utopic/main i386 Packages
Get:11 http://security.ubuntu.com utopic-security/main Translation-en [52.8 kB]
Hit http://archive.ubuntu.com utopic/universe i386 Packages
Hit http://security.ubuntu.com utopic-security/restricted Translation-en
Hit http://archive.ubuntu.com utopic/restricted i386 Packages
Hit http://archive.ubuntu.com utopic/main Translation-en
Get:12 http://security.ubuntu.com utopic-security/universe Translation-en [25.7 kB]
Hit http://archive.ubuntu.com utopic/main Translation-en_GB
Hit http://archive.ubuntu.com utopic/restricted Translation-en
Hit http://archive.ubuntu.com utopic/restricted Translation-en_GB
Hit http://archive.ubuntu.com utopic/universe Translation-en
Hit http://archive.ubuntu.com utopic/universe Translation-en_GB
Get:13 http://archive.ubuntu.com utopic-updates/main amd64 Packages [162 kB]
Get:14 http://archive.ubuntu.com utopic-updates/universe amd64 Packages [63.3 kB]
Get:15 http://archive.ubuntu.com utopic-updates/restricted amd64 Packages [8,496 B]
Get:16 http://archive.ubuntu.com utopic-updates/main i386 Packages [160 kB]
Ign http://pkg.jenkins-ci.org binary/ Translation-en_US
Ign http://pkg.jenkins-ci.org binary/ Translation-en
Get:17 http://archive.ubuntu.com utopic-updates/universe i386 Packages [63.2 kB]
Ign http://pkg.jenkins-ci.org binary/ Translation-en_GB
Get:18 http://archive.ubuntu.com utopic-updates/restricted i386 Packages [8,438 B]
Get:19 http://archive.ubuntu.com utopic-updates/main Translation-en [74.2 kB]
Hit http://archive.ubuntu.com utopic-updates/restricted Translation-en
Get:20 http://archive.ubuntu.com utopic-updates/universe Translation-en [35.2 kB]
Fetched 1,108 kB in 5s (216 kB/s)
Reading package lists... Done

Atualização:

bash$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Dist-upgrade:

bash$ sudo apt-get dist-upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

E algo que eu encontrei:

bash$ apt list -a gcc-4.9-base
Listing... Done
gcc-4.9-base/now 4.9.2-0ubuntu1~12.04 amd64 [installed,local]
gcc-4.9-base/utopic 4.9.1-16ubuntu6 amd64
    
por Siguza 17.01.2015 / 22:48

1 resposta

0

Eu tive o mesmo problema. Eu tentei desclassificar todos os pacotes do gcc sem sucesso porque o apt-get não conseguiu encontrar a versão correta do libgcc1, embora o apt-cache tenha me dito que ele sabia:

$ sudo apt-get install  libgcc1=4.9.1-16ubuntu6
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Version '4.9.1-16ubuntu6' for 'libgcc1' was not found

Eu baixei libgcc1_4.9.1-16ubuntu6_i386.deb e /var/cache/apt/archives/libgcc1_4.9.1-16ubuntu6_amd64.deb manualmente do site e consegui fazer o downgrade com este comando:

sudo aptitude install gcc-4.9-base=4.9.1-16ubuntu6 gcc-4.9=4.9.1-16ubuntu6 \
libasan1=4.9.1-16ubuntu6 libquadmath0=4.9.1-16ubuntu6 lib32gcc1=4.9.1-16ubuntu6 \ 
lib32stdc++6=4.9.1-16ubuntu6 libubsan0=4.9.1-16ubuntu6 cpp-4.9=4.9.1-16ubuntu6 \ 
libgomp1=4.9.1-16ubuntu6 libtsan0=4.9.1-16ubuntu6 libx32asan1=4.9.1-16ubuntu6 \
libcilkrts5=4.9.1-16ubuntu6 lib32ubsan0=4.9.1-16ubuntu6 libx32itm1=4.9.1-16ubuntu6 \ 
libx32gcc-4.9-dev=4.9.1-16ubuntu6 libgcc1=4.9.1-16ubuntu6 \ 
lib32gcc-4.9-dev=4.9.1-16ubuntu6 libx32gomp1=4.9.1-16ubuntu6 \ 
libx32atomic1=4.9.1-16ubuntu6 libobjc4=4.9.1-16ubuntu6 \
libx32cilkrts5=4.9.1-16ubuntu6 libatomic1=4.9.1-16ubuntu6 \
lib32asan1=4.9.1-16ubuntu6 gcc-4.9-multilib=4.9.1-16ubuntu6 \
lib32cilkrts5=4.9.1-16ubuntu6 gcc-4.9=4.9.1-16ubuntu6 \
libx32quadmath0=4.9.1-16ubuntu6 lib32gomp1=4.9.1-16ubuntu6 \
lib32atomic1=4.9.1-16ubuntu6 lib32itm1=4.9.1-16ubuntu6 \
libx32gcc1=4.9.1-16ubuntu6 libgfortran3=4.9.1-16ubuntu6 \
libgcc-4.9-dev=4.9.1-16ubuntu6 liblsan0=4.9.1-16ubuntu6 \
libstdc++6=4.9.1-16ubuntu6 lib32quadmath0=4.9.1-16ubuntu6 \
libitm1=4.9.1-16ubuntu6 gcc-4.9-base=4.9.1-16ubuntu6 \
gcc-4.9-base:i386=4.9.1-16ubuntu6 libx32ubsan0=4.9.1-16ubuntu6 \ 
libstdc++6:i386=4.9.1-16ubuntu6 \
/path/to/libgcc1_4.9.1-16ubuntu6_amd64.deb \
/path/to/libgcc1_4.9.1-16ubuntu6_i386.deb

Você pode precisar de menos entradas lá - se o apt informar que vai instalar 'novos' pacotes, em vez de desclassificar os existentes, você poderá remover esses pacotes.

    
por steveire 31.01.2015 / 15:43