Почему я не могу установить эти пакеты?

Я хочу установить библиотеку 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

И все должно быть готово (повторите установку, а также обновите систему!).

Другие вопросы по тегам