CompileOnUnix/es

En las distribuciones recientes de Linux, FreeCAD es generalmente bastante fácil de construir, ya que todas las dependencias están proporcionadas por el gestor de paquetes. Básicamente, solo tendrás que seguir 3 pasos: 1) Conseguir el código fuente de FreeCAD 2) Instalar las dependencias (paquetes de los que depende FreeCAD) 3) Compilar con "cmake . && make"

Abajo encontrarás explicaciones detalladas del proceso completo y particularidades que podrías encontrar. Si encuentras algún error o algo anticuado (las distribuciones de Linux cambian a menudo) en lo que viene a continuación, por favor ayúdanos corrigiéndolo.

Consiguiendo el código fuente
Antes de que puedas compilar FreeCAD, debes conseguir el código fuente. Hay tres modos de conseguirlo:

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

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

Esto situará 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 free-cad.git.sourceforge.net, deberías ver un mensaje solicitando la autenticidad de la clave SSH de sourceforge, que es normalmente seguro para aceptar (puedes comprobar sus claves SSH en la web de sorceforge si no estás seguro)

Subversion
Nota: El repositorio de subversion es raramente actualizado y sólo contiene versiones que son consideradas estables. Es normalmente mejor utilizar Git para conseguir los últimos, más recientes y mejores cambios!

Desde el directorio de tu elección (por ejemplo tu carpeta de usuario), haz los siguiente (debes tener instalado el paquete de subversion):: svn co https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk freecad Esto situará una copia de la última versión del código fuente de FreeCAD en un nuevo directorio denominado "freecad".

Páquetes de código fuente
Como alternativa, puedes descargar un paquete de código fuente, pero podría ser ya bastante antiguo así que es siempre mejor conseguir el último código fuente desde Git o Subversion. Dependiendo de tu distribución, existen varias formas de conseguir un paquete de código fuente:

Paquetes de código fuente oficiales de FreeCAD (independientes de la distribución): 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

Consiguiendo las dependencias
Para compilar FreeCAD en Linux primero tienes que instalar todas las bibliotecas mencionadas en Bibliotecas de Terceros. En las distribuciones más recientes esto es generalmente cuestión de instalar algunos paquetes:

Debian y Ubuntu
En los sistemas basados en Debian es bastante sencillo instalar todas las dependencias necesarias. La mayoría de las librerías están disponibles vía apt-get o el gestor de paquetes synaptic. Abajo están listados todos los paquetes que necesitas instalar. Si no utilizas la versión más reciente de tu distribución, algunos de los paquetes de abajo podrían no aparecer en los repositorios. En dicho caso, mira en la sección más abajo.

build-essential cmake python libtool libcoin60-dev libsoqt4-dev libxerces-c-dev libboost-dev libqt4-dev qt4-dev-tools python-dev libopencascade-dev (or liboce-dev if available) libf2c2-dev gfortran libeigen3-dev libqtwebkit-dev

Opcionalmente también puedes instalar libsimage-dev (para que Coin soporte formatos de imágenes adicionales) checkinstall (para registrar tus archivos instalados en tu gestor de paquetes del sistema, así puedes desinstalarlo después fácilmente) python-pivy (necesitado por el módulo de Bocetado 2D) python-qt4 (necesitado por el módulo de Bocetado 2D) doxygen and libcoin60-doc (si pretendes generar la documentación del código fuente) libspnav-dev (para soportar dispositivos de 3Dconnexion como Space Navigator o Space Pilot)

Fedora
Necesitas los siguientes paquetes:

cmake doxygen swig gcc-gfortran gettext dos2unix desktop-file-utils libXmu-devel freeimage-devel mesa-libGLU-devel OCE-devel python python-devel boost-devel tbb-devel eigen3-devel f2c f2c-libs qt-devel qt-webkit-devel ode-devel xerces-c xerces-c-devel gts-devel opencv-devel smesh-devel coin2-devel soqt-devel

Y opcionalmente:

libspnav-devel (para soportar dispositivos 3Dconnexion como el Space Navigator o Space Pilot)

