Compile on Linux/Unix/de

Auf neuesten Linux-Distributionen ist FreeCAD in der Regel einfach zu erstellen, da alle Abhängigkeiten in der Regel vom Paketmanager bereitgestellt werden. Es schliesst im Wesentlichen 3 Schritte ein:
 * 1) Besorgen des FreeCAD Quellcodes
 * 2) ERmittlung der Abhängigkeiten oder Pakete, von denen FreeCAD abhängt
 * 3) Konfigurieren mit  und kompilieren mit.

Nachfolgend finden sich detaillierte Erklärungen des gesamten Prozesses, einige Bauskripte und Besonderheiten, denen man begegnen könnte. Wenn Du im folgenden Text etwas Falsches oder Veraltetes findest (Linux-Distributionen ändern sich oft), oder wenn Du eine Distribution verwendest, die nicht aufgeführt ist, diskutieren das Problem im Forum und hilf uns, es zu korrigieren.



Git
Der beste Weg, den Code zu bekommen, ist, das schreibgeschützte Git repository zu klonen. Dazu benötigst du das Programm, das in den meisten Linux-Distributionen einfach installiert werden kann und auch auf der offiziellen Website von erhältlich ist.

Dies wird eine Kopie der neuesten Version des FreeCAD Quellcodes in ein neues Verzeichnis namens kopiert.

Weitere Informationen zur Verwendung von Git und zur Bereitstellung von Code für das Projekt findet sich unter Source code management.

Quellarchiv
Alternativ kannst du den Quellcode als, eine oder  Datei herunterladen und in das gewünschte Verzeichnis entpacken.

Erhalten der Abhängigkeiten
Um FreeCAD zu kompilieren, musst du die unter Third Party Libraries genannten Abhängigkeiten installieren; die Pakete, die diese Abhängigkeiten enthalten, sind unten für verschiedene Linux-Distributionen aufgeführt. Bitte beachte, dass die Namen und die Verfügbarkeit der Bibliotheken von eurer jeweiligen Distribution abhängen; wenn eure Distribution alt ist, können einige Pakete nicht verfügbar sein oder einen anderen Namen haben. Schaue in diesem Fall im nachfolgenden Abschnitt older and non-conventional distributions

Sobald du alle Abhängigkeiten installiert hast, gehe weiter zu compile FreeCAD.

Bitte beachte, dass der Quellcode von FreeCAD ca. 500 MB groß ist; er kann dreimal so groß sein, wenn Du das Git-Repository mit seiner gesamten Änderungshistorie klonst. Das Erhalten aller Abhängigkeiten kann das Herunterladen von 500 MB oder mehr neuer Dateien erfordern; wenn diese Dateien entpackt werden, können sie 1500 MB oder mehr Speicherplatz benötigen. Beachten auch, dass der Kompilierungsprozess bis zu 1500 MB zusätzliche Dateien erzeugen kann, wenn das System den gesamten Quellcode kopiert und ändert. Stelle daher sicher, dass genügend freier Speicherplatz auf Deiner Festplatte vorhanden ist, mindestens 4 GB, wenn Du mit dem Kompilieren beginnst.

Debian und Ubuntu
Auf Debian-basierten Systemen (Debian, Ubuntu, Mint, etc.) ist es recht einfach, alle benötigten Abhängigkeiten zu installieren. Die meisten Bibliotheken sind über oder den Synaptic Package Manager verfügbar.

Wenn du FreeCAD bereits aus den offiziellen Repositories installiert hast, kannst du seine Build Abhängigkeiten mit dieser einzigen Zeile Code in einem Terminal installieren:

Wenn die Version von FreeCAD in den Repositorien jedoch alt ist, können die Abhängigkeiten die falschen sein, um eine aktuelle Version von FreeCAD zu erstellen. Bitte überprüfe daher, ob Du die folgenden Pakete installiert hast.

