Compiler sous Docker

From FreeCAD Documentation
Revision as of 18:17, 16 January 2021 by David69 (talk | contribs) (Created page with "Pour que FreeCAD lance son interface graphique à partir du conteneur Docker, vous devez donner des autorisations d'accès Docker à votre gestionnaire de fenêtres. Dans la p...")

This documentation is not finished. Please help and contribute documentation.

GuiCommand model explains how commands should be documented. Browse Category:UnfinishedDocu to see more incomplete pages like this one. See Category:Command Reference for all commands.

See WikiPages to learn about editing the wiki pages, and go to Help FreeCAD to learn about other ways in which you can contribute.

Présentation

Parmi les options de compilation et d'installation de FreeCAD, il existe la possibilité d'utiliser Docker. Cette méthode est principalement utile pour les développeurs FreeCAD, utilisant des ordinateurs Linux ou Mac OS.

Bénéfices

Toutes les dépendances de FreeCAD sont déjà installées, compatibles les unes avec les autres et configurées de manière appropriée, ce qui vous permet de commencer à développer très rapidement.

  • Les dépendances sont contenues dans le conteneur de docker, empêchant tout paquet indésirable de contaminer votre poste de travail et empêchant toute version en conflit.
  • Le code source et les répertoires de construction sont en dehors du conteneur docker. Cela vous permet d'utiliser vos éditeurs, systèmes de versionnage, outils de développement, etc. préférés, sans avoir à les configurer dans le conteneur Docker. Vous pouvez simplement les utiliser comme d'habitude, directement depuis votre poste de travail. (En outre, cela signifie que vous n'avez pas à reconstruire le conteneur Docker chaque fois que vous souhaitez créer FreeCAD.)
  • Pour ceux qui utilisent des distributions *nix obscures, les instructions ne sont pas disponibles pour récupérer les dépendances, tout ce dont vous avez besoin pour installer sur votre poste de travail est docker, qui est généralement disponible dans de nombreuses distributions.
  • Fournit un environnement de développement statique et immuable. Personnellement, je trouve cela utile lors du développement pour réduire le nombre de variables potentielles qui pourraient causer un problème. Vous savez que vous n'avez pas modifié quelque chose d'ésotérique dans l'environnement entre les versions. Pour les développeurs collaborant et utilisant tous les deux le même conteneur Docker, vous pouvez être sûr que vous travaillez tous les deux à partir du même environnement, ce qui réduit les erreurs de communication causées par les différences d'environnement.

Dépôt Docker

Prérequis

  • 10 GB de mémoire libre
  • Docker

Installation

Charger les sources

La meilleure façon d'obtenir le code source de FreeCAD est de cloner le dépôt Git. Pour cela, vous avez besoin du programme git qui peut être facilement installé dans la plupart des distributions Linux et Mac OS, et il peut également être obtenu sur le site officiel.

Ceci créera une copie de la dernière version du code source de FreeCAD dans un nouveau répertoire nommé freecad-source.

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

Pour plus d'informations sur l'utilisation de Git et sur la contribution de code au projet, voir gestion du code source.

Source sous forme archive

Vous pouvez alternativement télécharger la source sous forme d'archive, en fichier .zip ou .tar.gz, et décompresser cela dans le dossier voulu.

Créer le répertoire de compilation

Créez un répertoire pour contenir votre source FreeCAD compilée.

mkdir ~/my_code/freecad_build

Récupérer l'image Docker

Récupérez l'image Docker. (Image officielle à venir.)

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

Autorisee l'accès à votre gestionnaire de fenêtres

Pour que FreeCAD lance son interface graphique à partir du conteneur Docker, vous devez donner des autorisations d'accès Docker à votre gestionnaire de fenêtres. Dans la plupart des distributions Linux, il s'agit du système X window. Vous pouvez utiliser la commande ci-dessous pour autoriser l'accès général à X, jusqu'à ce que vous redémarriez ou déconnectiez votre ordinateur.

xhost +

If you're connected to any untrusted systems, such as via ssh, this will make you vulnerable to malicious code. Either close any ssh connections, or look into more secure xhost permissions, which is outside the scope of this tutorial.

Mac OS users

For those using Mac OS, the X window system may not be installed. The XQuartz project is a long running open source project that will allow you to add it to your computer. You can find it here.

Launch the docker image

Assign environment variables so the Docker container will mount FreeCAD's source code, and build directory. In addition, you can mount an extra directory to contain any files you'd like to use for testing purposes. In the below snippet, we've left it as your home directory as a simple default.

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

Launch the Docker image.

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

Build FreeCAD

You can build FreeCAD using the installed build script, or using your preferred method.

/root/build_script.sh

Run FreeCAD

Once FreeCAD has been built, it can be run as normal.

/mnt/build/bin/FreeCAD

You can find the attached directories in the /mnt directory.

Discussion

Related