# Blender-Handbuch: Blender unter Linux kompilieren

| <<<Zurück Blender unter Windows kompilieren | ↑ Inhaltsverzeichnis ↑ Handbuch durchsuchen |
* Diese Seite bezieht sich auf Blender v2.5

## Den Quelltext holen

* Den Quelltext der aktuellen, stabilen Version gibt es auf blender.org.
* Den Quelltext der neuesten Entwicklerversion kann über Subversion (svn) bezogen werden. Diese Version kann instabil sein. Die Kompatibilität der erzeugten Dateien ist nicht gewährleistet! Mehr Information zu svn findet sich auf blender.org. Die wichtigsten Schritte für den Download mit svn sind:
** Erstellen Sie ein leeres Verzeichnis und wechseln Sie in dieses.
** svn co https://svn.blender.org/svnroot/bf-blender/trunk/blender
    lädt den Quelltext in das aktuelle Verzeichnis.
Je nach vorhandener Plattform können über svn auch vorkompilierte Bibliotheken bezogen werden. Diese befinden sich im Modul "lib". Es empfiehlt sich, nur die Bibliotheken für die eigene Plattform herunterzuladen, um die Downloadgröße zu mindern. Dazu muss das Verzeichnis "lib" von Hand auf der gleichen Ebene wie "blender" angelegt werden. Innerhalb dieses Verzeichnisses können dann die verschiedenen Bibliotheken über svn bezogen werden.
Im Quelltext finden Sie eine Installationsanleitung in der Datei bf-blender/blender/INSTALL. Beispielhaft soll die vollständige Installation auf einem OpenSuse-Linux 11.0 System und auf einem Ubuntu 9.04 System beschrieben werden.

## Beschreibung eines Builds auf einem OpenSuse-Linux 11.0 System
### Das erste Mal

