GNU Octave 4 auf Mac OS X El-Capitan installieren

GNU Octave auf einem Macintosh zu installieren ist im Vergleich zu Microsoft Windows® oder GNU/Linux nicht durch die Ausführung eines Installers getan.

Fertige App Bundles sind kaum verfügbar, veraltet oder laufen nicht zuverlässig. Die Installation über Paketmanager, wie MacPorts oder Home Brew laufen oft nicht out-of-the-box.

Nachtrag: Für aktuellere macOS-Versionen gibt es mittlerweile lauffähige App-Bundles unter octave-app.org.

Dieses How-To beschreibt, wie man Octave 4.0.3 über MacPorts (Version 2.3.4) auf El Capitan installiert.

Das alte How-To GNU Octave 3 auf Mac OS X El-Capitan installieren ist damit obsolet.

In der englischsprachigen Octave Wiki habe ich die nachfolgende Hinweise in einer Kurzfassung bereits eingepflegt. Hier findest du das ausführliche How-To.

Zuallererst, nimm dir viel Zeit. Die Installation dauert sehr lange und die benötigten Kompilierungen können schon mal etliche Stunden dauern.

Über MacPorts

MacPorts ist ein Paketmanager, der sich an BSD-UNIX orientiert. Es stellt Pakete, sogenannte Ports, zur Verfügung. Diese enthalten (UNIX) Programme, die Apple nicht mitliefert.  Diese Ports enthalten „nur“ die Quellcodes der Programme. D.h. nach dem Download müssen sie noch kompiliert (in Maschinensprache übersetzt) werden. Das dauert länger, als die Installation eines bereits kompilierten App Bundles. Aber keine Angst: Diese Kompilierungen werden semi-automatisch mit ein paar Befehlen durchgeführt.

MacPorts selbst und alle Ports werden im Verzeichnis /opt/local installiert, das aber über den Finder nicht direkt sichtbar ist. Bei Programmen mit graphischer Oberfläche werden aber i.d.R. App Bundles im Ordner „Programme“ abgelegt, die den Aufruf dieser Programme stark erleichtern.

MacPorts installieren

  1. Wir brauchen zuerst Apples „Xcode Developer Tools“. Seit OS X 10.9 (Mavericks) muss man Xcode nicht mehr vorher installieren, wenn man die „Xcode Developer Tools“ benötigt. Öffne das Terminal (Ordner Programme|Dienstprogramme) und gebe folgenden Befehl ein:
    xcode-select --install

    und folge den Anweisungen, um die Tools zu installieren . Dann noch

    sudo xcodebuild -license

    eingeben und mit „agree“ und ENTER bestätigen.

  2. Downloade  jetzt MacPorts für deine Mac OS X-Version und führe den PKG-Installer aus.
  3. MacPorts befindet sich jetzt auf deinem System.

Den „Octave“ Port installieren

Einfache Installation

Der neue Octave 4.0.3 Port sollte mit

sudo port install octave

für die meisten Anwender out-of-the-box funktionieren. Es gibt aber Gründe, warum die nachfolgenden Kapitel lesenswert sind.

Angepasste Installation

Der neue Octave Port wird standardmäßig mit der „accelerate“ Variante kompiliert. Da diese später Probleme bereiten kann, macht es Sinn die „atlas“ Variante zu wählen. Diese Auswahl kostet aber mehr Zeit beim Kompilieren.

  1. Der Port „atlas“ – eine wichtige Mathematik Bibliothek – macht bei der Installation Probleme, da er sich nicht fehlerfrei mit Apples C-Compiler „clang“ kompilieren lässt. Man muss ihn deshalb mit der Variante „gcc5“ kompilieren. Damit „atlas“ bei der Installation von Octave keinen Ärger macht, installieren wir diesen Port vorher mit der nötigen Variante.  Im Terminal folgendes eingeben:
    sudo port install atlas +gcc5

    ACHTUNG: Die Installation/Kompilierung von „atlas“ kann auch auf moderner Hardware etliche Stunden dauern. Am besten den obigen Befehl über Nacht ausführen lassen.

  2. Eine weitere Abhängigkeit von Octave kann (muss aber nicht) später bei der Anwendung von Octave Probleme bereiten: „arpack“. Das ist eine weitere Mathematik-Bibliothek zur Lösung von Eigenwertproblemen in dünn besetzten Matrices. Standardmäßig wird sie – wahrscheinlich aus (Kompilier-)Zeitgründen – mit Apples accelerate Variante kompiliert. Diese enthält aber Fehler. Besser ist es „arpack“ mit „atlas“ zu kompilieren:
    sudo port install arpack -accelerate+atlas

    Dieser Befehl könnte auch noch nachträglich (nach der Installation von Octave) ausgeführt werden.

  3. Jetzt sind alle Vorbereitungen abgeschlossen und du kannst Octave selbst installieren. Es gibt mehrere Varianten. Die neue graphische Benutzeroberfläche (GUI) wird mit der Version 4.0.3 jetzt standardmäßig installiert. Um die atlas-Variante und die Java Funktionen zu implementieren, gebe folgenden Befehl ins Terminal ein:
    sudo port install octave -accelerate+atlas+java

    Auch die Installation von Octave kann etwas dauern, wenn auch deutlich weniger als „atlas“.

  4. Du findest jetzt ein Octave App Bundle im Programme Ordner und im Launchpad. Es ist aber auch möglich die Komandozeilenversion von Octave im Terminal mit Eingaben von octave zu starten.

Für die Java-Funktionalität (*dlg Dialog-Funktionen, etc) ist noch eine Java Runtime (JRE) zu installieren. Du findest sie bei Oracle.

Apples Java sollte aber auch funktionieren.

Octave 4 Screenshot

GNU Octave 4.0.3 via MacPorts

Besonderheiten

Nach dem ersten Start fallen folgende Besonderheiten – meist optischer Natur – auf:

  • Der erste Plot nach dem Starten von Octave dauert deutlich länger, als mit der Version 3.8.2. Dieses Problem hat auch die Windows-Version.
  • Labels in Buttons, im Editor-Submenü und anderen Widgets ist vertikal nicht zentriert. Das ist aber eher ein kosmetisches Problem (Screenshot).

Im Vergleich zur GNU/Linux- oder sogar der Windows-Version wirkt Octave auf Mac OS X ein wenig holprig, lässt sich aber sonst gut bedienen. Sie verhält sich aber besser als die Version 3.8.2.

Verbesserungen im Vergleich zu Version 3.8.3

Im Vergleich zu Octave 3.8 gibt es einige offensichtliche Verbesserungen:

  • Plotten funktioniert jetzt out-of-the-box mit QT-Unterstützung.
  • Octave bekommt nach dem Öffnen den Fokus und wird nicht mehr durch das aktuelle Fenster verdeckt.
  • Fehlermeldungen nach dem Schließen der Einstellungsdialogbox tauchen nicht mehr auf.
  • Der Befehl cd wird in der Startdatei ~/.octaverc nicht mehr ignoriert.

Probleme beim Update von 3.8.2

Bei Problemen mit dem Update aufgrund inkompatibler Varianten, siehe Octave 4 Upgrade schlägt unter MacPorts nach „port upgrade outdated“ fehl

Interessante Links

Bildnachweis

Public domain (CC0)


Kommentar hinterlassen

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