pivy ( https://bugzilla.redhat.com/show_bug.cgi?id=458975 Pivy no es obligatorio pero si necesario para el módulo de Boceto)

Gentoo
Necesitas los siguientes paquetes para construir FreeCAD:

dev-cpp/eigen dev-games/ode dev-libs/boost dev-libs/libf2c dev-libs/xerces-c dev-python/pivy dev-python/PyQt4 media-libs/coin media-libs/SoQt sci-libs/opencascade-6.5 sci-libs/gts sys-libs/zlib virtual/fortran x11-libs/qt-gui x11-libs/qt-opengl x11-libs/qt-svg x11-libs/qt-webkit x11-libs/qt-xmlpatterns dev-lang/swig-2.0.4-r1 app-admin/eselect-python-20091230 dev-lang/python-2.7.2-r3 dev-util/cmake-2.8.4 sys-apps/findutils-4.4.0

Desde que opencascade no está disponible, podrías compilar también opencascade, para lo cual se necesitas las siguientes librerías:

media-libs/ftgl virtual/opengl x11-libs/libXmu dev-lang/tcl-8.5.9 dev-lang/tk-8.5.9-r1 dev-tcltk/itcl-3.4_beta1 dev-tcltk/itk-3.4_pre20090417 dev-tcltk/tix-8.4.3 x11-libs/gl2ps sys-devel/automake-1.11 sys-devel/autoconf-2.68 sys-devel/libtool dev-java/java-config-2.1.11-r3

OpenSUSE
Necesitas los siguientes paquetes:

gcc cmake OpenCASCADE-devel libXerces-c-devel python-devel libqt4-devel python-qt4 Coin-devel SoQt-devel boost-devel libode-devel libQtWebKit-devel libeigen3-devel gcc-fortran f2c

Para la versión no estable FreeCAD 0.13 necesitas añadir las bibliotecas Eigen3 y swig, que parece que no están en los repositorios estándar. Puedes conseguirlos aquí:

Eigen3: http://software.opensuse.org/search?q=eigen3&baseproject=openSUSE%3A12.1&lang=en&exclude_debug=true swig: http://software.opensuse.org/search?q=swig&baseproject=openSUSE%3A12.1&lang=en&exclude_debug=true

Distribuciones antiguas y no convencionales
En otras distribuciones, tenemos poca información de los usuarios, de modo que podría ser complicado encontrar los paquetes requeridos. Prueba primero localizando las bibliotecas requeridas mencionadas en Bibliotecas de terceros. Ten en cuenta que alguna de ellas podría tener un nombre de paquete ligeramente diferente en tu distribución (como name, libname, name-dev, name-devel, etc...).

También necesitas el [|compilador GNU gcc compiler] versión igual o superior a la 3.0.0. g++ también se necesita porque FreeCAD está completamente escrito en C++. Durante la compilación se ejecutan algunos archivos de guión de Python. De modo que el interprete de Python debe funcionar correctamente. Para evitar cualquier tipo de problemas de enlaces durante el proceso de construcción es una buena idea tener las rutas de las bibliotecas en la variable LD_LIBRARY_PATH o en el archivo ld.so.conf. Este es normalmente el caso en las distribuciones recientes.

Para ver más detalles echa un vistazo al README.Linux en tu código fuente.

Abajo hay ayuda adicional para varias bibliotecas que podrían no estar presentes en los repositorios de tu distribición

Eigen 3
La biblioteca Eigen3 es requerida ahora por el módulo del croquizador. Esta biblioteca sólo está disponible a partir de los repositorios de Ubuntu 11.10. Para versiones anteriores de Ubuntu, puedes descargarla desde aquí e instalarla manualmente, o añadir el PPA de construcciones diarias de FreeCAD a tus fuentes de software antes de instalarlo a través de uno de los métodos indicados más abajo.

OpenCASCADE community edition (OCE)
OpenCasCade se ha dividido recientemente en una edición de la comunidad, la cual es mucho, mucho más sencilla de construir. FreeCAD puede utilizar cualquier versión instalada en tu sistema, ya sea la edición "oficial" o la edición de la comunidad. La web de OCE contiene instrucciones detalladas sobre la construcción.

OpenCASCADE versión oficial
Nota: Se recomienda utilizar la edición de la comunidad mencionada arriba, que es más sencilla de construir, pero esta también funciona.

No todas las distribuciones de Linux tienen un paquete oficial de OpenCASCADE en sus repositorios. Tienes que comprobar si existe una disponible para tu distribución. Al menos para Debian Lenny y Ubuntu Intrepid se proporciona un paquete .deb oficial. Para versiones de Debian o Ubuntu más antiguas puedes encontrar paquetes no oficiales aquí. Para construir tu propio paquete .deb privado sigue estos pasos:

wget http://lyre.mit.edu/~powell/opencascade/opencascade_6.2.0.orig.tar.gz wget http://lyre.mit.edu/~powell/opencascade/opencascade_6.2.0-7.dsc wget http://lyre.mit.edu/~powell/opencascade/opencascade_6.2.0-7.diff.gz

dpkg-source -x opencascade_6.2.0-7.dsc

sudo apt-get install build-essential devscripts debhelper autoconf automake libtool bison libx11-dev tcl8.4-dev tk8.4-dev libgl1-mesa-dev libglu1-mesa-dev java-gcj-compat-dev libxmu-dev
 * 1) Install OCC build-deps