* Installieren Sie zunächst das Paket subversion mit ihrem Paketmanager, bei OpenSuse z.B. mit Yast.
* Erstellen Sie ein leeres Verzeichnis, und wechseln Sie in dieses.
* svn co https://svn.blender.org/svnroot/bf-blender/trunk/blender
* Akzeptieren Sie das https-Zertifikat (sonst können Sie keinen HTTPS-Download verwenden)
* Laden Sie die aktuelle Scons-Version (zur Zeit 11/08: 1.1.0-1.noarch.rpm) von http://www.scons.org/ herunter. Installieren Sie das RPM-Paket mit Yast.
* Nun kommt noch eine Installationsorgie, die alle notwendigen Programm und Bibliotheken installiert. Das funktioniert direkt mit Yast, wenn man Packman (z.B. ftp.gwdg.de//pub/linux/misc/packman/suse/11.0/) als zusätzliches Repository einträgt. Die notwendigen Abhängigkeiten werden mitinstalliert.
** gcc-c++
** yasm
** freealut und freealut-devel
** SDL und SDL-devel
** OpenEXR und OpenEXR-devel
** libpng-devel
** libtiff-devel
** python-devel
** gettext-tools
* Seit Anfang März 2011 ist Python-Version 3.2 Voraussetzung, daher muss man sich zunächst eine entsprechende Version besorgen. Laden Sie sich den Python 3.2 Quellcode von http://www.python.org/download/releases/3.2/ herunter. Entpacken Sie an eine geeignete Stelle.
* Mit dem gewohnten Dreischritt ./configure, make und make install installieren Sie Python 3.2.
* Erstellen Sie die Konfigurationsdatei user-config.py in dem Verzeichnis, in dem sich die Blender-Dateien befinden. Die zu setzenden Variablen sind natürlich vollkommen systemspezifisch.
    WITH_BF_VERSE = 'false'
    BF_PYTHON = '/usr/local'
    BF_PYTHON_VERSION = '3.2'
    WITH_BF_INTERNATIONAL = 'true'
    WITH_BF_FFMPEG='false'
    BF_CXX = '/usr/lib/gcc/i586-suse-linux/4.1.2'
    WITH_BF_STATICCXX = 'false'
    BF_CXX_LIB_STATIC = '${BF_CXX}/libstdc++.a'
    CCFLAGS = ['-pipe', '-funsigned-char', '-fno-strict-aliasing' ]
    CXXFLAGS = [ '-pipe', '-funsigned-char', '-fno-strict-aliasing']
    CCFLAGS.extend( ['-O2', '-march=athlon64'])
    CXXFLAGS.extend( ['-O2', '-march=athlon64'])
       (Hinweis: mit scons --help kann überprüft werden, ob die Variablen gesetzt wurden. )
* Wechseln Sie nun in das blender Verzeichnis.
* ->scons
* Warnungen ignorieren, bei Fehlern Bibliotheken nachinstallieren.
* evtl: ->scons clean
Das Programm findet sich im Verzeichnis install/plattform.

### Update

* svn co https://svn.blender.org/svnroot/bf-blender/trunk/blender
* Wechseln in das blender Verzeichnis.
* ->scons
Das Programm findet sich im Verzeichnis install/plattform.

## Beschreibung eines Builds auf einem Ubuntu 10.04/10.10 System
### Abhängigkeiten installieren

* Installieren sie benötigte Pakete mit sudo apt-get install build-essential g++ libx11-dev libgl1-mesa-dev libxi-dev zlib1g-dev libpng12-dev libglu1-mesa-dev libjpeg62-dev libfreetype6-dev libtiff4-dev libopenexr-dev libsdl1.2-dev libopenal-dev python2.6-dev libfftw3-dev libsamplerate0-dev libjack-dev libavformat-dev libxvidcore4 libogg-dev libfaac-dev libfaad-dev libx264-dev libmp3lame-dev libvorbis-dev libtheora-dev libswscale-dev libavdevice-dev subversion gettext

### Python 3.2 kompilieren und installieren

* Quellcode von http://www.python.org/download/ herunterladen
* Extrahieren sie das Archiv und gehen sie in den entstandenen Ordner mit cd <Pfad>
* Konfigurieren: ./configure --prefix=/usr/local/python3.2 --enable-shared
* Kompilieren: make
* Installieren: sudo make install

### Luxrender - Hinweis

* Sollte Luxrender verwendet werden, braucht sie noch ein Package, Terminal starten:
* Neu Konfigurieren mit : ./configure --prefix=/usr/local/python3.2 --enable-shared --with-wide-unicode --with-cxx-main=gcc

### Blender 2.5 SVN kompilieren

* Neuen Ordner für den Quellcode erstellen
* in den Ordner gehen (cd ...)
* Quellcode laden svn checkout https://svn.blender.org/svnroot/bf-blender/trunk/blender
* in den Unterordner mit dem Code gehen cd blender
* Kompilierungs-Einstellungen werden in einer Datei namens "user-config.py" festgelegt, die sich im "/blender"-Ordner befinden muss. Erstellen sie diese mit dem Inhalt: WITH_BF_FFMPEG = 'false' BF_FFMPEG_LIB = 'avformat avcodec avutil xvidcore ogg faac faad x264 mp3lame vorbis theora vorbisenc swscale avdevice' WITH_BF_OPENAL = 'true' WITH_BF_GAMEENGINE='true' WITH_BF_FFTW3 = 'true' WITH_BF_PLAYER='false' WITH_BF_VERSE='false' BF_PYTHON_VERSION = '3.2' WITH_BF_JACK = 'true' Sollten sie eine Debug-Version kompilieren wollen, fügen sie die Zeile BF_DEBUG= '1' hinzu.
* Kompilieren python scons/scons.py -j4 (j4 für 4 Prozessorkerne)
* unter install/linux2 befindet sich nun eine lauffähige Version von Blender 2.5 sie sollte sich mit cd install/linux2 ./blender starten lassen.

### Schritte für späteres Kompilieren:

* Aktualisieren des Quellcodes Hierzu gehen sie in den Ordner, in den sie anfangs den Quellcode geladen haben und dann in den Unterordner "blender". Hier tippen sie svn up Daraufhin wird der Quellcode aktualisiert und die aktuelle Revisionsnummer erscheint.
* Erneut kompilieren Hierzu genügt der Befehl python scons/scons.py -j4 in dem Ordner, in dem sie auch den Quellcode aktualisiert haben.
* Optional: Komplett neu bauen Hierzu tippen sie im Quellcode-Ordner ("blender") den Befehl python scons/scons.py clean Danach können sie das Programm wieder wie oben beschrieben kompilieren.
| <<<Zurück | ↑ Inhaltsverzeichnis ↑ Glossar |