Nie można zainstalować Emacsa 24 z ppa: cassou / emacs

8

Postępowałem zgodnie z następującymi instrukcjami, aby zainstalować Emacsa 24 na moim komputerze (pożyczone z: 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

Ale dostaję następujące błędy:

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.
Kevin Albrecht
źródło
1
Spróbować sudo apt-get install -f?
jrg
Brak szczęścia. Po uruchomieniu sudo apt-get install -f, a następnie sudo apt-get autorove, nadal pojawia się ten sam błąd.
Kevin Albrecht
Mam dokładnie ten sam problem.
GeneralBecos
Właśnie spróbowałem ponownie po aktualizacji i teraz zadziałało!
Generał Bekos,

Odpowiedzi:

5

Wczoraj miałem ten sam błąd. Próbowałem zainstalować każdy pakiet emacs w repozytorium, a kiedy to nie zadziałało, przyszło mi do głowy, że problemem mogą być konflikty. Ponieważ nie potrzebowałem, emacs23jeśli emacs-snapshotmiałbym działać, wykonałem następujące czynności:

Odinstaluj wszystkie pakiety Emacsa

Zanim przejdziesz dalej, sprawdź, jakie pakiety emacs można zainstalować, wydając `sudo apt-cache search emacs '. Jeśli możesz poświęcić wszystko na wyjściu, skorzystaj z następującej sugestii.

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

Jeśli na wyjściu pojawi się coś, co chcesz zachować, szybkim sposobem na pozbycie się rzeczy, których nie chcesz, jest przekierowanie wyjścia polecenia do pliku, edycja tego pliku, a następnie użycie zawartości ten plik argumentów do apt-get remove.

  1. sudo apt-cache search emacs > remove.txt
  2. Edytuj remove.txt, usuwając linie pakietów, które chcesz zachować . Celem jest pozbycie się wszystkiego, co dotyczy emacsa, więc zostaw te pakiety w pliku.
  3. sudo cat remove.txt | xargs apt-get remove --purge

Mogą pojawić się tutaj błędy, ponieważ emacs-snapshot nie został poprawnie zainstalowany. Jeśli tak, spróbuj odinstalować te pakiety ręcznie, najpierw wymuszając instalację uszkodzonych pakietów, a następnie usuń je.

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

Prawdopodobnie jest to również dobry pomysł na autocleani autoremove.

sudo apt-get autoclean
sudo apt-get autoremove

Zainstaluj Emacsa 24

sudo apt-get install emacs-snapshot

Zakłada się, że PPA zostało poprawnie dodane (używam również PPA cassou). Wszystko wydaje się teraz działać dobrze!

Próbować aptitude

Od momentu napisania tej odpowiedzi przeszedłem na aptitudezarządzanie moimi pakietami w wierszu poleceń. Nie podoba mi się interfejs graficzny (ncurses), który otrzymujesz z wydania sudo aptitude, więc używam go tylko wtedy, gdy muszę rozwiązać zależności / konflikty pozostałe po eksperymentowaniu z różnymi środowiskami pulpitu. Przez większość czasu po prostu używam go jako zamiennika drop-in apt-get, jak w sudo aptitude install [package].

Powiązane: Czy aptitude jest nadal uważane za lepsze od apt-get?

jrhorn424
źródło
nie zrobiłbym tego 12.04 sudo apt-get remove - apt-cache search emacs | awk '{print $1}'purge Zacząłem to robić, ale chciałem usunąć połowę ubuntu banshee unity geany i całe inne 291mb ubuntu.
mówi
Zgadzam się, że robienie tego w ciemno nie jest pożądane. Zredagowałem swoją odpowiedź, aby zasugerować sprawdzenie wyniku apt-cache search emacsprzed kontynuowaniem. Dla mnie było to jedyne rozwiązanie, które rozwiązało problem. Nie przypominam sobie, aby cokolwiek ponownie instalować, ale jeśli popełnisz błąd, powinno to być łatwe do poprawienia za pomocą menedżera pakietów.
jrhorn424
@ jrhorn424 nie może wykonać polecenia „sudo apt-get remove apt-cache search emacs | awk '{print $1}'--purge”.
legenda
2

Mam Emacsa zainstalowanego z tego PPA i sprawdziłem zależności. Ubuntu 11.10 działa z tym PPA po wyjęciu z pudełka, więc nie powinieneś mieć żadnych problemów. Oto lista zależności dla migawki 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

Coś jest błotem w twoich zależnościach. Chciałbym wyłączyć PPA, zrobić aktualizację apt-get i zaktualizować, a następnie apt-get clean, a następnie ponownie włączyć PPA i spróbować.

Anmar Oueja
źródło
1

Aby uzyskać informacje, w Precise Pangolin 12.04 można to po prostu zrobić

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

i działa od razu po wyjęciu z pudełka.

leonard vertighel
źródło
Czy masz na myśli „po wyjęciu z pudełka” nową instalację? Jest emacsjuż obecny po zainstalowaniu emacs-snapshot?
jrhorn424
Przepraszam, mam na myśli: po wydaniu tych poleceń działa to bez żadnej innej interwencji.
leonard vertighel
0

Myślę, że może to być pomocne http://zabambo.com/blog/?p=45

chociaż dotyczy 24.1, możesz zmienić wersję, jak chcesz.

STATICOR
źródło
Witamy w Ask Ubuntu! Chociaż teoretycznie może to odpowiedzieć na pytanie, lepiej byłoby zawrzeć tutaj istotne części odpowiedzi i podać odnośnik.
Eric Carvalho,