Compile on MacOS/es

Ya que Mac OS X está basado en BSD (UNIX), la compilación de FreeCAD en Mac no es muy diferente a la Compilación en Unix, sin embargo existen algunos detalles específicos para Mac que son críticos para tener todo funcionando correctamente. Estas instrucciones se han probado en Lion (10.7), pero también deberían funcionar en Intel Macs utilizando (Snow) Leopard.

Conseguir el código fuente
Antes de que puedas compilar FreeCAD, necesitaras el código fuente. Existen 3 modos de obtenerlo:

Git
El modo más rápido y el mejor para opbtener el código es clonar el repositorio de sólo lectura de Git (necesitas tener instalado el paquete Git):

git clone git://free-cad.git.sourceforge.net/gitroot/free-cad/free-cad freecad

Esto creará una copia de la última versión del código fuente de FreeCAD en un nuevo directorio denominado "freecad". La primera vez que intentes conectar al huesped de free-cad.git.sourceforge.net, recibiras un mensaje preguntando la clave SSH de autentificación de Sourceforge, lo cual es normalmente seguro aceptar (puedes comprobar sus claves SSH en la website si no estas seguro)

Github
Siempre hay un repositorio actualizado de FreeCAD en Gihub:

github.com/FreeCAD/FreeCAD_sf_master

Paquetes de código fuente
Alternativamente puedes descargar un paquete de código fuente, pero podría ser bastante antiguo así que es siempre mejor conseguir el último código fuente. Dependiendo de tu distribuidor, hay diversas formas de conseguir un paquete de software:

Official FreeCAD source packages (distribution-independent): https://sourceforge.net/projects/free-cad/files/FreeCAD%20Source/

Debian: http://packages.debian.org/source/sid/freecad

Ubuntu: http://packages.ubuntu.com/source/precise/freecad

Instalar dependencias
En Mac OS X 10.7, las siguientes dependencias NO están incluidas con el sistema y por tanto deben ser instaladas antes de construir FreeCAD:


 * sip
 * fortran
 * xerces-c
 * boost
 * eigen
 * ftgl
 * coin3d
 * OpenCASCADE
 * Qt
 * pyqt
 * soqt

Opción 1: Homebrew
Nota: Esta sección está en proceso de construcción! Mira en el foro de ayuda para conocer las últimas novedades.


 * https://forum.freecadweb.org/viewtopic.php?f=4&t=2064&p=15405

Descarga e instala el gestor de paquetes Homebrew:


 * http://mxcl.github.com/homebrew/

Luego compila e instala la mayoría de dependencias de FreeCAD:

brew install sip gfortran xerces-c boost eigen coin qt pyqt soqt ftgl

Ve a CompileOnMac/es.

Opción 2: MacPorts/Fink
Nota: Esta sección necesita actualizarse.

Instala MacPorts, si aún no lo tienes. MacPorts es un sistema que permite descargar, compilar, e instalar muchas aplicaciones de código libre con un simple comando. Aplicaciones similares en el mundo UNIX/Linux son PKGSRC y APT. Para instalar, simplemente descarga la imagen del disco desde la web de MacPorts y sigue las instrucciones:


 * http://www.macports.org/install.php

Hubieras instalado MacPorts o no, probablemente querrás asegurarte de que está actualizado. Ejecuta:

sudo port selfupdate Ahora que MacPorts está instalado y actualizado, puedes comenzar a instalar algunos paquetes requeridos por FreeCAD:

El comando siguiente compilará/instalará todas las bibliotecas de arriba. Si MacPorts produce errores, puedes tratar de instalarlos uno a uno.
 * xercesc
 * boost
 * py-sip
 * ftlg
 * f2c
 * eigen3
 * py-pyqt4
 * Coin

sudo port install xercesc boost ftgl f2c eigen3 py-sip py-pyqt4 Coin

Ten en cuenta que para los paquetes de Python como py-sip y py-pyqt4, existen múltiples paquetes, uno para cada versión de MacPorts de Python.

Ten en cuenta que boost es un paquete bastante grande, y py-pyqt4 depende de qt4-mac, que también es un paquete bastante grande. Puedes querer ejecutar port -v install así tendrás una idea de lo que va sucediendo durante estas construcciones largas.

También es posible seleccionar la versión del compilador GCC a utilizar, algunas versiones recientes podrían causar problemas a veces:

sudo port -v install gcc_select sudo port select --list gcc sudo port select --set gcc mp-gcc46

Instalar un compilador de Fortran

También necesitas un compilador de FORTRAN. El de Apple de gcc en OSX no viene con FORTRAN. Un instalador de GFortran se puede encontrar aquí: http://gcc.gnu.org/wiki/GFortranBinaries#MacOS

Si estas utilizando fink, otro método es utilizar los siguientes comandos (intentado por Shaneyfelt 2100.Nov.14)

sudo fink selfupdate sudo fink install gcc46

''Esto instala otra colección del compilador gcc con el nombre gcc-4 para evitar un conflicto de nombres con el de Apple. Por supuesto esto asume que también tienes fink instalado. Quizá exista un modo más simple?''

Los paquete de gcc4x para MacPorts también incluyen compiladores de FORTRAN, así que esto también debería funcionar:

sudo port install gcc46

Otro paquete posible para MacPorts es g95. Este parece tener un compilador válido para FORTRAN90 y pasará los test de configuración del cmake de FreeCAD, pero la construcción actual parece preguntar por opciones de gcc-specific, así que probablemente se más sencillo pegarlo a gcc4x.