cd opencascade-6.2.0 ; debuild
 * 1) Build Opencascade packages. This takes hours and requires
 * 2) at least 8 GB of free disk space

sudo dpkg -i libopencascade6.2-0_6.2.0-7_i386.deb libopencascade6.2-dev_6.2.0-7_i386.deb
 * 1) Install the resulting library debs

Alternativamente, puedes descargar y compilar la última versión desde opencascade.org:

Instala el paquete normalmente, se consciente de que el instalador es un programa en Java que requiere la edición oficial de Java de Sun (nombre de paquete: sun-java6-jre), no la versión de código libre de Java (gij) que está incluida con Ubuntu. Puedes instalarlo si fuera necesario: sudo apt-get remove gij sudo apt-get install sun-java6-jre Ten cuidado, si estas utilizando gij Java con otras cosas como un plugin de tu navegador, dejarán de funcionar. Si el instalador no funciona, prueba: java -cp path_to_file_setup.jar <-Dtemp.dir=path_to_tmp_directory> run

Una vez que el paquete está instalado, ve al directorio "ros" dentro de opencascade, y haz ./configure --with-tcl=/usr/lib/tcl8.4 --with-tk=/usr/lib/tk8.4 ahora puedes construirlo. Vuelve al directorio ros y haz: make Puede llevar algo de tiempo, incluso algunas horas.

Cuando esté terminado, simplemente instala con sudo make install Los archivos de biblioteca se copiarán a /usr/local/lib donde serán encontrados automáticamente por cualquier programa. Alternativamente, también puedes hacer sudo checkinstall lo cual hará lo mismo que make install pero crea una entrada en tu sistema de gestión de paquetes para que puedas desinstalarlo fácilmente después. Ahora limpia la gran cantidad de archivos temporales de compilación haciendo make clean

Posible error 1: Si estas utilizando OCC version 6.2, es probable que el compilador pare justo después de empezar la operación "make". Si sucede esto, edita el archivo "configure", localiza la declaración CXXFLAGS="$CXXFLAGS ", y reemplazala por CXXFLAGS="$CXXFLAGS -ffriend-injection -fpermissive". Luego haz el paso de configure de nuevo.

Posible error 2: Posiblemente varios módulos (WOKSH, WOKLibs, TKWOKTcl, TKViewerTest y TKDraw) indiquen que no pueden encontrar las cabeceras de tcl/tk. En ese caso, ya que la opción no está presente en el archivo configure, tendrás que editar manualmente el makefile de cada uno de estos módulos: Ve a adm/make y en cada uno de los directorios de los módulos con problemas. Edita el Makefile, y localiza las líneas CSF_TclLibs_INCLUDES = -I/usr/include y CSF_TclTkLibs_INCLUDES = -I/usr/include y añade /tcl8.4 y /tk8.4 en ellas de modo que se puedan leer: CSF_TclLibs_INCLUDES = -I/usr/include/tcl8.4 y CSF_TclTkLibs_INCLUDES = -I/usr/include/tk8.4

SoQt
La biblioteca SoQt library debe compilarse contra Qt4, que es el caso de las distribuciones más recientes. Pero en el momento de escribir este artículo solo existían paquetes SoQt4 disponibles para Debian pero no para todas las versiones de Ubuntu. Para construir estos paquetes sigue los siguientes pasos:

