Compilazione con Docker

From FreeCAD Documentation
Revision as of 09:42, 8 April 2023 by Simone.b (talk | contribs) (Created page with "Per coloro che utilizzano Mac OS, il sistema X Window potrebbe non essere installato. Il progetto XQuartz è un progetto open source di lunga durata che ti consentirà di aggiungerlo al tuo computer. [https://www.xquartz.org/ Lo trovi qui].")

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.

Presentazione

Tra le opzioni per la compilazione e l'installazione di FreeCAD, c'è la possibilità di utilizzare Docker. Questo metodo è utile principalmente per gli sviluppatori di FreeCAD che utilizzano computer Linux o Mac OS.

Vantaggi

Tutte le dipendenze di FreeCAD sono già installate, compatibili tra loro e configurate in modo appropriato, consentendo di iniziare a sviluppare molto rapidamente.

  • Le dipendenze sono contenute all'interno del contenitore docker, impedendo ad eventuali pacchetti indesiderati di contaminare la tua workstation e prevenendo eventuali conflitti tra versioni.
  • Il codice sorgente e le directory di compilazione sono al di fuori del contenitore docker. Ciò ti consente di utilizzare i tuoi editor preferiti, i sistemi di controllo delle versioni, gli strumenti di sviluppo e così via, senza doverli configurare nel contenitore docker. Puoi semplicemente usarli normalmente, direttamente dalla tua postazione di lavoro. (Inoltre, significa che non è necessario ricostruire il contenitore docker ogni volta che si desidera creare FreeCAD.)
  • Per coloro che usano oscure distribuzioni *nix per le quali le istruzioni non sono disponibili per recuperare le dipendenze, tutto ciò che si deve installare sulla workstation è docker, che è comunemente disponibile in molte distribuzioni.
  • Fornisce un ambiente di sviluppo statico e immutabile. Personalmente lo trovo utile durante lo sviluppo per ridurre il numero di potenziali variabili che potrebbero causare un problema. Si è sicuri di non aver alterato qualcosa di esoterico nell'ambiente tra le build. Per gli sviluppatori che collaborano ed utilizzano lo stesso contenitore docker, si può essere certi di lavorare tutti sullo stesso ambiente, il che riduce gli errori di comunicazione causati dalle differenze nell'ambiente.

Repository Docker

Prerequisiti

  • 10GB di spazio libero
  • Docker

Installazione

Scarica i sorgenti

Il modo migliore per ottenere il codice sorgente di FreeCAD è clonare il repository Git. Per questo è necessario il programma git che può essere facilmente installato nella maggior parte delle distribuzioni Linux e Mac OS, e può anche essere ottenuto dal sito ufficiale.

Questo collocherà una copia dell'ultima versione del codice sorgente di FreeCAD in una nuova directory chiamata freecad_source.

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

Per ulteriori informazioni sull'utilizzo di Git e sul contributo del codice al progetto, vedere Gestione del codice sorgente.

Archivio dei sorgenti

In alternativa si può scaricare il sorgente dall'archivio, in un file .zip o .tar.gz e scompattarlo nella directory desiderata.

Creare la cartella di compilazione

Creare una directory per contenere il sorgente di FreeCAD compilato.

mkdir ~/my_code/freecad_build

Inviare l'immagine Docker

Inviare l'immagine Docker. (Immagine ufficiale in arrivo.)

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

Consentire l'accesso al tuo gestore di finestre

Affinché FreeCAD possa avviare la sua GUI dall'interno del contenitore Docker, è necessario concedere le autorizzazioni di accesso a Docker al gestore delle finestre. Nella maggior parte delle distribuzioni Linux, questo è il sistema X Window. È possibile utilizzare il comando seguente per consentire l'accesso generale a X, fino al riavvio o alla disconnessione dal computer.

xhost +

Se si è connessi a qualsiasi sistema non affidabile, ad esempio tramite ssh, questo ti renderà vulnerabile al codice dannoso. Chiudere tutte le connessioni ssh o cercare autorizzazioni xhost più sicure, ciò esula dallo scopo di questo tutorial.

Utenti Mac OS

Per coloro che utilizzano Mac OS, il sistema X Window potrebbe non essere installato. Il progetto XQuartz è un progetto open source di lunga durata che ti consentirà di aggiungerlo al tuo computer. Lo trovi qui.

Lanciare l'immagine the docker

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

Compilare FreeCAD

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

/root/build_script.sh

Eseguire 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.

Discussioni

Correlazioni