libqt4-opengl: i386 tem dependências não atendidas

3

Estou executando o Ubuntu 14.04 de 64 bits. Eu tenho um erro na bandeja do sistema:

sudo apt-get update é executado normalmente.

Mas sudo apt-get upgrade retorna o seguinte:

Reading package lists... Done
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
 libqt4-opengl:i386 : Depends: libqtcore4:i386 (= 4:) but 4:4.8.5+git192-g085f851+dfsg-2ubuntu4 is installed
E: Unmet dependencies. Try using -f.

Como sugerido, executei sudo apt-get install -f na tentativa de corrigi-lo. Outro erro foi retornado:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following extra packages will be installed:
  libqt4-opengl:i386
The following packages will be upgraded:
  libqt4-opengl:i386
1 upgraded, 0 newly installed, 0 to remove and 10 not upgraded.
Need to get 0 B/300 kB of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] 
dpkg: error: parsing file '/var/lib/dpkg/status' near line 24899 package 'libqt4-opengl:i386':
 'Depends' field, reference to 'libqtcore4': error in version: nothing after colon in version number
E: Sub-process /usr/bin/dpkg returned an error code (2)

A saída de sudo apt-cache policy libqtcore4:i386 é:

libqtcore4:i386:
  Installed: 4:4.8.5+git192-g085f851+dfsg-2ubuntu4
  Candidate: 4:4.8.5+git192-g085f851+dfsg-2ubuntu4
  Version table:
 *** 4:4.8.5+git192-g085f851+dfsg-2ubuntu4 0
        500 http://pt.archive.ubuntu.com/ubuntu/ trusty/main i386 Packages
        100 /var/lib/dpkg/status

A saída de cat -n /var/lib/dpkg/status | sed -n '/Package: libqt4-opengl/,/Depends/p' é:

 24865  Package: libqt4-opengl
 24866  Status: install ok installed
 24867  Priority: optional
 24868  Section: libs
 24869  Installed-Size: 1228
 24870  Maintainer: Kubuntu Developers <[email protected]>
 24871  Architecture: amd64
 24872  Multi-Arch: same
 24873  Source: qt4-x11
 24874  Version: 4:4.8.5+git192-g085f851+dfsg-2ubuntu4
 24875  Depends: libc6 (>= 2.14), libfreetype6 (>= 2.2.1), libgcc1 (>= 1:4.1.1), libgl1-mesa-glx | libgl1, libqtcore4 (= 4:4.8.5+git192-g085f851+dfsg-2ubuntu4), libqtgui4 (= 4:4.8.5+git192-g085f851+dfsg-2ubuntu4), libstdc++6 (>= 4.1.1), libx11-6, libxrender1
 24889  Package: libqt4-opengl
 24890  Status: install ok installed
 24891  Priority: optional
 24892  Section: libs
 24893  Installed-Size: 1220
 24894  Maintainer: Kubuntu Developers <[email protected]>
 24895  Architecture: i386
 24896  Multi-Arch: same
 24897  Source: qt4-x11
 24898  Version: 4:4.8.5+git192-g085f851+dfsg-2ubuntu4
 24899  Depends: libc6 (>= 2.4), libfreetype6 (>= 2.2.1), libgcc1 (>= 1:4.1.1), libgl1-mesa-glx | libgl1, libqtcore4 (= 4:), libqtgui4 (= 4:4.8.5+git192-g085f851+dfsg-2ubuntu4), libstdc++6 (>= 4.1.1), libx11-6, libxrender1

Como posso corrigir esse problema?

    
por faviouz 07.08.2014 / 23:21

1 resposta

4

Execute os seguintes comandos:

sudo cp /var/lib/dpkg/status{,.bak}
sudo sed -i '24899s/(= 4:)/(= 4:4.8.5+git192-g085f851+dfsg-2ubuntu4)/' /var/lib/dpkg/status
sudo apt-get install -f

Isso deve corrigi-lo.

Explicação

Da saída de seu sudo apt-get upgrade e sudo apt-get install -f :

The following packages have unmet dependencies:
 libqt4-opengl:i386 : Depends: libqtcore4:i386 (= 4:) but 4:4.8.5+git192-g085f851+dfsg-2ubuntu4 is installed

dpkg: error: parsing file '/var/lib/dpkg/status' near line 24899 package 'libqt4-opengl:i386':
 'Depends' field, reference to 'libqtcore4': error in version: nothing after colon in version number

libqt4-opengl:i386 precisa de libqtcore4:i386 para ser instalado, mas, por alguma razão, está procurando por sua versão 4: (veja a última linha na saída que solicitei). Esse é um número de versão errado. Eu não sei o que poderia ter causado isso, mas vamos tentar corrigir a versão que está procurando.

De acordo com esta página , podemos ver que a versão do libqtcore4:i386 que ele realmente precisa é 4:4.8.5+git192-g085f851+dfsg-2ubuntu4 (que você já instalou, da saída de apt-cache policy libqtcore4:i386 ). Portanto, poderemos corrigir isso editando o arquivo /var/lib/dpkg/status para que ele procure a versão correta e, em seguida, tente o comando apt-get novamente.

    
por Alaa Ali 10.08.2014 / 15:53