Diese Pakete sind unerlässlich für jede Art von Kompilierung, um erfolgreich zu sein:
 * , installiert die C- und C++-Compiler, die C-Entwicklungsbibliotheken und das Programm.
 * , ein unverzichtbares Werkzeug zur Konfiguration der Quelle von FreeCAD. Du kannst auch und  für eine grafische Option installieren.
 * , essentielle Werkzeuge zur Erstellung von gemeinsamen Bibliotheken.
 * , das Standard Basis Reporting Dienstprogramm ist normalerweise bereits in einem Debian System installiert und ermöglicht es Dir, programmgesteuert zwischen einer reinen Debian Installation und einer Variante wie Ubuntu oder Linux Mint zu unterscheiden. Entferne dieses Paket nicht, da viele andere Systempakete davon abhängen können.

Die Kompilierung von FreeCAD verwendet die Python Sprache, und sie wird auch zur Laufzeit als Skriptsprache verwendet. Wenn du eine Debian basierte Distribution verwendest, ist der Python Interpreter normalerweise bereits installiert.
 * , das Werkzeug, das Schnittstellen zwischen C++ Code und Python schafft.
 * , das Werkzeug, das Schnittstellen zwischen C++ Code und Python schafft.

Bitte überprüfe, ob Du Python 3 installiert bist. Python 2 war 2019 veraltet, so dass die Neuentwicklung in FreeCAD mit dieser Sprachversion nicht getestet wird.

Die Verstärker Bibliotheken müssen installiert sein:



Die Coin Bibliotheken müssen installiert sein:
 * , für Debian Jessie, Stretch, Ubuntu 16.04 bis 18.10, oder
 * , für Debian Buster, Ubuntu 19.04 und neuer, sowie für Ubuntu 18.04/18.10 mit dem freecad-stable/freecad-daily PPAs zu Deinen Softwarequellen hinzugefügt.

Einige Bibliotheken, die sich mit Mathematik, dreieckigen Oberflächen, Sortieren, Netzen, Computer Vision, kartographischen Projektionen, 3D Visualisierung, dem X11-Window-System, XML-Parsing und dem Lesen von Zip-Dateien befassen:


 * or
 * or
 * or
 * or
 * or
 * or
 * or
 * or

Python 2 und Qt4
Dies wird für neuere Installationen nicht empfohlen, da sowohl Python 2 als auch Qt4 veraltet sind.

Um FreeCAD für Debian Jessie, Stretch, Ubuntu 16.04 mit Python 2 und Qt4 zu kompilieren, installiere die folgenden Abhängigkeiten.



Python 3 und Qt5
Um FreeCAD für Debian Buster, Ubuntu 19.04 und neueren, sowie Ubuntu 18.04/18.10 mit dem freecad-stable/freecad-daily PPAs zu deinen Softwarequellen hinzuzufügen, installiere die folgenden Abhängigkeiten.


 * or
 * or
 * or
 * or
 * or

OpenCascade Kernel
Der OpenCascade Kern ist die zentrale Grafikbibliothek zur Erstellung von 3D-Formen. Es existiert in einer offiziellen Version OCCT und einer Community-Version OCE. Die Community-Version wird nicht mehr empfohlen, da sie veraltet ist.

Für Debian Buster und Ubuntu 18.10 und neuerer, sowie Ubuntu 18.04 mit dem freecad-stable/freecad-daily PPAs zu deinen Softwarequellen hinzugefügt, installiere die offiziellen Pakete.



Für Debian Jessie, Stretch, Ubuntu 16.04 und neuer, installiere die Gemeinschafts Editionspakete.



Du kannst die Bibliotheken einzeln oder mit Hilfe der Sternchen-Erweiterung installieren. Ändere für, wenn Du die Gemeinschaftsbibliotheken installieren möchtest.

Optionale Pakete
Optional kannst du diese zusätzlichen Pakete auch installieren:
 * , damit Coin zusätzliche Bilddateiformate unterstützt.
 * und (oder  für ältere Systeme), wenn du beabsichtigst, Quellcode Dokumentation zu generieren.
 * , für 3D-Eingabegeräte Unterstützung, wie die 3D Verbindung "Space Navigator" oder "Space Pilot".
 * , wenn Du vorhast, Deine installierten Dateien im Paketmanager Deines Systems zu registrieren, damit Du sie später deinstallieren kannst.

