Я следовал следующим инструкциям для установки 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.
Просто для информации, на Precise Pangolin 12.04 это можно просто сделать с помощью
sudo add-apt-repository ppa:cassou/emacs
sudo apt-get update
sudo apt-get install emacs-snapshot
и он работает «из коробки».
У меня установлен 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 и попробовал его.
Я думаю, что это может быть полезно http://zabambo.com/blog/?p=45
, хотя это для 24.1, вы можете изменить версию, как вы хотите ,
emacs23
, если emacs-snapshot
будет работать, я сделал следующее:
Прежде чем продолжить, посмотрите, какие пакеты emacs могут быть установлены с помощью команды sudo apt-cache search emacs. Если вы можете пожертвовать всем на выходе, сделайте следующее предложение.
sudo apt-get remove `apt-cache search emacs | awk '{print $1}'` --purge
Если в выводе появляется что-то еще, что вы хотите сохранить, быстрый способ избавиться от ненужных вещей - перенаправить вывод команды в файл, отредактируйте этот файл, а затем использовать содержимое этого файла для аргументов apt-get remove
.
sudo apt-cache search emacs > remove.txt
remove.txt
, удалив строки пакетов , которые вы хотите сохранить . Цель здесь - избавиться от всего, что связано с emacs, поэтому оставьте эти пакеты в файле. 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
sudo apt-get install emacs-snapshot
Это предполагает, что вы правильно добавили PPA (я также использую PPA cassou). Кажется, теперь все работает хорошо!
aptitude
С момента написания этого ответа я перешел на использование aptitude
для управления моими пакетами в командной строке. Мне не нравится графический интерфейс (ncurses), который вы получаете от выпуска sudo aptitude
, поэтому я использую его только тогда, когда мне нужно разрешить зависимости / конфликты, оставшиеся от экспериментов с различными средами рабочего стола. В большинстве случаев я просто использую его как замену apt-get
, как в sudo aptitude install [package]
.