Headerbild: gnuplot

gnuplot unter macOS High Sierra installieren


Apple hat am 25.09.2017, also zu Beginn dieser Woche, sein neues Betriebssystem veröffentlicht. Einige lieb gewonnene Anwendungen funktionieren seitdem nicht mehr oder wenigstens nicht mehr richtig. So hat bei mir beispielsweise gnuplot verschiedene Fehlermeldungen gebracht. Ich hatte gnuplot ehedem aus dem Repository von MacPorts installiert. Dummerweise ist MacPorts noch nicht auf macOS High Sierra (10.13) eingestellt. Will man gnuplot unter macOS High Sierra installieren, ohne auf die Aktualisierung von MacPorts, HomeBrew und Co. zu warten, muss man selbst Hand anlegen.

Da ich eh vorhatte, nach einem Clean-Install von macOS High Sierra auf die Einbindung großer Repositories zu verzichten, habe ich mich entschieden, die Sache selbst in die Hand zu nehmen und die benötigte Zusatzsoftware, so sie nicht als passende Binärdistribution verfügbar ist, selbst zu compilieren. Gesagt, getan – in die Hände gespuckt und losgelegt.

Im Folgenden beschreibe ich, wie man gnuplot und macOS High Sierra installieren kann, ohne irgendwelche Repositories einzubinden. Selbiges habe ich auch mit enscript, automake, autoconf und anderen erfolgreich durchgeführt. Der Weg zum Erfolg ist prinzipiell immer der gleiche.

Grundsätzliches Vorgehen

Bevor man unter macOS Software aus dem Quellcode heraus installieren kann, muss Xcode mit den zugehörigen Kommandozeilenwerkzeugen installiert sein. Xcode ist im App Store kostenlos erhältlich. Die Kommandozeilen-Werkzeuge installiert man dann mit:

$ xcode-select --install

Die Installation von Software aus den Quellen folgt immer dem gleichen Schema:

  1. Quellcode beschaffen
  2. Dokumentation lesen, um den Build-Prozess und dessen Abhängigkeiten kennenzulernen
  3. Abhängigkeiten auflösen
  4. Software compilieren
  5. Software installieren

Den Quellcode zu beschaffen ist der einfachste Schritt. Die Websites von GNU und SourceForge sind in der Regel gute Adressen, um fündig zu werden. Hat man das Objekt der Begierde gefunden, heißt es, das Archiv, in welchem es üblicherweise verpackt ist, auszupacken. Regelmäßig finden wir darin eine Datei, die auf den Namen INSTALL, README oder ähnlich hört. Darin ist der Übersetzungs- und Installationsprozess beschrieben. Oft finden sich darin auch direkt Hinweise zu eventuell bestehenden Abhängigkeiten, wie beispielsweise erforderlichen Bibliotheken. Fehlen solche Hinweise, bestehen aber dennoch Abhängigkeiten, so erfahren wir diese spätestens beim Compilieren. Wir bekommen dann nämlich entsprechende Warn- oder gar Fehlermeldungen. In solchen Fällen gilt es, die angemahnte Software zu beschaffen und nach dem hier beschriebenen Schema zu installieren. Haben wir es nach endlich langer Zeit geschafft, die von uns begehrte Software erfolgreich zu übersetzen, geht es an die Installation. Ist auch diese erfolgreich abgeschlossen, können wir das Objekt der Begierde nutzen.

Die folgende Beschreibung ist analog für die meisten anderen Software-Installationen anwendbar.

gnuplot unter macOS High Sierra installieren

Bevor wir gnuplot selbst compilieren können, müssen wir uns als Voraussetzung XQuartz und AquaTerm beschaffen und installieren. Beide sind als DMG-Files verfügbar und entsprechend einfach zu installieren.

gnuplot habe ich mir in der aktuellen Version 5.2.0 bei SourceForge beschafft. Hier ist der Link zum entsprechenden SourceForge-Archiv.

Ich habe mich natürlich, sonst würde ich das hier nicht schreiben, für das tar-Archiv, welches die Quellen enthält, entschieden. Dieses wird nun in einem beliebigen Verzeichnis ausgepackt.

$ tar -xzf gnuplot-5.2.0.tar.gz

Danach geht man in das Verzeichnis und konfiguriert das Programm. Um AquaTerm nutzen zu können, lautet der Befehl:

$ ./configure --with-aquaterm

Hinweis: In der configure-Datei können weitere Optionen nachgesehen werden. Gegebenenfalls erfordern sie jedoch das Installieren zusätzlicher Bibliotheken und/oder Software.

