Jump to content

Kompilieren unter Docker

From FreeCAD Documentation
This page is a translated version of the page Compile on Docker and the translation is 100% complete.

Diese Dokumentation ist noch nicht fertiggestellt. Bitte hilf mit und trage etwas zur Dokumentation bei.

Die Seite GuiBefehl Modell erklärt, wie Befehle dokumentiert werden sollten. Unter Category:UnfinishedDocu findest du weitere unvollständige Seiten wie diese (und unter Category:UnfinishedDocu/de unvollständige Übersetzungen). Siehe Category:Command Reference für sämtliche Befehle (und Category:UnfinishedDocu/de für vorhandene Übersetzungen).

Siehe WikiSeiten, um zu lernen, wie die Wiki-Seiten bearbeitet werden und FreeCAD Unterstützen, um andere Wege zu entdecken, wie du einen Beitrag leisten kannst.

Überblick

Unter den Möglichkeiten, FreeCAD zu bauen und zu installieren, gibt es die Möglichkeit, Docker zu verwenden. Diese Methode ist vor allem für FreeCAD-Entwickler nützlich, die Linux oder macOS-Rechner verwenden.

Vorteile

Alle Abhängigkeiten von FreeCAD sind bereits installiert, miteinander kompatibel und entsprechend konfiguriert, so dass Du sehr schnell mit der Entwicklung beginnen kannst.

  • Die Abhängigkeiten sind im Docker-Container enthalten, wodurch verhindert wird, dass unerwünschte Pakete die Arbeitsstation verunreinigen und dass es zu Kollisionen von Versionen kommt.
  • Der Quellcode und die Bauverzeichnisse befinden sich außerhalb des Docker-Containers. Dies erlaubt es, die bevorzugten Bearbeitungsprogramme, Versionierungssysteme, Entwicklungswerkzeuge usw. zu verwenden, ohne sie im Docker-Container einrichten zu müssen. Man kann sie einfach wie gewohnt direkt vom Arbeitsplatzrechner aus benutzen. (Außerdem bedeutet es, dass man den Docker-Container nicht jedes Mal neu aufbauen muss, wenn man FreeCAD bauen will).
  • Für diejenigen, die obskure *nix Distributionen und Gebrauchsanweisungen sind nicht verfügbar für das Holen von Abhängigkeiten verwenden, ist alles, was auf dem Arbeitsplatzrechner installiert werden muss, ein Docker, das in vielen Distributionen recht häufig verfügbar ist.
  • Es bietet eine statische, unveränderliche Entwicklungsumgebung. Ich persönlich finde das nützlich, wenn ich bei der Entwicklung die Anzahl der potentiellen Variablen, die ein Problem verursachen könnten, reduzieren möchte. Man weis, dass sich zwischen den Builds nichts Esoterisches in der Umgebung verändert hat. Für Entwickler, die zusammenarbeiten und beide den gleichen Docker-Container verwenden, kann man sicher sein, dass beide von der gleichen Umgebung aus arbeiten, was Kommunikationsfehler aufgrund von Unterschieden in der Umgebung reduziert.

Docker-Repositorys

Vorbedingungen

  • 10 GB freier Speicherplatz
  • Docker

Installation

Herunterladen der Quelle

Der beste Weg, den Quellcode von FreeCAD zu erhalten, ist das Klonen des Git-Repository. Dazu benötigt man das Programm Git, das in den meisten Linux- und macOS-Distributionen einfach installiert werden kann, und es kann auch von der offiziellen Website bezogen werden.

Dadurch wird eine Kopie der neuesten Version des FreeCAD-Quellcodes in einem neuen Verzeichnis namens freecad_source abgelegt.

git clone --recurse-submodules https://github.com/FreeCAD/FreeCAD.git ~/my_code/freecad_source

Weitere Informationen über die Verwendung von Git und das Einbringen von Code in das Projekt findet man unter Quellcodeverwaltung.

Ein Build-Verzeichnis erstellen

Ein Verzeichnis erstellen, das die kompilierten FreeCAD-Quellen enthält.

mkdir ~/my_code/freecad_build

Docker-Abbild ziehen

Das Docker-Abbild ziehen. (Offizielles Bild kommt bald.)

docker pull registry.gitlab.com/daviddaish/freecad_docker_env:latest

Zugriff auf den Windowmanager erlauben

Damit FreeCAD seine GUI aus dem Docker-Container heraus starten kann, musst man Docker Zugriffsrechte für den Windowmanager geben. In den meisten Linux-Distributionen ist dies das X-Fenster-System. Man kann den unten stehenden Befehl verwenden, um einen pauschalen Zugriff auf X zu erlauben, bis der Rechner neu gestartet wurde oder man sich abgemeldet hat.

xhost +

Wenn man mit nicht vertrauenswürdigen Systemen verbunden ist, z. B. über ssh, macht einen das anfällig für bösartigen Code. Entweder alle SSH-Verbindungen schließen, oder sicherere xhost-Berechtigungen anschauen, was außerhalb des Umfanges dieses Tutorials liegt.

macOS-Anwender

Für diejenigen, die macOS verwenden, ist das X-Fenster-System möglicherweise nicht installiert. Das XQuartz-Projekt ist ein seit langem laufendes quelloffenes Projekt, das es einem erlaubt, es auf dem Computer zu installieren. Es ist hier zu finden.

Das Docker-Abbild starten

Umgebungsvariablen zuweisen, so dass der Docker-Container den FreeCAD-Quellcode und das Build-Verzeichnis einhängen wird. Zusätzlich kann man ein weiteres Verzeichnis einhängen, das alle Dateien enthält, die man zu Testzwecken verwenden möchte. In dem untenstehenden Schnipsel haben wir es als das Heimverzeichnis als einfache Standardvorgabe belassen.

fc_source=~/my_code/freecad_source
fc_build=~/my_code/freecad_build
other_files=~/

Das Docker-Abbild starten.

docker run -it --rm \
-v $fc_source:/mnt/source \
-v $fc_build:/mnt/build \
-v $other_files:/mnt/files \
-e "DISPLAY" -e "QT_X11_NO_MITSHM=1" -v /tmp/.X11-unix:/tmp/.X11-unix:ro \
registry.gitlab.com/daviddaish/freecad_docker_env:latest

FreeCAD bauen

Man kann FreeCAD mit dem installierten Build-Skript oder mit einer bevorzugten Methode bauen.

/root/build_script.sh

FreeCAD ausführen

Sobald FreeCAD gebaut wurde, kann es wie gewohnt ausgeführt werden.

/mnt/build/bin/FreeCAD

Die angehängten Verzeichnisse sind im /mnt Verzeichnis zu finden.

Diskussion

Verwandt