Einziger Befehl für Python 3 und Qt5
Erfordert Pyside2, das in Debian Buster und dem freecad-stable/freecad-daily PPAs verfügbar ist.

Einziger Befehl für Python 2 und Qt4
Dies wird für neuere Installationen nicht empfohlen, da sowohl Python 2 als auch Qt4 veraltet sind.

Ubuntu 16.04 Benutzer sehen bitte auch die Kompilierungsdiskussion im Forum: Compile on Linux (Kubuntu): CMake can't find VTK.

Fedora
Du benötigst die folgenden Pakete:


 * gcc-c++ (or possibly another C++ compiler?)
 * cmake
 * doxygen
 * swig
 * gettext
 * dos2unix
 * desktop-file-utils
 * libXmu-devel
 * freeimage-devel
 * mesa-libGLU-devel
 * OCE-devel
 * python
 * python-devel
 * python-pyside-devel
 * pyside-tools
 * boost-devel
 * tbb-devel
 * eigen3-devel
 * qt-devel
 * qt-webkit-devel
 * ode-devel
 * xerces-c
 * xerces-c-devel
 * opencv-devel
 * smesh-devel
 * coin3-devel

(wenn coin2 das neueste verfügbare für deine Version von Fedora ist, benutze Pakete von http://www.zultron.com/rpm-repo/)


 * soqt-devel
 * freetype
 * freetype-devel
 * vtk
 * med
 * med-devel

Und optional:


 * libspnav-devel (für 3Dconnexion-Geräte mit Unterstützung wie Space Navigator oder Space Pilot)
 * pivy ( https://bugzilla.redhat.com/show_bug.cgi?id=458975 Pivy ist nicht obligatorisch, wird aber für das Draft-Modul benötigt)

Gentoo
Der einfachste Weg, um zu überprüfen, welche Pakete für die Kompilierung von FreeCAD benötigt werden, ist die Überprüfung über Portage:

emerge -pv freecad

Dies sollte eine schöne Liste von zusätzlichen Paketen liefern, die Du auf Deinem System installieren musst.

Wenn FreeCAD auf Portage nicht verfügbar ist, ist es auf dem waebbl overlay verfügbar. Der Issue Tracker auf dem Waebbl Overlay Github kann Dir helfen, einige Probleme zu lösen, auf die Du stoßen könntest. Das Overlay bietet freecad-9999, das Du kompilieren oder einfach verwenden kannst, um die Abhängigkeiten zu erhalten.

layman -a waebbl

Tumbleweed
Die folgenden Befehle installieren die Pakete, die für die Erstellung von FreeCAD mit Qt5 und Python 3 erforderlich sind.

Der folgende Befehl installiert den Qt Creator und den GNU Project Debugger.

Wenn Pakete fehlen, dann kannst du die Datei Tumbleweed "FreeCAD.spec" auf dem Open Build Service überprüfen.

Überprüfe auch, ob es Patches gibt, die Du installieren musst (z.B.0001-find-openmpi2-include-files.patch).

Leap
Wenn es einen Unterschied zwischen den verfügbaren Paketen auf Tumbleweed und Leap gibt, dann kannst du die Datei Leap "FreeCAD.spec" auf dem Open Build Service lesen, um die benötigten Pakete zu ermitteln.

Arch Linux
Du benötigst die folgenden Bibliotheken aus den offiziellen Repositorien:


 * boost-libs
 * curl
 * desktop-file-utils
 * glew
 * hicolor-icon-theme
 * jsoncpp
 * libspnav
 * med
 * opencascade
 * shiboken2
 * xerces-c
 * pyside2
 * python-matplotlib
 * python-netcdf4
 * qt5-svg
 * qt5-webkit
 * qt5-webengine
 * boost
 * cmake
 * eigen
 * git
 * gcc-fortran
 * pyside2-tools
 * swig
 * qt5-tools
 * shared-mime-info

Stelle außerdem sicher, die AUR auf fehlende Pakete zu überprüfen, die sich derzeit nicht in den Repositorien befinden:


 * coin
 * python-pivy
 * med

Ältere und unkonventionelle Distributionen
Bei anderen Distributionen haben wir nur sehr wenig Feedback von Benutzern, so dass es schwieriger sein könnte, die benötigten Pakete zu finden.

Versuche zuerst, die erforderlichen Bibliotheken zu finden, die in third party libraries in deinem Paketmanager erwähnt werden. Beachte, dass einige von ihnen einen etwas anderen Paketnamen haben könnten; suche nach, aber auch , , und ähnlichem. Wenn das nicht möglich ist, versuche, diese Bibliotheken selbst zu kompilieren.

FreeCAD benötigt die GNU g++ Kompiliererversion gleich oder über 3.0.0, da FreeCAD meist in C++ geschrieben ist. Während der Kompilierung werden einige Python Skripte ausgeführt, so dass der Python Interpreter ordnungsgemäß funktionieren muss. Um Probleme mit dem Linker zu vermeiden, ist es auch eine gute Idee, die Bibliothekspfade in der Variablen oder in der Datei  zu haben. Dies geschieht bereits in modernen Linux-Distributionen, muss aber möglicherweise in älteren eingestellt werden.

Pivy
Pivy (Python Wrapper zu Coin3d) wird nicht benötigt, um FreeCAD zu bauen oder zu starten, aber es wird als Laufzeitabhängigkeit von der Draft Arbeitsbereich benötigt. Wenn Du diesen Arbeitsbereich nicht benutzt, benötigst Du Pivy nicht. Beachte jedoch, dass der Entwurfs-Arbeitsbereich intern von anderen Arbeitsbereich wie Arch Arbeitsbereich und BIM Arbeitsbereich verwendet wird, so dass Pivy installiert werden muss, um diese Arbeitsbereiche ebenfalls zu verwenden.

Bis November 2015 wird die im FreeCAD-Quellcode enthaltene veraltete Version von Pivy auf vielen Systemen nicht mehr kompiliert. Dies ist kein großes Problem, da Du normalerweise Pivy über den Paketmanager Deiner Distribution beziehen solltest; wenn Du Pivy nicht finden kannst, musst Du es möglicherweise selbst kompilieren, siehe Pivy compilation instructions

Fehlersuch Symbole
Um Abstürze in FreeCAD zu beheben, ist es sinnvoll, die Fehlersuche Symbole wichtiger Abhängigkeitsbibliotheken wie Qt zu haben. Versuche dazu, die Abhängigkeitspakete zu installieren, die mit, , oder ähnlichem enden, abhängig von Deiner Linux-Distribution.

Für Ubuntu musst Du möglicherweise spezielle Repositorien aktivieren, um diese Debug-Pakete mit dem Paketmanager anzeigen und installieren zu können. Weitere Informationen findest du unter Debug Symbolpakete.

Kompiliere FreeCAD
FreeCAD verwendet CMake als Hauptbuild-System, da es auf allen gängigen Betriebssystemen verfügbar ist. Die Kompilierung mit CMake ist in der Regel sehr einfach und erfolgt in zwei Schritten.


 * 1) CMake überprüft, ob alle benötigten Programme und Bibliotheken auf Ihrem System vorhanden sind und erzeugt eine, die für den zweiten Schritt konfiguriert ist. FreeCAD hat mehrere Konfigurationsoptionen zur Auswahl, aber es wird mit sinnvollen Standardeinstellungen ausgeliefert. Einige Alternativen werden im Folgenden beschrieben.
 * 2) Die Kompilierung selbst, die mit dem Programm  durchgeführt wird, das die FreeCAD-Ausführungsdateien erzeugt.

