Невозможно установить Emacs 24 из ppa: cassou / emacs

8

Я следовал приведенным ниже инструкциям, чтобы установить Emacs 24 на мою машину (заимствовано из: http://www.mikeyboldt.com/2011/11/30/install-emacs-24-in-ubuntu/ ):

sudo add-apt-repository ppa:cassou/emacs
sudo apt-get update
sudo apt-get install emacs-snapshot

Но я получаю следующие ошибки:

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:
emacs-snapshot : Depends: libgnutls26 (>= 2.12.6.1-0) but 2.10.5-1ubuntu3 is to be installed
Depends: libmagickcore4 (>= 8:6.6.9.7) but it is not installable
Depends: libmagickwand4 (>= 8:6.6.9.7) but it is not installable
E: Unable to correct problems, you have held broken packages.
Кевин Альбрехт
источник
1
Попробовать sudo apt-get install -f?
jrg
Не повезло. После запуска sudo apt-get install -f и затем sudo apt-get autoremove я все еще получаю ту же ошибку.
Кевин Альбрехт
Я сталкиваюсь с этой же проблемой.
GeneralBecos
Я просто попробовал еще раз после обновления, и теперь это работает!
GeneralBecos

Ответы:

5

У меня была такая же ошибка вчера. Я попытался установить каждый пакет emacs в хранилище, и когда это не сработало, мне пришло в голову, что, возможно, проблема в конфликтах. Так как я не нужен , emacs23если emacs-snapshotбудет работать, я сделал следующее:

Удалить все пакеты Emacs

Прежде чем продолжить, посмотрите, какие пакеты emacs могут быть установлены, выполнив команду sudo apt-cache search emacs. Если вы можете пожертвовать всем на выходе, сделайте следующее предложение.

sudo apt-get remove `apt-cache search emacs | awk '{print $1}'` --purge

Если в выводе появляется что-то еще, что вы хотите сохранить, быстрый способ избавиться от того, что вам не нужно, - это перенаправить вывод команды в файл, отредактировать этот файл и затем использовать содержимое этот файл для аргументов apt-get remove.

  1. sudo apt-cache search emacs > remove.txt
  2. Отредактируйте remove.txt, удалив строки пакетов, которые вы хотите сохранить . Цель здесь - избавиться от всего, что связано с emacs, поэтому оставьте эти пакеты в файле.
  3. sudo cat remove.txt | xargs apt-get remove --purge

Вы можете получить некоторые ошибки здесь, так как emacs-snapshot не удалось правильно установить. Если вы это сделаете, попробуйте удалить эти пакеты вручную, сначала принудительно установив поврежденные пакеты, а затем удалите и очистите их.

sudo apt-get -f install # don't list packages here
sudo apt-get remove emacs-snapshot --purge

Это, вероятно , также хорошая идея autocleanи autoremove.

sudo apt-get autoclean
sudo apt-get autoremove

Установите Emacs 24

sudo apt-get install emacs-snapshot

Это предполагает, что вы правильно добавили PPA (я также использую PPA cassou). Кажется, теперь все работает хорошо!

Пытаться aptitude

С самого начала написания этого ответа я перешел на использование aptitudeдля управления своими пакетами в командной строке. Мне не нравится графический интерфейс (ncurses), который вы получаете от выпуска sudo aptitude, поэтому я использую его только тогда, когда мне нужно разрешить зависимости / конфликты, оставшиеся от экспериментов с различными средами рабочего стола. Большую часть времени я просто использую его в качестве замены для замены apt-get, как в sudo aptitude install [package].

Связанный: aptitude все еще считается превосходящим apt-get?

jrhorn424
источник
я бы не стал делать это в 12.04 sudo apt-get remove apt-cache search emacs | awk '{print $1}'--purge Я хотел сделать это, но он хотел удалить половину Ubuntu Banshee Unity Geany и все остальные 291MB Ubuntu.
скажем
Я согласен, что не желательно делать это вслепую. Я отредактировал свой ответ, чтобы предложить проверить вывод apt-cache search emacsперед продолжением. Для меня это было единственное решение, которое решило проблему. Я не вспоминаю о необходимости что-либо переустанавливать, но если вы допустите ошибку, это будет легко исправить с помощью менеджера пакетов.
jrhorn424
@ jrhorn424 не может выполнить эту команду "sudo apt-get remove apt-cache search emacs | awk '{print $1}'--purge".
легенда
2

Я установил Emacs из этого PPA, и я проверил зависимости. Ubuntu 11.10 работает с этим PPA из коробки, поэтому у вас не должно быть никаких проблем. Вот список зависимостей для снимка emacs:

emacs-snapshot-bin-common (= 1:20111227-1~ppa1~oneiric1)libasound2 (>> 1.0.24.1), libc6 (>= 2.11), libcairo2 (>= 1.2.4), libdbus-1-3 (>= 1.1.1), libfontconfig1 (>= 2.8.0), libfreetype6 (>= 2.2.1), libgdk-pixbuf2.0-0 (>= 2.22.0), libgif4 (>= 4.1.4), libglib2.0-0 (>= 2.26.0), libgnutls26 (>= 2.9.11-0), libgpm2 (>= 1.20.4), libgtk-3-0 (>= 3.0.0), libice6 (>= 1:1.0.0), libjpeg62 (>= 6b1), libm17n-0 (>= 1.6.1), libmagickcore3 (>= 8:6.6.0.4), libmagickwand3 (>= 8:6.6.0.4), libncurses5 (>= 5.5-5~), libotf0 (>= 0.9.11), libpng12-0 (>= 1.2.13-4), librsvg2-2 (>= 2.14.4), libselinux1 (>= 1.32), libsm6, libtiff4, libtinfo5 (>= 5.6+20070908), libx11-6, libxft2 (>> 2.1.1), libxml2 (>= 2.7.4), libxpm4, libxrender1

Что-то гадость в ваших зависимостях. Я бы отключил PPA, сделал обновление apt-get и обновился, затем apt-get clean, затем снова включил PPA и попробовал его.

Анмар Оуэха
источник
1

Просто для информации, на Precise Pangolin 12.04 это можно просто сделать с

sudo add-apt-repository ppa:cassou/emacs
sudo apt-get update
sudo apt-get install emacs-snapshot

и это работает из коробки.

леонард вертигель
источник
«Из коробки» вы имеете в виду новую установку? Есть emacsуже присутствует , когда вы установили emacs-snapshot?
jrhorn424
Извините, я имею в виду: после того, как я дал эти команды, он работает без какого-либо другого вмешательства.
Леонард Вертигель
0

Я думаю, что это может быть полезно http://zabambo.com/blog/?p=45

хотя это для 24.1, вы можете изменить версию, как вы хотите.

STATICOR
источник
Добро пожаловать в Спросите Ubuntu! Хотя это может теоретически ответить на вопрос, было бы предпочтительным включить сюда основные части ответа и предоставить ссылку для справки.
Эрик Карвалью