wget http://ftp.de.debian.org/debian/pool/main/s/soqt/soqt_1.4.1.orig.tar.gz wget http://ftp.de.debian.org/debian/pool/main/s/soqt/soqt_1.4.1-6.dsc wget http://ftp.de.debian.org/debian/pool/main/s/soqt/soqt_1.4.1-6.diff.gz dpkg-source -x soqt_1.4.1-6.dsc sudo apt-get install doxygen devscripts fakeroot debhelper libqt3-mt-dev qt3-dev-tools libqt4-opengl-dev cd soqt-1.4.1 debuild sudo dpkg -i libsoqt4-20_1.4.1-6_i386.deb libsoqt4-dev_1.4.1-6_i386.deb libsoqt-dev-common_1.4.1-6_i386.deb

Si estas en un sistema de 64bit system, probablemente tendrás que cambiar i386 por amd64.

Pivy
Pivy no es necesario para construir FreeCAD o para ejecutarlo, pero es necesario para que funcione el módulo de croquizado 2D. Si no vas a utilizar ese módulo, no necesitas pivy. En el momento de escribir este artículo, Pivy aún es muy reciente y podría no estar incluido en los repositorios de tu distribución. Si no puedes encontrar Pivy en los repositorios de paquetes de tu distribución, puedes aprovechar los paquetes de Debian/Ubuntu en la página de descargas de FreeCAD:

http://sourceforge.net/projects/free-cad/files/FreeCAD%20Linux/

o compila pivy tu mismo:

Pivy compilation instructions

Utilizando cMake
cMake es un sistema de construcción más moderno que tiene la gran ventaja de ser común para diferentes sistemas (Linux, Windows, MacOSX, etc). FreeCAD utilizas ahora el sistema cMake como su sistema principal de construcciones. La compilación con cMake es normalmente muy simple y se hace en 2 pasos. En el primer paso, cMake comprueba que todos los programas necesarios y bibliotecas están presentes en tu sistema y define todo lo que es necesario para la compilación. Se te darán unas cuantas alternativas detalladas más abajo, pero FreeCAD viene con faltas sensibles. El segundo paso es la compilación en si misma, que produce el ejecutable de FreeCAD.

Ya que FreeCAD es una aplicación pesada, la compilación puede llevar algo de tiempo (unos 10 minutos en un ordenador rápido, 30 minutos en uno lento)

Construcción dentro del código
FreeCAD puede construirse dentro del código, que quiere decir que todos los archivos resultantes de la compilación permanecen en el mismo archivo que el código fuente. Este está bien si simplemente estas ojeando FreeCAD, y quieres eliminarlo fácilmente borrando ese directorio. Pero en caso de que planees compilarlo a menudo, se recomienda realizar una construcción fuera del código fuente, que ofrece algunas ventajas más. Los siguientes comandos compilaran freecad:

cd freecad (the folder where you cloned the freecad source) cmake. make

Tu ejecutable de FreeCAD estará en el directorio "bin", y puedes ejecutarlo con:

./bin/FreeCAD

Construcción fuera del código
Si pretendes seguir la rápida evolución de FreeCAD, la construcción en un directorio separado es mucho más conveniente. Cada vez que actualices el código fuente, cMake distinguirá de forma inteligente que archivos han cambiado, y recompilará sólo lo que necesita. Las construcciones fuera del código son especialmente útiles utilizando el sistema Git, porque puedes fácilmente probar otras ramas sin confusiones del sistema de construcción. Para construir fuera del código, simplemente crea un directorio de construcción, distinto del de código fuente, y desde el directorio de construcción apunta a cMake hacia el directorio del código fuente:

mkdir freecad-build cd freecad-build cmake ../freecad (o cualquier otra rutaq al directorio de código fuente) make

Tu ejecutable estará en el directorio "bin".

Opciones de configuración
Hay varios módulos experimentales o sin terminar que podrías construir si quieres trabajar en ellos. Para hacerlo, necesitas establecer las opciones apropiadas para la fase de configuración. Hazlo con la línea de comandos, pasando opciones -D : = a cMake o utilizando uno de los interfaces disponibles (por ejemplo para Debian, los paquetes cmake-qt-gui o cmake-curses-gui).

