Я запускаю 64-разрядную Ubuntu 14.04. У меня есть ошибка в моем системном лотке:
sudo apt-get update
выполнения обычно.
Но sudo apt-get upgrade
возвращает следующее:
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.
Как предложено, я работал sudo apt-get install -f
в попытке зафиксировать его. Другая ошибка была возвращена:
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)
Вывод 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
Вывод 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 <kubuntu-devel@lists.ubuntu.com>
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 <kubuntu-devel@lists.ubuntu.com>
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
Как я могу устранить эту проблему?
Выполните следующие команды:
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
Это должно зафиксировать его.
От вывода Вашего sudo apt-get upgrade
и 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
потребности libqtcore4:i386
чтобы быть установленным, но по некоторым причинам, это ищет свою версию 4:
(посмотрите на последнюю строку в выводе, который я запросил). Это - число неверной версии. Я не знаю то, что, возможно, заставило это делать это, но мы попытаемся зафиксировать версию, которую это ищет.
Согласно этой странице, мы видим что версия libqtcore4:i386
этому действительно нужно, 4:4.8.5+git192-g085f851+dfsg-2ubuntu4
(из которого Вы уже установили от вывода apt-cache policy libqtcore4:i386
). Таким образом, мы смогли фиксировать это путем редактирования /var/lib/dpkg/status
файл, чтобы заставить его искать правильную версию, и затем пробует apt-get
управляйте снова.