Почему я не могу установить эти пакеты?
Я хочу установить библиотеку curl в Ubuntu 12.04 LTS. Для этого я использую следующую команду: sudo apt-get install libcurl4-openssl-dev. но я получил ошибки как
ajay@ajay-K54L:~$ sudo apt-get install libcurl4-openssl-dev
[sudo] password for ajay:
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:
libcurl4-openssl-dev : Depends: libkrb5-dev but it is not going to be installed
Depends: librtmp-dev but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Всякий раз, когда я пытаюсь установить зависимости, это показывает, что пакеты уже установлены:
ajay@ajay-K54L:~$ sudo apt-get install -f libkrb5-dev
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:
libkrb5-dev : Depends: krb5-multidev (= 1.10+dfsg~beta1-2) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
ajay@ajay-K54L:~$ sudo apt-get install -f krb5-multidev
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:
krb5-multidev : Depends: libkrb5-3 (= 1.10+dfsg~beta1-2) but 1.10+dfsg~beta1-2ubuntu0.3 is to be installed
Depends: libk5crypto3 (= 1.10+dfsg~beta1-2) but 1.10+dfsg~beta1-2ubuntu0.3 is to be installed
Depends: libgssapi-krb5-2 (= 1.10+dfsg~beta1-2) but 1.10+dfsg~beta1-2ubuntu0.3 is to be installed
E: Unable to correct problems, you have held broken packages.
ajay@ajay-K54L:~$ sudo apt-get install -f libkrb5-3
Reading package lists... Done
Building dependency tree
Reading state information... Done
libkrb5-3 is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
Что мне нужно сделать?
Я попробовал следующую команду
apt-cache policy libkrb5-3 krb5-multidev libk5crypto3 libgssapi-krb5-2 libcurl4-openssl-dev
и это дает мне вывод как:
ibkrb5-3:
Installed: 1.10+dfsg~beta1-2ubuntu0.3
Candidate: 1.10+dfsg~beta1-2ubuntu0.3
Version table:
*** 1.10+dfsg~beta1-2ubuntu0.3 0
100 /var/lib/dpkg/status
1.10+dfsg~beta1-2 0
500 http://in.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages
krb5-multidev:
Installed: (none)
Candidate: 1.10+dfsg~beta1-2
Version table:
1.10+dfsg~beta1-2 0
500 http://in.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages
libk5crypto3:
Installed: 1.10+dfsg~beta1-2ubuntu0.3
Candidate: 1.10+dfsg~beta1-2ubuntu0.3
Version table:
*** 1.10+dfsg~beta1-2ubuntu0.3 0
100 /var/lib/dpkg/status
1.10+dfsg~beta1-2 0
500 http://in.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages
libgssapi-krb5-2:
Installed: 1.10+dfsg~beta1-2ubuntu0.3
Candidate: 1.10+dfsg~beta1-2ubuntu0.3
Version table:
*** 1.10+dfsg~beta1-2ubuntu0.3 0
100 /var/lib/dpkg/status
1.10+dfsg~beta1-2 0
500 http://in.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages
libcurl4-openssl-dev:
Installed: (none)
Candidate: 7.22.0-3ubuntu4
Version table:
7.22.0-3ubuntu4 0
500 http://in.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages
1 ответ
Решение
Вывод, который вы предоставили на apt-cache policy
подтверждает мое подозрение по поводу устаревших списков.
Для примера krb5-multidev
в 12.04 вы должны увидеть версию 1.10+dfsg~beta1-2ubuntu0.3
в качестве кандидата предоставляется через precise-updates
,
krb5-multidev:
Installed: 1.10+dfsg~beta1-2ubuntu0.3
Candidate: 1.10+dfsg~beta1-2ubuntu0.3
Version table:
*** 1.10+dfsg~beta1-2ubuntu0.3 0
500 http://nl.archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
500 http://security.ubuntu.com/ubuntu/ precise-security/main amd64 Packages
100 /var/lib/dpkg/status
1.10+dfsg~beta1-2 0
500 http://nl.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages
Итак, как я уже предложил в комментариях, запустите
sudo apt-get update
И все должно быть готово (повторите установку, а также обновите систему!).