Como ejemplo, para configurar con la línea de comandos con la construcción del módulo de ensamblajes: cmake -D FREECAD_BUILD_ASSEMBLY:BOOL=ON path-to-freecad-root Las opciones posibles están listadas en el archivo CmakeLists.txt del directorio raíz de FreeCAD.

Utilizando autotools
Autotools está en proceso de ser despreciado en favor de cMake, pero por el momento aún está disponible para construir FreeCAD. Debes tener instalados automake y libtool en tu sistema; en Debian/Ubuntu:

aptitude install automake libtool

Si obtienes el código fuente con Git o Subversion, entonces el primer paso debe ser

./autogen.sh

eso crea el archivo de guión de configuración y más. Para el proceso de construcción en si mismo proporcionamos un archivo de guión de configuración. Simplemente escribe

./configure

Para tener todo configurado. Si quieres un resumen de todas las opciones que puedes especificar, puedes escribir

./configure --help Normalmente no necesitaras ninguna de ellas - a menos que tengas una de tus bibliotecas en un directorio realmente nada habitual. Después de terminar la configuración, la compilación de FreeCAD es tan simple como

make

Si se produce cualquier error durante la construcción a partir del código fuente, por favor comprueba de nuevo esta página y el archivo README.Linux, luego puedes ir al Gestor de incidencias en SourceForge, seleccionaCualquiera para el estado y pulsa el botón del Navegador para ver informes anteriores de problemas de compilación. Después de construir FreeCAD satisfactoriamente, haz

make install

para instalarlo en tu equipo. El directorio de instalación por defecto es

~/FreeCAD

Se instalará en un directorio de FreeCAD en tu directorio home, de modo que no necesitas privilegios de administrador. En lugar de make install, también puedes hacer

checkinstall

En este caso FreeCAD se instalará por tu sistema de gestión de paquetes, así lo puedes desinstalar luego fácilmente. Pero ya que todas las instalaciones de FreeCAD están dentro de un único directorio, simplemente eliminando el directorio de FreeCAD también es un método de desinstalación válido.

Qt designer plugin
Si quieres desarrollar material en Qt para FreeCAD, necesitaras el plugin Qt Designer que proporciona todos los widgets o complementos personalizados de FreeCAD. Ve a

freecad/src/Tools/plugins/widget

De momento no proporcionamos un makefile -- pero llamando

qmake plugin.pro

se crea. Una vez hecho esto, llamando

make

se creará la biblioteca libFreeCAD_widgets.so. Para hacer que esta biblioteca sea conocida por Qt Designer tienes que copiar el archivo a $QTDIR/plugin/designer

Doxygen
Si eres suficiente audaz como para bucear entre el código, podrías aprovechar para construir y consultar la Documentación del código de FreeCAD generada por Doxygen

Nota para sistemas de 64bit
Cuando se construye FreeCAD para sistemas de 64-bit existe una incidencia con el paquete OpenCASCADE de 64-bit. Para tener FreeCAD funcionando correctamente podrías necesitar ejecutar el archivo ./configure con la definición adicional _OCC64 establecida: ./configure CXXFLAGS="-D_OCC64" Para sistemas basados en Debian no es necesario utilizar la solución anterior cuando se utilizan paquetes preconstruidos porque allí el paquete OpenCASCADE está construido para establecer internamente esta definición. Ahora simplemente necesitas compilar FreeCAD del mismo modo que se describe arriba.

Macros Automake
El archivo configure de FreeCAD hace uso de varias macros automake que a veces no se instalan con sus paquetes: bnv_have_qt.m4, coin.m4, y gts.m4. Si es necesario (error durante la configuración), búscalos en google y los encontrarás fácilmente. Hay algunos archivos de guión simples que necesitas poner en tu directorio /usr/share/aclocal.