Da FreeCAD eine große Anwendung ist, kann die Kompilierung des gesamten Quellcodes je nach CPU und Anzahl der für die Kompilierung verwendeten CPU-Kerne zwischen 10 Minuten und einer Stunde dauern.

Du kannst den Code entweder in oder aus dem Quellverzeichnis erstellen. Aus dem Quelltext heraus Erstellung ist in der Regel die beste Option.

Erstellung aus dem Quelltext
Das Erstellen in einem separaten Ordner ist bequemer als das Erstellen in demselben Verzeichnis, in dem sich der Quellcode befindet, da CMake bei jeder Aktualisierung des Quellcodes intelligent feststellen kann, welche Dateien sich geändert haben, und nur das neu kompilieren kann, was benötigt wird. Dies ist sehr nützlich, wenn Sie verschiedene Git-Zweige testen, da Sie das Build-System nicht verwirren.

Um Out-of-Source zu erstellen, erstelle einfach ein Build-Verzeichnis,, das sich von Deinem FreeCAD-Quellordner unterscheidet, ; dann von diesem Build-Verzeichnis-Punkt zum richtigen Quellordner. Du kannst oder  anstelle von  auch in den folgenden Anweisungen verwenden. Sobald die Konfiguration der Umgebung abgeschlossen hat, verwende, um die eigentliche Kompilierung zu starten.

