Compilar en Docker
Introducción
Entre las opciones para compilar e instalar FreeCAD, se encuentra la de usar Docker. Este método es especialmente útil para desarrolladores de FreeCAD que utilizan ordenadores Linux o macOS.
Beneficios
Todas las dependencias de FreeCAD ya están instaladas, son compatibles entre sí y están configuradas correctamente, lo que le permite comenzar a desarrollar muy rápidamente.
- Las dependencias se encuentran dentro del contenedor Docker, lo que evita que paquetes no deseados contaminen su estación de trabajo y previene conflictos de versiones.
- El código fuente y los directorios de compilación están fuera del contenedor Docker. Esto le permite usar sus editores, sistemas de control de versiones, herramientas de desarrollo, etc., preferidos, sin tener que configurarlos dentro del contenedor Docker. Puede usarlos con normalidad, directamente desde su estación de trabajo. (Además, significa que no tendrá que reconstruir el contenedor Docker cada vez que quiera compilar FreeCAD).
- Para quienes usan distribuciones *nix poco comunes las instrucciones no están disponibles. Para obtener las dependencias, solo se necesita instalar Docker en la estación de trabajo, que está disponible en muchas distribuciones.
- Proporciona un entorno de desarrollo estático e inmutable. Personalmente, me resulta útil durante el desarrollo para reducir la cantidad de variables potenciales que podrían causar un problema. Así, sabe que no ha modificado nada complejo del entorno entre compilaciones. Para los desarrolladores que colaboran y usan el mismo contenedor Docker, puede estar seguro de que ambos trabajan en el mismo entorno, lo que reduce los errores de comunicación causados por diferencias en el entorno.
Repositorio Docker
- Original: https://gitlab.com/daviddaish/freecad_docker_env
- Oficial: https://GitHub.com/FreeCAD/Docker
Requesitos previos
- 10 GB de almacenamiento gratuito
- Docker
Instalación
Descargar la fuente
La mejor manera de obtener el código fuente de FreeCAD es clonar el repositorio Git de [1]. Para ello, necesita el programa git, que se puede instalar fácilmente en la mayoría de las distribuciones de Linux y macOS, y que también puede obtener desde el sitio web oficial de [2].
Esto colocará una copia de la última versión del código fuente de FreeCAD en un nuevo directorio llamado freecad_source.
git clone --recurse-submodules https://github.com/FreeCAD/FreeCAD.git ~/my_code/freecad_source
Para obtener más información sobre el uso de Git y cómo contribuir con código al proyecto, consulte Administración de código fuente.
Crear directorio de compilación
Crea un directorio para almacenar el código fuente compilado de FreeCAD.
mkdir ~/my_code/freecad_build
Descargar imagen de Docker
Descarga la imagen de Docker. (La imagen oficial estará disponible próximamente).
docker pull registry.gitlab.com/daviddaish/freecad_docker_env:latest
Permitir el acceso a su gestor de ventanas
Para que FreeCAD inicie su interfaz gráfica desde el contenedor Docker, debe otorgarle a Docker permisos de acceso al gestor de ventanas. En la mayoría de las distribuciones de Linux, este es el sistema de ventanas X. Puede usar el siguiente comando para permitir el acceso completo a X hasta que reinicie o cierre sesión en tu computadora.
xhost +
Si se conecta a algún sistema no confiable, como por ejemplo mediante SSH, será vulnerable a código malicioso. Cierra todas las conexiones SSH o considera configurar permisos de host X más seguros, lo cual queda fuera del alcance de este tutorial.
Usuarios de macOS
Para quienes usan macOS, es posible que el sistema de ventanas X no esté instalado. El proyecto XQuartz es un proyecto de código abierto con una larga trayectoria que permite agregarlo al equipo. Puedes encontrarlo aquí.
Iniciar la imagen de Docker
Asigne variables de entorno para que el contenedor Docker monte el código fuente y el directorio de compilación de FreeCAD. Además, puede montar un directorio adicional para almacenar los archivos que quiera usar para realizar pruebas. En el siguiente fragmento de código, hemos dejado su directorio personal como valor predeterminado.
fc_source=~/my_code/freecad_source
fc_build=~/my_code/freecad_build
other_files=~/
Inicie la imagen de Docker.
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
Crear FreeCAD
Puede compilar FreeCAD utilizando el script de compilación instalado o mediante tu método preferido.
/root/build_script.sh
Ejecutar FreeCAD
Una vez compilado FreeCAD, se puede ejecutar con normalidad.
/mnt/build/bin/FreeCAD
Puedes encontrar los directorios adjuntos en el directorio /mnt.
Discusión
- Contenedor de compilación de entorno Docker
- Configuración de VSCode con Docker (1)
- Configuración de VSCode con Docker (2)
Relacionado
- Getting started
- Installation: Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties, Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base, Assembly, BIM, CAM, Draft, FEM, Inspection, Material, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework
- Hubs: User hub, Power users hub, Developer hub