Instalar Eigen3

Descarga y descomprime la última versión de la biblioteca eigen3 aquí: http://eigen.tuxfamily.org/index.php?title=Main_Page Es necesario para la funcionalidad del solucionador. Una vez descomprimido, el directorio denominado 'Eigen' se puede mover dentro de /usr/local/include/eigen3/

Construir OpenCASCADE
Actualmente, el modo más simple de construir OpenCASCADE en OS X es a partir de la (oce). Descarga el código fuente o comprueba el repositorio de Git aquí:


 * https://github.com/tpaviot/oce

Luego, en un terminal:

mkdir build cd build cmake .. cd .. make make install/strip

Podrías necesitar cmake:

sudo port install cmake

Descargar e 'instalar' la plantilla de FreeCAD.app
El siguiente archivo contiene una plantilla empaquetada de la aplicación para FreeCAD. No es estrictamente necesario, pero hace el trabajo con FreeCAD más conveniente que la configuración por defecto de la instalación. La recomendada por la instalación está en el directorio /Applications, pero deberías poder ponerla donde quieras -- simplemente recuerda que el paquete no puede moverse después de que FreeCAD es compilado e instalado (sin algunas modificaciones más). Ejecutando make install utilizando la configuración de abajo se instalará en este paquete.


 * http://dl.getdropbox.com/u/103808/FreeCAD/FreeCAD_bundle_template_20091128.tar.gz

Compilar
Ahora configurar, compilar, e instalar FreeCAD utilizando los siguientes comandos desde el directorio raíz de FreeCAD. Si pones el paquete FreeCAD.app en un sitio diferente a /Applications (o si no estas utilizando este paquete), cambia el argumento 'PREFIX' en consecuencia.

./autogen.sh PREFIX=/Applications/FreeCAD.app/Contents

Si instalaste las dependencias según la opción 1 (Homebrew):

Nota: Esta línea de configuración no ha sido verificada y podría contener errores! ./configure --with-xercesc-lib=/usr/local/lib --with-xercesc-include=/usr/local/include \ --with-boost-lib=/usr/local/lib --with-boost-include=/usr/local/include \ --with-qt4-dir=/usr/local--with-qt4-lib=/usr/local/lib --with-qt4-include=/usr/local/include \ --with-qt4-framework=/usr/local/lib --with-qt4-bin=/usr/local/bin --with-occ-lib=/usr/local/lib \ --with-occ-include=/usr/local/include/oce --with-coin=/usr/local/lib --with-soqt=/usr/local/lib \ --prefix=/Applications/FreeCAD.app/Contents --bindir=/Applications/FreeCAD.app/Contents/MacOS \ --libdir=/Applications/FreeCAD.app/Contents/Frameworks/FreeCAD \ --includedir=/Applications/FreeCAD.app/Contents/Resources/include \ --datarootdir=/Applications/FreeCAD.app/Contents/Resources/share --enable-debug=no \ --with-python-include=/System/Library/Frameworks/Python.framework/Versions/2.5/Headers

O si instalaste las dependencias utilizando la opción 2 (MacPorts/Fink):

./configure --with-xercesc-lib=/opt/local/lib --with-xercesc-include=/opt/local/include \ --with-boost-lib=/opt/local/lib --with-boost-include=/opt/local/include \ --with-qt4-dir=/usr/local/Trolltech/Qt-4.8.0 --with-qt4-lib=/usr/local/Trolltech/Qt-4.8.0/lib \ --with-qt4-include=/usr/local/Trolltech/Qt-4.8.0/include --with-qt4-framework=/Library/Frameworks \ --with-qt4-bin=/usr/local/Trolltech/Qt-4.8.0/bin --with-occ-lib=/usr/local/lib \ --with-occ-include=/usr/local/include/oce --with-coin=/Library/Frameworks \ --with-soqt=/Library/Frameworks --prefix=/Applications/FreeCAD.app/Contents \ --bindir=/Applications/FreeCAD.app/Contents/MacOS --libdir=/Applications/FreeCAD.app/Contents/Frameworks/FreeCAD \ --includedir=/Applications/FreeCAD.app/Contents/Resources/include \ --datarootdir=/Applications/FreeCAD.app/Contents/Resources/share --enable-debug=no \ --with-python-include=/System/Library/Frameworks/Python.framework/Versions/2.5/Headers

Luego: make make install

Dependiendo de tu equipo, el paso de make puede tardar bastante.

Ejecutar
Si todo ha ido correctamente, doble clic en el paquete .app debería iniciar FreeCAD. Si tienes algún inconveniente, escribe los detalles en el foro de ayuda.

PyQt4
Algunos usuarios han informado de un mensaje de error indicando "No hay ningún módulo llamado PyQt4" en el inicio de FreeCAD. Este es un método para corregirlo:

cd /Library/Python/2.6/site-packages sudo ln -s /contrib/lib/python2.6/site-packages/PyQt4. sudo ln -s /contrib/lib/python2.6/site-packages/sip*. cd /volatile/FreeCAD-r5443-ser/bin/pivy cp _coin.dylib _coin.so cd /volatile/FreeCAD-r5443-ser/lib for i in *.dylib; do j=`basename $i .dylib`; cp $i $j.so; done

Pivy
Algunos componentes de FreeCAD no funcionarán sin Pivy. Mira aquí para ver instrucciones parciales de instalación.