Kommen dabei keine Fehlermeldungen, kann gnuplot übersetzt werden.

$ make

Ist auch dieser Schritt erfolgreich ausgeführt, folgt die eigentliche Installation. Hierzu werden Administrationsrechte benötigt.

$ sudo make install

Fertig – gnuplot kann jetzt genutzt werden. Damit automatisch AquaTerm genutzt wird, empfiehlt es sich, in der .bash_profile die Variable GNUTERM zu exportieren:

export GNUTERM=aqua

Der folgende Screenshot zeigt gnuplot im Einsatz.

gnuplot unter macOS High Sierra

gnuplot unter macOS High Sierra

Wenn es Probleme gibt

Trotz vermeintlich nahezu gleicher Konfiguration hatte ich Probleme gnuplot auf meinem MacBook Pro zu installieren. ./configure gab die Meldung

aqua terminal (OS X): no

aus. Geholfen hat:

$ sudo ln -s /Library/Frameworks/AquaTerm.framework/Headers /usr/local/include/AquaTerm
$ export CFLAGS='-I/usr/local/include' 
$ export LDFLAGS='-F/Library/Frameworks'

Danach konnte ich die Software normal konfigurieren, übersetzen und installieren.

Wer die eingebaute readline-Bibliothek nutzen möchte, kann den Aufruf von ./configure gerne noch mit der Option

--with-readline=builtin

ergänzen.

Fazit

Auf die oben beschriebene Weise habe ich mir noch andere Tools auf meinen Rechner installiert. Zugegeben, bei einigen war der Aufwand etwas größer, weil erst noch andere Dinge installiert sein wollten. Insgesamt war es jedoch nicht schwierig. Und, und das ist für mich das Entscheidende: Ich habe jetzt nur die Software installiert, die ich benötige und nutze. Ich habe mir nicht die Modifikationen und sonstigen Dinge eingehandelt, die mit der Einbindung von großen Repositories einhergehen. MacPorts & Co. sind tolle Projekte, es geht aber auch ohne. Eine eigene Installation ist schlanker und last but not least: So weiß man, was man hat, was man auf seinem Rechner bewusst installiert hat.

Karsten Brodmann

Karsten Brodmann

Karsten Brodmann hat an der Universität Osnabrück BWL/Wirtschaftsinformatik studiert. Er hat viele Jahre in der IT gearbeitet und dort Web- und Datenbankanwendungen entwickelt. Seit Gründung der Punkt-Akademie veröffentlicht Karsten Brodmann auch Schulungsvideos zur Datenbankentwicklung, Unix und Programmierung bei Udemy. In seiner Freizeit fotografiert Karsten Brodmann gerne. Seit vielen Jahren fotografiert er analog und digital. Dabei behält er jeweils den gesamten Workflow in der eigenen Hand, von der Aufnahme über die Dunkelkammer oder auch den Scanner sowie die Bildbearbeitung und den Ausdruck am PC.

Weitere Beiträge