Die Option von  steuert, wie viele Aufträge (Dateien) parallel kompiliert werden. Das Programm druckt die Anzahl der CPU-Kerne in Deinem System; indem Du es zusammen mit der Option  verwendest, kannst Du wählen, ob Du so viele Dateien wie möglich verarbeiten möchtest, um die Gesamtübersetzung des Programms zu beschleunigen. Im obigen Beispiel verwendet es alle Kerne in Deinem System mit Ausnahme von zwei; dies hält Deinen Computer für andere Anwendungen reaktionsschnell, während die Kompilierung im Hintergrund abläuft. Die FreeCAD-Ausführdatei wird schließlich im Verzeichnis erscheinen. Siehe auch Kompilieren (Beschleunigen), um die Kompilierungsgeschwindigkeit zu verbessern.

In Quellcode Bau
In-source builds sind in Ordnung, wenn du eine Version von FreeCAD schnell kompilieren möchtest und nicht vorhast, den Quellcode häufig zu aktualisieren. In diesem Fall kannst Du das kompilierte Programm und die Quelle einfach durch Löschen eines einzelnen Ordners entfernen.

Wechsle in das Quellverzeichnis und zeige auf das aktuelle Verzeichnis (gekennzeichnet durch einen einzelnen Punkt):

Die FreeCAD Ausführdatei befindet sich dann im Verzeichnis.

Wie Du dein Quellcode Verzeichnis reparieren kannst
Wenn du versehentlich eine Kompilierung im Quellcode Verzeichnis durchgeführt oder seltsame Dateien hinzugefügt hast und den Inhalt nur im ursprünglichen Quellcode wiederherstellen möchtest, kannst du die folgenden Schritte durchführen.

Die erste Zeile löscht die Datei. Dadurch wird sichergestellt, dass die folgenden Clean und Reset Befehle sich auf alles im Verzeichnis auswirken und keine Elemente ignorieren, die den Ausdrücken in  entsprechen. Die zweite Zeile löscht alle Dateien und Verzeichnisse, die nicht vom git Repository verfolgt werden; dann setzt der letzte Befehl alle Änderungen an den überwachten Dateien zurück, einschließlich des ersten Befehls, der die Datei gelöscht hat.

Wenn du das Quellverzeichnis nicht löschst, können nachfolgende Durchläufe von keine neuen Optionen für das System erfassen, wenn sich der Code ändert.

Konfiguration
Durch die Übergabe verschiedener Optionen an kannst Du ändern, wie FreeCAD kompiliert wird. Die Syntax ist wie folgt.

Wobei das Verzeichnis ist, das den Quellcode enthält. Der kann in den meisten Fällen weggelassen werden. Das Leerzeichen nach der Option kann ebenfalls weggelassen werden.

Zum Beispiel, um den Bau der FEM Arbeitsbereich zu vermeiden:

