Impossibile installare Emacs 24 da ppa: cassou / emacs


8

Ho seguito le seguenti istruzioni per installare Emacs 24 sul mio computer (preso in prestito da: 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

Ma ottengo i seguenti errori:

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
Provare sudo apt-get install -f?
jrg

Senza fortuna. Dopo aver eseguito sudo apt-get install -f e quindi sudo apt-get autoremove, ottengo ancora lo stesso errore.
Kevin Albrecht,

Sto affrontando esattamente lo stesso problema.
GeneralBecos,

Ho appena provato di nuovo dopo un aggiornamento e ora ha funzionato!
GeneralBecos,

Risposte:


5

Ho avuto lo stesso errore ieri. Ho provato a installare tutti i pacchetti emacs nel repository e, quando non ha funzionato, mi è venuto in mente che forse i conflitti erano il problema. Dal momento che non ho avuto bisogno emacs23se emacs-snapshotavrebbe funzionato, ho fatto la seguente:

Disinstallare tutti i pacchetti Emacs

Prima di procedere, dai un'occhiata a quali pacchetti emacs potrebbero essere installati emettendo "sudo apt-cache search emacs". Se puoi sacrificare tutto nell'output, procedi con il seguente suggerimento.

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

Se viene visualizzato qualcos'altro nell'output che si desidera conservare, un modo rapido per sbarazzarsi delle cose che non si desidera è reindirizzare l'output del comando su un file, modificare quel file e quindi utilizzare il contenuto di quel file per argomenti a apt-get remove.

  1. sudo apt-cache search emacs > remove.txt
  2. Modifica remove.txteliminando le linee di pacchetti che desideri conservare . L'obiettivo qui è quello di sbarazzarsi di tutto ciò che riguarda emacs, quindi lasciare quei pacchetti nel file.
  3. sudo cat remove.txt | xargs apt-get remove --purge

È possibile che qui vengano visualizzati degli errori poiché l'installazione di emacs-snapshot non è riuscita correttamente. In tal caso, provare a disinstallare manualmente quei pacchetti forzando prima l'installazione dei pacchetti rotti e quindi rimuovendoli.

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

Probabilmente è anche una buona idea autocleane autoremove.

sudo apt-get autoclean
sudo apt-get autoremove

Installa Emacs 24

sudo apt-get install emacs-snapshot

Ciò presuppone che il PPA sia stato aggiunto correttamente (sto usando anche il PPA cassou). Tutto sembra funzionare bene ora!

Provare aptitude

Da quando ho scritto questa risposta, sono passato all'utilizzo aptitudeper gestire i miei pacchetti dalla riga di comando. Non mi piace l'interfaccia grafica (ncurses) che ottieni dall'emissione sudo aptitude, quindi la uso solo quando devo risolvere dipendenze / conflitti rimanenti dalla sperimentazione con diversi ambienti desktop. Il più delle volte, lo uso semplicemente come sostituto drop-in apt-get, come in sudo aptitude install [package].

Correlati: aptitude è ancora considerato superiore a apt-get?


non lo farei su 12.04 sudo apt-get remove apt-cache search emacs | awk '{print $1}'--purge Ho iniziato a farlo ma voleva rimuovere metà di Ubuntu Banshee Unity Geany e tutto il resto 291 MB di Ubuntu.
sayth,

Sono d'accordo che non è desiderabile farlo cieco. Ho modificato la mia risposta per suggerire di controllare l'output di apt-cache search emacsprima di procedere. Per me, questa è stata l'unica soluzione che ha risolto il problema. Non ricordo di dover reinstallare nulla, ma se si commette un errore, dovrebbe essere facile da correggere con il gestore dei pacchetti.
jrhorn424,

@ jrhorn424 Impossibile eseguire questo comando "sudo apt-get remove apt-cache search emacs | awk '{print $1}'--purge".
leggenda

2

Ho Emacs installato da questo PPA e ho controllato le dipendenze. Ubuntu 11.10 funziona con questo PPA immediatamente, quindi non dovresti avere problemi. Ecco l'elenco delle dipendenze per lo snapshot di 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

Qualcosa è un pasticcio nelle tue dipendenze. Disabiliterei il PPA, farei un aggiornamento apt-get e aggiornerei quindi apt-get clean quindi riattivere nuovamente il PPA e provarlo.


1

Solo per informazione, su Precise Pangolin 12.04 può essere semplicemente fatto con

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

e funziona immediatamente.


Per "out-of-the-box", vuoi dire su una nuova installazione? È emacsgià presente al momento dell'installazione emacs-snapshot?
jrhorn424,

Scusa, intendo: una volta che ho dato quei comandi, funziona senza alcun altro intervento.
leonard vertighel,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.