Wo fehlende Abhängigkeiten zu finden sind (imagemagick und m17n)

7

Ich kompiliere Emacs aus dem Quellcode und kann nicht herausfinden, welche Bibliotheken ich benötige, um imagemagick und m17n zu aktivieren . Ich habe imagemagick und libm17n-dev installiert (ich bin auf Debian).

Mein ./configureSkript sagt:

  Does Emacs use imagemagick?                             no
  [...]
  Does Emacs use -lm17n-flt?                              no
Łukasz Gruner
quelle
Wir brauchen mehr Informationen. Sie sollten sich die Datei config.log ansehen , die Details und Ergebnisse zu den Tests enthält, die das Konfigurationsskript ausgeführt hat. Suche nach imagemagick und m17n-flt. Veröffentlichen Sie Details zu den fehlgeschlagenen Tests oder den ausgeschnittenen Abschnitten des Protokolls.
dfeich
Ich habe libmagickcore-dev und libmagick ++ - dev installiert und konfiguriere jetzt find imagemagick. Immer noch kein Glück mit m17n-flt (kein solches Paket auf Debian).
Łukasz Gruner
1
Auf welcher Debian-Version bist du? m17n-flt ist Teil vonlibm17n und die Header sind in enthaltenlibm17n-dev .
rekado
4
Das sicherste Verfahren zum Lösen von Abhängigkeitsproblemen beim Kompilieren aus dem Quellcode (einschließlich Git) ist das Ausführen apt-get build-dep emacs24oder wenn Sie Wheezy verwenden apt-get build-dep emacs23. Das sollte alle Abhängigkeitspakete installieren und das Problem lösen. Wenn Sie Emacs 24.4 oder höher kompilieren möchten, überprüfen Sie, ob das libacl1-devPaket installiert wurde. Andernfalls müssen Sie es manuell installieren.
Undostres

Antworten:

6

Nach dem Crawlen des configureSkripts habe ich Ihr fehlendes Paket gefunden : libmagickwand-dev. Auf meinem Computer heißt es nach der Installation dieses Pakets ./configureschließlich:

  Does Emacs use imagemagick?                             yes

NB1: Wie bei anderen Funktionen (z. B. libxml2-devfür eww) verstehe ich nicht den Zweck von --with-feature:

  • Wenn sich die Bibliotheken und Entwicklungsheader auf Ihrem System befinden, configurewird die Funktion aktiviert, auch wenn Sie nicht explizit danach fragen --with-feature.
  • Wenn sich die Bibliotheken und Entwicklungsheader nicht auf Ihrem System befinden, configurewerden sie ignoriert --with-featureund mit dem Status 0 beendet.

NB2: Dies wurde unter Ubuntu 14.04 getestet. libmagickwand-dev scheint auch in Debian zu existieren.

NB3: Eine allgemeine "Methodik", um die erforderlichen Pakete aus dem configureSkript herauszufinden :

  • Suche configurenach "imagemagick"
  • Finden Sie diese Schnipsel:

    IMAGEMAGICK_MODULE="Wand >= 6.3.5 Wand != 6.8.2"
    ...
    if "$PKG_CONFIG" --exists "$IMAGEMAGICK_MODULE"...
    
  • apt-cache search Wand

    • libmagickwand-dev - image manipulation library - development files
Peniblec
quelle
4

Verwenden Sie apt-get, um zu vermeiden, dass Sie die Pakete suchen müssen, die zum Erstellen von Emacs erforderlich sind.

apt-get build-dep emacs

Dies reicht möglicherweise nicht aus, da hier nur die Bibliotheken installiert werden, mit denen der Debian-Betreuer Emacs verknüpft hat. Ich denke du brauchst:

apt-get install libm17n-dev libmagickcore-dev

Allerdings habe ich danach auch noch bekommen use -lm17n-flt? no, wenn ich es explizit benutzt habe --with-m17n-flt. Und ich habe libmagickcore-dev nicht installiert, weil es zu einem Konflikt kam.

Tarsius
quelle
Dies macht aus einem Kommentar von oben eine Antwort.
Tarsius
1

Da die vorhandene Antwort das Kompilieren mit m17nUnterstützung auslässt , füge ich dies hinzu, um darauf zu antworten. In meinem System m17nwird nicht verwendet und otfwird auch nicht verwendet. m17nInstallieren Sie zum Erstellen mit Unterstützung die Bibliotheken, die für m17nund auch für benötigt werden otf. Dann wird Emacs mit beiden zusammengestellt.

Ich weiß nicht, warum das Kompilieren mit m17nerfordert, otfaber das funktioniert :)

nitishch
quelle