Fedora 13
Para construir e instalar FreeCAD en Fedora 13, se necesitan unos cuantos trucos y consejos:
 * Instala los paquetes requeridos, la mayoría están disponibles en los repositorios de Fedora 13
 * Descarga y construye xerces
 * Descarga y construye OpenCascade. Necesitas que apunte a xmu: ./configure --with-xmu-include=/usr/include/X11/Xmu --with-xmu-library=/usr/lib
 * Descarga y construye Pivy. Tienes que eliminar 2 referencias no existentes a "SoQtSpaceball.h" desde pivy/interfaces/soqt.i poniendo las dos líneas como comentarios se permite la construcción e instalación.
 * Configura Freecad. Necesitasa que apunte a varias cosas: ./configure --with-qt4-include=/usr/include --with-qt4-bin=/usr/lib/qt4/bin --with-occ-lib=/usr/local/lib --with-occ-include=/usr/local/inc --with-xercesc-lib=/usr/local/lib
 * make - muestra un problema en el que la construcción se rompe porque la ldflags para soqt está definida como "-LNONE" y hace que libtool lo devuelva. Mi solución fue modificar /usr/lib/Coin2/conf/soqt-default.cfg para que ldflags sea "" en lugar de "-LNONE". Después de esto -> Funciona!
 * make install

Creación de un paquete en Debian
Si quieres construir un paquete en Debian a partir del código fuente primero necesitas instalar estos paquetes: dh-make devscripts lintian (optional, used for checking if packages are standard-compliant) Para construir un paquete abre una consola, simplemente ve al directorio de FreeCAD y ejecuta debuild Una vez que el paquete está construido, puedes utilizar lintian para comprobar si el paquete contiene errores lintian your-fresh-new-freecad-package.deb (reemplaza el nombre por el del paquete que has creado)

Archivos de guión de construcción automáticos
Aquí está todo lo que necesitas para una construcción completa de FreeCAD. En un único archivo de guión y funciona en las distribuciones más recientes. El comando preguntará por la contraseña del root (para la instalación de los paquetes) y a veces para reconocer algún servidor de repositorios externo o de https-subversion. Este archivo de guión debería ejecutarse en versiones de 32 y 64 bit. Están escritos para distintas versiones, pero seguramente funcionen también en versiones posteriores con algún ligero cambio o tal cual están.

Si tienes un archivo de guión similar para tu distribución preferida, por favor envíanoslo! Lo incorporaremos a este artículo.

Observa que este archivo de guión comienza añadiendo el repositorio PPA de construcción diaria de FreeCAD así se puede proceder con la instalación de la biblioteca Eigen3 (libeigen3-dev). Si ya tienes esta biblioteca instalada en tu sistema, puedes eliminar la primera línea.

Ubuntu 10.04 LTS - Lucid Lynx / Ubuntu 10.10 Maverick Meerkat / Ubuntu 11.04 Natty Narwhal
sudo add-apt-repository ppa:freecad-maintainers/freecad-daily && sudo apt-get update sudo apt-get install build-essential python libcoin60-dev libsoqt4-dev \ libxerces-c2-dev libboost-dev libboost-date-time-dev libboost-filesystem-dev \ libboost-graph-dev libboost-iostreams-dev libboost-program-options-dev \ libboost-serialization-dev libboost-signals-dev libboost-regex-dev libboost-thread-dev \ libqt4-dev qt4-dev-tools python2.6-dev libopencascade-dev libsoqt4-dev \ libode-dev subversion cmake libeigen2-dev libsimage-dev python-qt4 \ libtool autotools-dev automake bison flex libf2c2-dev gfortran libeigen3-dev libqtwebkit-dev svn co https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk freecad cd freecad cmake. make cd bin ./FreeCAD -t 0
 * 1) checkout the latest source
 * 1) go to source dir
 * 1) build configuration
 * 1) build FreeCAD
 * 1) test FreeCAD

./FreeCAD
 * 1) use FreeCAD


 * 1) Update latest version

cd freecad svn update cmake. make
 * 1) go to source dir
 * 1) Update source
 * 1) build configuration
 * 1) build FreeCAD

OpenSuse 12.1
Para la versión en desarrollo 0.13 de FreeCAD necesitas añadir las bibliotecas Eigen3 y swig, que no parecen estar disponibles en los repositorios estándar. Puedes obtenerlas aquí:

Eigen3: http://software.opensuse.org/search?q=eigen3&baseproject=openSUSE%3A12.1&lang=en&exclude_debug=true

swig: http://software.opensuse.org/search?q=swig&baseproject=openSUSE%3A12.1&lang=en&exclude_debug=true