15 Gedanken zu „gnuplot unter macOS High Sierra installieren

      1. Marvin

        Okay.. klassischer „fast 2 Uhr“-Moment: hast Du eine Ahnung wie ich gnuplot jetzt noch dazu bringe mit PDF-Dateien auszugeben?
        Vielen Dank schonmal im Voraus.

        1. Karsten Brodmann Beitragsautor

          Hi Marvin,
          das ist nun etwas komplizierter. Da musst Du noch einen ganzen Satz weiterer Bibliotheken installieren. ./configure gibt Dir bei dessen Ausführung aus, was für welches Feature benötigt wird.

          Ein einfacher Workaround ist folgender:

          1. Ein Shell-Skript dieser o.ä. Form:
          #!/bin/bash
          bn=`basename $1 .plot`
          gnuplot $bn.plot
          epstopdf temp.ps
          pdfcrop temp.pdf
          mv temp-crop.pdf $bn.pdf
          rm temp.ps temp.pdf

          2. Ein Plot-File, z.B.:
          set term postscript eps enhanced color
          set output „temp.ps“
          plot sin(x)

          Das kannst Du dann, wenn Dein Shell-Skript pdfgplot heißen sollte, mit:

          $ pdfgplot plotdateiname.plot

          aufrufen. Schon hast Du ein PDF. pdfcrop ist bei mir mit MacTeX auf den Rechner gekommen. Damit werden überflüssige Ränder abgeschnitten.

          Ich benutze gnuplot nicht so häufig. Mir reicht dessen Grundausstattung. Willst Du mehr, musst Du mehr installieren. – Das ist der Spagat zwischen selbst kompilieren und fertige Distris verwenden.

  1. Markus

    Hallo.
    Vielen Dank für die Anleitung. Ich bin relativ neu auf MacOs (Mojave) auf einem 2018er MacBook Pro 13 TB und versuche nun Gnuplot mit Aquaterm zu installieren, was mir bis jetzt noch nicht gelungen ist.
    Ich habe alles so gemacht wie beschrieben. Leider kommt dann bei ./configure auch Aquaterm no

    Ich habe dann die zusätzlichen Zeilen eingeben und es folgte:
    /usr/local/include/AquaTerm: No such file or directory

    Tatsächlich gibt es diesen Ordner nicht. Ich konnte auch keinen alternativen Pfad finden. Irgendeinen Tipp, wie es es zum Laufen bringen könnte?

    Ich wäre über jeden Tipp dankbar.

    Grüße.

    1. Karsten Brodmann Beitragsautor

      Hi Markus,

      der Grund, weshalb es bei Dir nicht klappt, ist vermutlich recht einfach. Du hast AquaTerm nicht installiert, nehme ich an. Das musst Du vorher freilich tun. Du bekommst es hier:

      https://sourceforge.net/projects/aquaterm/files/AquaTerm/v1.1.1/

      Auch XQuartz sollte installiert sein, um ein X11-Terminal verwenden zu können. Das bekommst Du hier:

      https://www.xquartz.org

      Hast Du diese Pakete installiert, sollte alles funktionieren. Steht so allerdings auch im Beitrag. Vermutlich hast Du das bloß überlesen. – Kann passieren 😉

      Alles Gute
      Karsten

      1. Markus

        Danke für die schnelle Antwort. Ich habe alles wie beschrieben installiert. Ich habe deinen Artikel auch mehrmals gelesen um nichts zu übersehen. Funktionieren tut es leider nicht. Den Ordner in Frameworks habe ich gefunden, dieser liegt nicht in meinem Folder sondern auf root ebene. Da ich dort den Eintrag Aquaterm gefunden habe, gehe ich davon aus, dass die Installation geklappt hat. Ich habe Aquaterm auch schon mehrmal installiert. X11 auch.
        Der Ordner /usr/local/include/AquaTerm hingegen existiert nicht.

        Grüße,

        Markus

        1. Karsten Brodmann Beitragsautor

          Ne, den gibt es standardmäßig auch nicht. Der entsteht erst durch den Softlink auf

          /Library/Frameworks/AquaTerm.framework/Headers

          Hast Du den gesetzt? Gegebenenfalls musst Du den freilich an Deine Gegebenheiten anpassen und den Ordner verwenden, der bei Dir besteht. Dort befinden sich die Dateien

          AQTAdapter.h und aquaterm.h

          Die werden für die Übersetzung benötigt und ohne den Softlink eventuell nicht gefunden. So war es bei meinem MacBook. Sie wurden unter

          /usr/local/include/AquaTerm

          gesucht, weshalb ich den Softlink eingerichtet habe, der eben auf das oben genannte Verzeichnis verweist.

          Karsten

  2. Markus

    Sorry und Danke für deine Geduld. Bin ein wenig eingerostet. Habe früher viel mit Linux gearbeitet. Leider ist offensichtlich nicht mehr viel da.
    Mein Versuch: Ordner /usr/local/include/AquaTerm manuell erstellt und dann deine Befehle ausgeführt.

    $ sudo ln -s /Library/Frameworks/AquaTerm.framework/Headers /usr/local/include/AquaTerm
    $ CFLAGS=‘-I/usr/local/include‘ LDFLAGS=‘-F/Library/Frameworks‘

    Es kam keine Fehlermeldung. Aquaterm und Gnuplot funktionieren immer noch nicht. Ich bin nochmal deine Installationsanleitung durchgegangen. Kein Erfolg.

    1. Karsten Brodmann Beitragsautor

      Nö, nö,

      /usr/local/include/AquaTerm

      wird NICHT mit mkdir manuell erstellt. Er ist das Ergebnis von

      sudo ln -s /Library/Frameworks/AquaTerm.framework/Headers /usr/local/include/AquaTerm

      Wenn Du den Ordner vorher manuell anlegst wird darin ein Headers-Verzeichnis erstellt. Machst Du es so, wie ich es beschrieben habe, also ohne vorheriges anlegen des Ordners, findest Du direkt die benötigten Header-Dateien darin.

      Lösche also den Ordner und führe den Softlinkbefehl erneut aus:

      sudo rm -r /usr/local/include/AquaTerm
      sudo ln -s /Library/Frameworks/AquaTerm.framework/Headers /usr/local/include/AquaTerm

      Karsten

  3. Markus

    Hab ich jetzt gemacht, danke das hat schonmal geklappt. Der Ordner wurde jetzt auch mit deinem Link erstellt. Gnuplot mit Aquaterm tut es leider immer noch nicht. Beim Befehl ./configure –with-aquaterm kommt zwischendrin folgende Meldung:

    The pkg-config script could not be found or is too old. Make sure it
    is in your PATH or set the PKG_CONFIG environment variable to the full
    path to pkg-config.

    Leider habe ich keine Ahnung was das bedeutet. Kann das mit meinem Problem zu tun haben?

    1. Karsten Brodmann Beitragsautor

      Oh, oh, da steht Dir dann wohl noch ein bißchen Arbeit bevor. Mein pkg-config hat die Version 0.29.2. Das ist die aktuelle Version, die Du von

      https://pkg-config.freedesktop.org/releases/

      bekommen und übersetzen kannst. Ich hatte sie bereits vor gnuplot installiert. Überhaupt ist gnuplot nicht das erste Programm, welches ich aus den Quellen übersetzt und installiert habe. Es kann also durchaus sein, dass Abhängigkeiten auf meinem System bereits aufgelöst wurden, die bei Dir noch nicht erfüllt sind. Kurz: Es kann sein, dass Du noch mehr Bibliotheken und anderen Kram installieren musst, bis alles klappt.

      Wenn Dir das zu nervig ist, kannst Du gnuplot natürlich auch einfach mittels MacPorts oder ähnlichem installieren. Das ist deutlich einfacher. Andererseits wird dann auch Kram installiert, den ich auf meinem Rechner nicht unbedingt haben möchte. Ich halte mein System lieber schlank und installiere explizit nur das, was ich auch wirklich haben möchte. Der Weg dahin ist dann allerdings etwas steiniger – manchmal. Beispielsweise habe ich, um tesseract und ein paar weitere Tools zu installieren, locker mehr als 20 weitere Dinge vorab konfigurieren und installieren müssen.

      Lange Rede, kurzer Sinn: Sieh Dir, wenn Du nicht auf MacPorts o.ä. ausweichst, die Abhängigkeiten an, installiere die Software und beiße Dich durch! Sei jedoch gewarnt: Manche Software erfordert ein wenig Erfahrung, um sie übersetzen und installieren zu können.

      Viel Erfolg!
      Karsten

  4. Markus

    Ich danke dir für deine Hilfe. Auf Macports ausweichen möchte ich auch nicht, da ich es auch so sehe wie du.
    Am compilieren von pkg-config bin ich auf wieder gescheitert, da auch da wahrscheinlich was fehlt, und der make Befehl nicht funktionierte. Ich lasse es für heute erstmal ruhen und hoffe, dass ich es irgendwann hinbekomme. Hatte es mir irgendwie einfacher vorgestellt.

    Grüße und noch einen schönen Abend.

    Markus

    1. Karsten Brodmann Beitragsautor

      Ja, der Weg kann manchmal, wie bereits gesagt, steinig sein. Das Schöne ist aber: Wenn Du Dich durchgekämpft und Erfolg hattest, hast Du ganz nebenbei auch eine ganze Menge gelernt. – Verlier also nicht die Lust und den Mut!

      Alles Gute
      Karsten

    2. Karsten Brodmann Beitragsautor

      Apropos, versuche (ich habe das in der Anleitung oben geändert):

      export CFLAGS='-I/usr/local/include'
      export LDFLAGS='-F/Library/Frameworks'

      und danach

      ./configure --with-aquaterm

      Ein paar Bibliotheken werden sicherlich als fehlend angemeckert. In diesem Zusammenhang taucht dann auch schon mal die Meldung bzgl. pkg-config auf. Das ist aber nicht wild. Es bedeutet nur, dass einige Features in gnuplot nicht aktiviert werden. Üblicherweise betrifft das Cairo, QT und andere Dinge.

      Dennoch sollte die Konfiguration bis zum Ende durchlaufen, make seinen Dienst verrichten und natürlich auch die Installation klappen. Ich habe es gestern Abend selbst nochmals ausprobiert, auf einem „frischen“ macOS. – Es hat funktioniert, auch ohne pkg-config von Hand zu installieren. Ausschließlich meine obige Anleitung hat ausgereicht.

      Karsten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.