De/FlightGear Git on Mac OS X

From FlightGear wiki
Jump to navigation Jump to search

Bitte erst lesen. Wichtig!

Diese Seite wird laufend angepasst. Es wird gezeigt wie du eine vermutlich funktionierende Installation mit Flightgear selbst kompilieren kannst. Dies auf ein OSX 10.5 oder neuer, Intel basierendem Mac. Diese Seite ist rein experimentell und die Verwendung geschieht mit eigenem Risiko. Behalte im Auge das eine Entwickler Version dieser Software dein System zum Absturz bringen kann. Bitte stelle keine fragen zu Probleme die bei der Verwendung dieser Anleitung einstehen können in den Flightgear und Simgear devel-Mailing Listen. Bitte stelle anstatt deine Fragen in diesem Forum : http://forum.flightgear.org/viewtopic.php?f=21&t=14175

Bevor du startest entferne andere Installationen aus deinem System Root

Das Build System von FlightGear wurde 2011 auf cmake umgestellt. Wenn die dieser Anleitung folgen willst lösche alle früheren Installationen von pblib, PLIB.Framework, OpenSceneGraph, SimGear und FlightGear. Abhängig davon wo du dein Flightgear GIT (NICHT MacFlightGear!) installiert hast, musst du eine ganze menge Dateien entfernen. Zum Beispiel in /usr/include, /usr/lib/, /usr/local/lib, /usr/local/include usw. (Es kommt darauf an wo du es installiert hast. Standard ist aber /usr/local/... Es ist vermutlich besser die Daten nicht zu löschen, sonder an einen anderen Ort auf zu bewahren. Aber in jedem Fall außerhalb des System Rootes.

Standard Installation Orte

Diese Anleitung installiert die Software mit Standard Pfade. MacPorts in /opt/local -andere Teile in /usr und /usr/local. Es gibt nur ein Framework welches Manuell platziert werden muss und zwar in /Library/Frameworks. Benutze deine eigene Konfiguration um die Software an den Ort deiner Präferenz zu installieren. Aber Poste bitte keine Linker Errors im Forum wenn du dich dazu entscheidest eigene Pfade zu setzen.

Anforderungen

System Anforderungen : OSX 10.5.8 (Leopard) oder höher und einen Intel basierten Mac. Andere Anforderungen : Grundlegendes Wissen über die Verwendung des Terminals auf OSX. Xcode Dev Tools, MacPorts. Du wirst Folgendes Installieren: Xcode Dev Tools, MacPorts, boost, cmake, pblib, ALUT.framework, OpenSceneGraph, git SimGear und nicht zu letzt FlightGear.

Diese Aktion wird mehr als 2 Stunden in Anspruch nehmen!

Installation

Installation der Xcode Developer Tools

Lade Xcode Dev Tools für OSX herunter und installiere diese.
für OSX 10.5.8 wirst du die Dev Tools 3.1.4 verwenden müssen How to get older dev tools versions

[http://developer.apple.com/technologies/xcode.html 

http://developer.apple.com/technologies/xcode.html] Ab Version 4.0 ist Xcode Kostenpflichtig und es ist schwierig ältere Versionen zu finden. Du kannst allerdings 3.2 oder neuer für flightgear verwenden. Diese sind immer noch Gratis. Du brauchst die Dev Tools >= 4 nicht How to get older dev tools versions update: Xcode 4.x ist (wieder ?) gratis. Es wird jetzt normaler weise mit dem Apple appstore installiert.

Installation der MacPorts

Lade MacPorts herunter und Installiere es.
Es ist sehr vorteilhaft ältere Installationen von MacPorts zu entfernen, bevor eine Neue Installiert wird. Mehr Informationen dazu hier : http://guide.macports.org/#installing.macports.upgrade.

Update der MacPorts

Schreibe folgendes im Terminal

sudo port selfupdate

Seit November 2011 solltest du MacPOrts 2.0.3 verwenden. Eventuell solltest du auch die ports selber auf den Neusten Stand bringen:

sudo port upgrade outdated. 

Herunterladen und Installieren von GIT

Hier gibt es zwei Möglichkeiten.

1. Installiere GIT via MacPorts im Terminal mit "sudo port install git-core".
2. Lade GIT für OSX herunter von der Entwickler Seite. http://code.google.com/p/git-osx-installer/

Installiere boost (1.47.0) mit MacPorts

sudo port install boost +universal

Beachte: Dieser Schritt dauert sehr lange und kann durchaus über 30 Minuten in Anspruch nehmen.

Installiere cmake (2.8.6) mit MacPorts

sudo port install cmake +universal

Installiere plib (1.8.5) +universal

sudo port install plib +universal

Installiere das ALUT.framework

Beachte: diese Framework wurde von James T. Zur Verfügung gestellt. Es ist keine Offizielle Version. James hat diesen Link in der devel liste gepostet und der Link kann sich in Zukunft ändern. Linken der Offiziellen OpenAL/alut.h header schlägt auf meinem System fehl mit FlightGear und es steht keine port version zur Verfügung. Ein großer Dank an James das es dieses zu Verfügung stellt. Lade es hier herunter : [1]
Dekomprimiere die Datei und leg sie hier ab : /Library/Frameworks

Herunter laden und Installieren des OpenSceneGraph

Bemerkung 1: Dies ist der Komplexeste Teil. Vergewissere dich das du alle Abhängigkeiten zu OpenSceneGraph Installiert hast, wenn du Änderungen an der cmake vornimmst. Wie z.B. cocoa/ioimage (32/64-bit) anstatt quicktime/carbon (nur 32-bit). Eventuell brauchst du auch tiff, jpeg und libpng installiert um die OSG plug-ins zu kompilieren. Alle diese Bibliotheken sind auf macports verfügbar. z.B. "sudo port install tiff jpeg libpng" usw. Und vergiss nicht +universal" zu zufügen, falls du für mehr als ein System Ziel Kompilieren willst. ("i386;x86_64").

Bemerkung 2: Sei vorsichtig mit den Frameworks welche du im /Library/Frameworks installiert hast. Ich habe einige Szenerien für Flightgear editiert, welches der Grund ist warum ich einige geo Frameworks Installiert hatte. Ich musste diese Frameworks an einem Sicheren Ort Speichern während der OSG compilation. Diese durften nicht im Pfad sein (GDAL, GEOS, GSL, PROJ und besonders UnixImageIO.framework).

Checkout die OpenSceneGraph trunk mit

svn co http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk OpenSceneGraph

Mache eine Sicherungskopie des OpenSceneGraph Verzeichnisses. Du wirst später eventuell einen Frischen Klon brauchen wenn irgend etwas schief geht.

Für die Kompilation mit imageio/cocoa, Ziel Architectur i386 und x86_64 :

 cmake  -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_OSX_SYSROOT=/Developer/SDKs/MacOSX10.5.sdk -DCMAKE_OSX_ARCHITECTURES="i386;x86_64" \
-DCMAKE_OSX_DEPLOYMENT_TARGET=10.5 -DCMAKE_MINSIZEREL_POSTFIX= -DBUILD_OSG_APPLICATIONS=OFF \
-DCMAKE_RELWITHDEBINFO_POSTFIX= -DOSG_DEFAULT_IMAGE_PLUGIN_FOR_OSX=imageio \
-DOSG_WINDOWING_SYSTEM=Cocoa -Wno-dev

Alternativ kann für imageio/carbon, Ziel Architektur nur i386/32-bit:

 cmake  -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_OSX_SYSROOT=/Developer/SDKs/MacOSX10.5.sdk -DCMAKE_OSX_ARCHITECTURES="i386;x86_64" \
-DCMAKE_OSX_DEPLOYMENT_TARGET=10.5 -DCMAKE_MINSIZEREL_POSTFIX= -DBUILD_OSG_APPLICATIONS=OFF \
-DCMAKE_RELWITHDEBINFO_POSTFIX= -DOSG_DEFAULT_IMAGE_PLUGIN_FOR_OSX=imageio \
-DOSG_WINDOWING_SYSTEM=Carbon -Wno-dev

Wenn cmake erfolgreich durch gelaufen ist Kompiliere und installiere alles:

make
sudo make install
  Anmerkung: Das Kompilieren von OpenSceneGraph kann mehr als 30 Minuten in Anspruch nehmen.
  Du musst die Versionsnummer 10.5 an die Versionsnummer deines SDK anpassen.
  Der Pfad zu /Developer hat seit Xcode 4.2 geändert. 
  Diese befindet sich nun in /Application/Xcode.app/Contents .

GIT SimGear/FlightGear/fgdata

Erstelle ein Verzeichnis in welchem du den Neuen FlightGear Programmcode herunter laden willst.

git clone git://git.code.sf.net/p/flightgear/flightgear/
git clone git://git.code.sf.net/p/flightgear/simgear/
git clone git://git.code.sf.net/p/flightgear/fgdata/

Fgdata ist um die 4 GB groß. Du kannst dieses Repo einmal Klonen und später mit git pull auf den Neusten Stand bringen. Es gibt eine andere Seite welche sich mit FlightGear und Git befasst FlightGear and Git . Es gibt auch eine Alternative GIT Repo auf mapserver.flightgear.org: http://mapserver.flightgear.org/git/.

Installation von SimGear (neu seit Nov. 2011: cmake build )

Wechsle in dein SimGear Verzeichniss und gib dort folgendes ein

 export CFLAGS="-g -O2 -fPIC -arch i386 -arch x86_64"
 export CXXFLAGS="-g -O2 -fPIC -arch i386 -arch x86_64"
 cmake . -DJPEG_FACTORY=1 -DCMAKE_INSTALL_PREFIX=/usr/local
 make
 sudo make install

Installation von FlighGear (neu seit Nov. 2011: cmake build)

Wechsle in dein FlightGear Verzeichniss und gib dort folgendes ein cd to the flightgear directory and type

 export CFLAGS="-g -O2 -fPIC -arch i386 -arch x86_64"
 export CXXFLAGS="-g -O2 -fPIC -arch i386 -arch x86_64"
 cmake . -DJPEG_FACTORY=1 -DCMAKE_INSTALL_PREFIX=/usr/local -DENABLE_FGADMIN=OFF -DWITH_FGPANEL=OFF
 make
 sudo make install

Seit November 2011 lässt sich fgadmin und fgpanel nicht auf OSX Kompilieren. Falls du es dennoch versuchen möchtest lass diese Einträge weg : -DENABLE_FGADMIN=OFF -DWITH_FGPANEL=OFF

Xcode für die Kompilation verwenden

Wenn du die Option -G in der Obigen cmake anhängst, wird cmake die für xcode benötigten .xcodeproj Dateien erstellen. Öffne die .xcodeproj Dateien mit Xcode. Mit der Tastenkombination ⌘ + B kann Kompiliert werden. Alternativ kannst du auch mit dem Menü Product=>Build die Kompilation starten. Eventuell musst du den Build target auf "ALL_BUILD>My Mac 64-bit" setzen oder je nachdem welches dein Ziel System ist. Im Menü Product=>"Edit Scheme" kannst du die Ziel Konfiguration setzten. Meisten wirst du dies auf Release setzen wollten. Es sei den du willst FlighGear debuggen. Wenn FlightGear erfolgreich Kompiliert worden ist musst du dieses mit dem Terminal installieren. Gib dazu folgender Befehl ein :"sudo xcodebuild -target install -configuration Release". Die Option "-configuration" ist wie oben angedeutet abhängig davon ob du Release oder die Debug Konfiguration Kompiliert hast. Das sudo ist nötig da die Dateien in System Ordern Installiert werden auf welche nur "Root" normalerweise schreib zugriff hat. Um eine De-Installation vor zu nehmen gib bei der -target option "uninstall" ein, also xcodebuild -target uninstall -configuration Relase.

Ende und Testlauf

Du kannst nun deine Installation wie folgt Testen. fgfs --fg-root=/Pfad/zu/deinem/fgdata und optional --fg-scenery=/pfad/zu/scenery

 fgfs --option1 --option2
 Im Terminal gib ein :"fgfs --help -v" um alle Optionen der Kommandozeile an zu zeigen.