sudo zypper install gcc cmake OpenCASCADE-devel libXerces-c-devel \ python-devel libqt4-devel python-qt4 Coin-devel SoQt-devel boost-devel \ libode-devel libQtWebKit-devel libeigen3-devel gcc-fortran f2c git mkdir FreeCAD-Compiled cd FreeCAD-Compiled
 * 1) install needed packages for development
 * 1) create new dir, and go into it

git clone git://free-cad.git.sourceforge.net/gitroot/free-cad/free-cad mkdir FreeCAD-Build1 cd FreeCAD-Build1 cmake ../free-cad make cd bin ./FreeCAD -t 0
 * 1) get the source
 * 1) Now you will have subfolder in this location called free-cad. It contains the source
 * 1) make another dir for compilation, and go into it
 * 1) build configuration
 * 1) build FreeCAD
 * 1) test FreeCAD

Ya que estas utilizando Git, la próxima vez que quieras compilar no tendrás que clonar todo, simplemente tira desde Git y compila una vez más

cd free-cad git pull mkdir FreeCAD-Build2 cd FreeCAD-Build2 cmake ../free-cad make cd bin ./FreeCAD -t 0
 * 1) go into free-cad dir created earlier
 * 1) pull
 * 1) Now repeat last few steps from before.
 * 1) make another dir for compilation, and go into it
 * 1) build configuration
 * 1) build FreeCAD
 * 1) test FreeCAD

make cd bin ./FreeCAD -t 0
 * 1) test FreeCAD

OpenSuse 11.2
Este archivo de guión no funciona de momento porque: sudo zypper install gcc cmake subversion OpenCASCADE-devel \ libXerces-c-devel python-devel libqt4-devel python-qt4 \ Coin-devel SoQt-devel boost-devel libode-devel libQtWebKit-devel \ libeigen2-devel gcc-fortran f2c svn co https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk freecad cd freecad cmake. nice make cd bin ./FreeCAD -t 0
 * libXerces-c-devel parece haber desaparecido....
 * 1) install needed packages for development
 * 1) get the source
 * 1) go to source dir
 * 1) build configuration
 * 1) build FreeCAD
 * 1) test FreeCAD

OpenSuse 11.1
sudo zypper -p http://packman.unixheads.com/suse/11.1/ sudo zypper install gcc cmake subversion OpenCASCADE-devel \ libXerces-c-devel python-devel libqt4-devel python-qt4 \ Coin-devel SoQt-devel boost-devel libode-devel libQtWebKit-devel \ libeigen2-devel svn co https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk freecad cd freecad cmake. nice make cd bin ./FreeCAD -t 0
 * 1) additional repository (for OpenCascade)
 * 1) install needed packages for development
 * 1) get the source
 * 1) go to source dir
 * 1) build configuration
 * 1) build FreeCAD
 * 1) test FreeCAD

Debian Squeeze
sudo apt-get install build-essential python libcoin60-dev libsoqt4-dev \ libxerces-c2-dev libboost-dev libboost-date-time-dev libboost-filesystem-dev \ libboost-graph-dev libboost-iostreams-dev libboost-program-options-dev \ libboost-serialization-dev libboost-signals-dev libboost-regex-dev \ libqt4-dev qt4-dev-tools python2.5-dev \ libsimage-dev libopencascade-dev \ libsoqt4-dev libode-dev subversion cmake libeigen2-dev python-pivy \ libtool autotools-dev automake libf2c2-dev gfortran svn co https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk freecad cd freecad cmake. make cd bin ./FreeCAD -t 0
 * 1) get the needed tools and libs
 * 1) checkout the latest source
 * 1) go to source dir
 * 1) build configuration
 * 1) build FreeCAD
 * 1) test FreeCAD

Actualizando el código fuente
El desarrollo de FreeCAD sucede rápidamente, cada día se arreglan errores y se agregan nuevas características. El sistema cmake te permite actualizar inteligentemente el código fuente, y sólo recompila lo que ha cambiado, haciendo las siguientes compilaciones realmente rápidas. La actualización del código fuente con Git o Subversion es muy sencilla:

cd freecad (o donde has clonado el código fuente la primera vez) git pull (si utilizas Git) svn up (Si utilizas Subversion)

Luego, no necesitas ejecutar cmake de nuevo, simplemente haz:

cd ../freecad-build (o donde sea tu directorio de construcción) make