Alle möglichen Variablen sind in der Datei aufgelistet, die sich im Verzeichnis toplevel  befindet. Suche in dieser Datei nach dem Wort, um zu den einstellbaren Variablen zu gelangen und deren Standardwerte zu sehen.


 * 1) =================   Alle Optionen für den Bau Prozess    =================
 * 1) =================   Alle Optionen für den Bau Prozess    =================

option(BUILD_FORCE_DIRECTORY "The build directory must be different to the source directory." OFF) option(BUILD_GUI "Build FreeCAD Gui. Otherwise you have only the command line and the Python import module." ON) option(FREECAD_USE_EXTERNAL_ZIPIOS "Use system installed zipios++ instead of the bundled." OFF) option(FREECAD_USE_EXTERNAL_SMESH "Use system installed smesh instead of the bundled." OFF) ...

Alternativ kannst Du den Befehl verwenden, um die aktuelle Konfiguration und damit alle Variablen aufzulisten, die geändert werden können. Du kannst auch installieren und verwenden, um eine grafische Oberfläche zu starten, die alle Variablen anzeigt, die geändert werden können. In den nächsten Abschnitten listen wir einige der wichtigsten Optionen auf, die du vielleicht verwenden möchtest.

Für einen Fehlersuch Bau
Erstelle einen Build, um Abstürze in FreeCAD zu beheben. Beachte, dass mit diesem Build die Skizzierer Arbeitsbereich bei komplexen Skizzen sehr langsam wird.

Für ein Veröffentlichungs Bau
Erstelle einen Build, um Code zu testen, der nicht abstürzt. Ein Build wird viel schneller ausgeführt als ein  Build.

Bauen gegen Python 3 und Qt5
FreeCAD erstellt standardmäßig für Python 2 und Qt4. Da diese beiden Pakete veraltet sind, ist es besser, für Python 3 und Qt5 zu bauen.

In einer modernen Linux Distribution müsse nur zwei Variablen angegeben werden, die die Verwendung von Qt5 und den Pfad zum Python Interpreter angeben.

Bauen für eine bestimmte Python Version
Wenn die standardmäßige ausführbare Datei in Deinem System ein symbolischer Link zu Python 2 ist, wird  versuchen, FreeCAD für diese Version zu konfigurieren. Du kannst eine andere Version von Python wählen, indem du den Pfad zu einer bestimmten ausführbaren Datei angibst:

Wenn das nicht funktioniert, musst Du möglicherweise zusätzliche Variablen definieren, die auf die gewünschten Python Bibliotheken und Include Verzeichnisse verweisen:

Es ist möglich, mehrere unabhängige Versionen von Python im selben System zu haben, so dass die Speicherorte und Versionsnummern deiner Python Dateien von deiner jeweiligen Linux Distribution abhängen. Verwende, um die Version von Python anzuzeigen, die Du gerade verwendest; nur die ersten beiden Zahlen sind notwendig; wenn das Ergebnis beispielsweise ist, musst Du die Verzeichnisse angeben, die sich auf die Version 3.6 beziehen. Wenn Du die richtigen Verzeichnisse nicht kennst, versuche mit dem Befehl nach ihnen zu suchen.

Du kannst in einem Terminal verwenden, um das Verzeichnis  zu bestimmen, oder  für Debian Systeme.

Bauen mit Qt Creator gegen Python 3 und Qt5
Um im Qt Creator zu kompilieren, füge die entsprechenden Variablen unten in hinzu. Gib erneut die korrekten Pfade und die Python Version an, die Du verwenden möchtest.

Gehe zu und wähle, um die grafische Version von FreeCAD zu kompilieren, oder , um nur die Befehlszeilenversion zu kompilieren.

Qt Designer Zusatzprogramm
Wenn du Qt Code für FreeCAD entwickeln möchtest, benötigst du die Qt Designer Zusatzprogramm, das alle benutzerdefinierten Widgets von FreeCAD bereitstellt.

Gehe in ein Hilfsverzeichnis des Quellcodes, den Run mit der angegebenen Projektdatei, um eine  zu erstellen; führe dann  aus, um das Zusatzprogramm zu kompilieren.

Wenn du für Qt5 kompilierst, stelle sicher, dass die Binärdatei diejenige für diese Version ist, so dass die resultierende  die notwendigen Informationen für Qt5 enthält.

wobei das Verzeichnis ist, das Qt Binärbibliotheken speichert, z.B..

Die erstellte Bibliothek ist, die nach kopiert werden muss.

Externes oder internes Pivy
Bisher wurde eine Version von Pivy in den Quellcode von FreeCAD (intern) aufgenommen. Wenn Du die Kopie von Pivy (extern) Deines Systems verwenden möchtest, musst Du Folgendes verwenden.

Die Verwendung von externem Pivy wurde bei der Entwicklung von FreeCAD 0.16 zum Standard, so dass diese Option nicht mehr manuell gesetzt werden muss.

Doxygen-Dokumentation
Wenn Du Doxygen installiert hast, kannst Du die Quellcode Dokumentation erstellen. Siehe source documentation/de für Anweisungen.

Zusätzliche Dokumentation
Der Quellcode von FreeCAD ist sehr umfangreich, und mit CMake ist es möglich, viele Optionen zu konfigurieren. Das Erlernen der vollständigen Nutzung von CMake kann nützlich sein, um die richtigen Optionen für Ihre speziellen Bedürfnisse auszuwählen.
 * CMake Referenzdokumentation von Kitware.
 * Wie man ein CMake-basiertes Projekt erstellt (Blog) durch Preshing auf Programmierung.
 * CMakes Skriptsprache in 15 Minuten lernen (Blog) durch Preshing auf Programmierung.

Debian-Paket erstellen
Wenn Du planst, ein Debian-Paket aus den Quellen zu erstellen, musst Du zuerst bestimmte Pakete installieren:

Gehe in das FreeCAD Verzeichnis und wähle

Sobald das Paket erstellt ist, kannst Du mit prüfen, ob das Paket Fehler enthält.

Aktualisierung des Quellcodes
Das CMake System ermöglicht es Dir, den Quellcode intelligent zu aktualisieren und nur die Änderungen neu zu kompilieren, was spätere Kompilierungen beschleunigt.

Gehe an den Speicherort, an dem der FreeCAD Quellcode zuerst heruntergeladen wurde, und ziehe den neuen Code:

Gehe dann in das Build Verzeichnis, in dem der Code ursprünglich kompiliert wurde, und führe  unter Angabe des aktuellen Verzeichnisses (gekennzeichnet durch einen Punkt) aus; löse dann die Neukompilierung mit  aus.

For 64 bit systems
When building FreeCAD for 64-bit there is a known issue with the OpenCASCADE (OCCT) 64-bit package. To get FreeCAD running properly you might need to run the script and set additional :

For Debian based systems this option is not needed when using the pre-built OpenCASCADE packages because these ones set the proper internally.

Automatic build scripts
Here is all what you need for a complete build of FreeCAD. It's a one-script-approach and works on a freshly installed Linux distribution. The commands will ask for the root password for installation of packages and new online repositories. These scripts should run on 32 and 64 bit versions. They are written for different versions, but are also likely to run on a later version with or without major changes.

If you have such a script for your preferred distribution, please discuss it on the FreeCAD forum so we can incorporate it.

Ubuntu
Diese Skripte bieten eine zuverlässige Möglichkeit, die richtigen Abhängigkeiten zu installieren, die für die Erstellung und Ausführung von FreeCAD auf Ubuntu erforderlich sind. Sie nutzen die Ubuntu Personal Package Archives (PPA) und sollten an jeder Version von Ubuntu arbeiten, die von der PPA erfasst wird. Die freecad-tages freecad-tages PPA zielt auf aktuelle Versionen von Ubuntu ab, während die freecad-stable PPA zielt auf offiziell unterstützte Versionen von Ubuntu ab.

Dieses Skript installiert den täglich erstellten Schnappschuss von FreeCAD und seinen Abhängigkeiten. Es fügt das tägliche Repository hinzu, holt die Abhängigkeiten, um diese Version zu erstellen, und installiert die erforderlichen Pakete. Anschließend wird der Quellcode in ein bestimmtes Verzeichnis gezogen, ein Build-Verzeichnis erstellt und in dieses gewechselt, die Kompilierungsumgebung mit konfiguriert und schließlich das gesamte Programm mit  erstellt. Speichere das Skript in einer Datei, mache es ausführbar und führe es aus, verwende aber nicht ; Superuser Rechte werden nur für ausgewählte Befehle abgefragt.

Wenn du möchtest, kannst du die vorkompilierte Version von FreeCAD deinstallieren, während du die Abhängigkeiten an Ort und Stelle lässt, aber wenn du dieses Paket installiert lässt, kann der Paketmanager seine Abhängigkeiten auch auf dem neuesten Stand halten; dies ist vor allem nützlich, wenn du die Entwicklung von FreeCAD verfolgen und die Quellen aus dem Git Repository ständig aktualisieren und kompilieren willst.

Das vorherige Skript geht davon aus, dass du die neueste Version von FreeCAD kompilieren möchtest, also benutzt du das "tägliche" Repository, um die Abhängigkeiten zu erhalten. Du kannst jedoch stattdessen die Build Abhängigkeiten der "stabilen" Version für deine aktuelle Ubuntu-Version erhalten. Wenn dies der Fall ist, ersetze den oberen Teil des vorherigen Skripts durch die folgenden Anweisungen. Für Ubuntu 12.04 lasse vom Befehl aus.

Sobald du das Paket aus dem Repository  installiert hast, ersetzt es die FreeCAD Ausführdatei, die im Universe Ubuntu Repository verfügbar ist. Die ausführbare Datei wird einfach genannt und nicht.

OpenSUSE 12.2 = veraltet !!!
Für die Kompilierung von FreeCAD 0.13 mit diesem Release werden keine externen Repositories benötigt. Es gibt jedoch eine Inkompatibilität mit python3-devel, die entfernt werden muss. FreeCAD kann aus GIT kompiliert werden, ähnlich wie in OpenSUSE 12.2.

Da Du git verwendest, musst Du beim nächsten Mal, wenn Du kompilieren möchtest, nicht alles klonen, sondern ziehst einfach von git ab und kompilierst erneut.

Fedora 27/28/29
Veröffentlicht von Benutzer [PrzemoF] im Forum.

{ echo "~/$MAIN_DIR already exist. Quitting.."; exit; } cd $MAIN_DIR git clone https://github.com/FreeCAD/FreeCAD.git mkdir $BUILD_DIR

Bogen mit AUR
Arch User Repository (AUR) ist eine Sammlung von benutzerdefinierten Rezepten zum Erstellen von Paketen, die nicht offiziell von Distributionsmoderatoren / Gemeinschaft unterstützt werden. Sie sind in der Regel sicher. Du kannst sehen, wer das Paket gepflegt hat und wie lange. Es wird empfohlen, die Konstruktionsdateien zu überprüfen. Auch nicht quelloffene Software ist in diesem Bereich verfügbar, auch wenn sie von der offiziellen Eigentümerfirma gepflegt wird.

Voraussetzung: git

Schritte :
 * 1) Öffne ein Terminal. Optional kann ein Verzeichnis erstellt werden, z.B. . Optional kann das Verzeichnis geändert werden, z.B..
 * 2) Klone das AUR-Repository :
 * 3) Gib den AUR Repository Ordner ein:
 * 4) Kompiliere mit Arch makepkg : . Das Flag -s oder --syncdeps installiert auch die erforderlichen Abhängigkeiten.
 * 5) Installiere das erstellte Paket : oder doppelklicke auf das pkgname-pkgver.pkg.tar.xz in Deinem Dateibrowser.

Um FreeCAD auf den neuesten Stand zu bringen, wiederhole einfach ab Schritt 3. Aktualisiere AUR repo, wenn es eine Bruchänderung im Rezept oder neue Funktionen gibt, indem Du im Ordner verwendest.