CompileOnUnix/fr

Sous les distributions GNU/Linux récentes, FreeCAD est généralement facile à compiler, puisque toutes les dépendances sont fournies par le gestionnaire de paquets. Cela se fait en 3 étapes :


 * 1) Télécharger le code source de FreeCAD
 * 2) Installer les dépendances (les paquets dont FreeCAD dépend)
 * 3) Compiler avec "cmake . && make"

Vous trouverez ci-dessous des instructions détaillées du processus complet et des particularités que vous pourriez rencontrer. Si vous constatez des informations erronées ou désuètes (les distributions Linux changent régulièrement), ou si vous utilisez une distribution qui n'est pas listée, votre aide pour corriger le tout sera appréciée.

Obtenir le code source
Avant de compiler FreeCAD, vous avez besoin du code source. Il y a trois moyens de l'obtenir :

Git
La méthode la meilleure et la plus rapide d'obtenir le code est de « cloner » le dépôt Git en lecture seule (il vous faut le paquet git installé): git clone git://git.code.sf.net/p/free-cad/code free-cad-code Ceci place une copie de la plus récente version du code source de FreeCAD dans un nouveau répertoire nommé « freecad ». La première fois que vous vous connectez à l'hôte free-cad.git.sourceforge.net, vous obtiendrez un message vous demandant d'authentifier la clé SSH de Sourceforge. Celle-ci peut normalement être acceptée sans danger (vous pouvez vérifier les clés SSH de SOurceforge sur leur site Web si vous voulez vous en assurer)

Gihub
Il y a également une copie synchronisée régulièrement du dépôt FreeCAD sur GitHub : github.com/FreeCAD/FreeCAD_sf_master

Paquet source
Vous pouvez également télécharger un paquet source, mais celui-ci pourrait être assez vieux ; il est donc préférable de télécharger les sources les plus récentes via git ou github. Dépendant de votre distribution, il y a plusieurs façons d'obtenir un paquet source :

+ Paquets source FreeCAD officiels (indépendants des distributions): 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

Obtenir les dépendances
Pour compiler FreeCAD sous Linux, vous devez d'abord installer toutes les bibliothèques mentionnées dans la page Bibliothèques externes. Sous les distributions récentes, il s'agit généralement d'installer quelques paquets.

Debian et Ubuntu
Sous les systèmes basés sur Debian (Debian, Ubuntu, LinuxMint, etc...), il est très facile d'installer toutes les dépendances requises. La plupart des bibliothèques sont disponibles via apt-get, le gestionnaire de paquets Synaptic, ou le gestionnaire de paquets de votre choix. Ci-dessous sont listés tous les paquets que vous devez installer. Veuillez noter que si vous n'utilisez pas la plus récente version de votre distribution, certains des paquets ci-dessous pourraient ne pas se trouver dans vos dépôts. Dans ce cas, consultez la rubrique Distributions anciennes et non-conventionnelles ci-dessous. build-essential cmake python python-matplotlib libtool either: libcoin60-dev (Debian Wheezy, Wheezy-backports, Ubuntu 13.04 and before) or: libcoin80-dev (Debian unstable(Jesse), testing, Ubuntu 13.10 and forward, See Additional instruction below]) libsoqt4-dev libxerces-c-dev libboost-dev libboost-filesystem-dev libboost-regex-dev libboost-program-options-dev libboost-signals-dev libboost-thread-dev libqt4-dev libqt4-opengl-dev qt4-dev-tools python-dev python-pyside pyside-tools either: libopencascade-dev (official opencascade version) or: liboce*-dev (opencascade community edition) oce-draw gfortran libeigen3-dev libqtwebkit-dev libshiboken-dev libpyside-dev libode-dev swig libzipios++-dev libfreetype6 libfreetype6-dev Additional instruction for libcoin80-dev Debian wheezy-backports, unstable, testing, Ubuntu 13.10 and forward

Note that liboce*-dev includes the following libraries liboce-foundation-dev liboce-modeling-dev liboce-ocaf-dev liboce-visualization-dev liboce-ocaf-lite-dev. You may have to install these pacakges by individual name.

Vous pouvez optionnellement installer ces paquets supplémentaires : libsimage-dev (to make Coin to support additional image file formats) checkinstall (to register your installed files into your system's package manager, so yo can easily uninstall later) python-pivy (needed for the 2D Drafting module) python-qt4 (needed for the 2D Drafting module) doxygen and libcoin60-doc (if you intend to generate source code documentation) libspnav-dev (for 3Dconnexion devices support like the Space Navigator or Space Pilot)

Fedora
Les paquets suivants sont requis : cmake doxygen swig gcc-gfortran gettext dos2unix desktop-file-utils libXmu-devel freeimage-devel mesa-libGLU-devel OCE-devel python python-devel python-pyside-devel boost-devel tbb-devel eigen3-devel qt-devel qt-webkit-devel ode-devel xerces-c xerces-c-devel opencv-devel smesh-devel coin2-devel soqt-devel freetype freetype-devel Et optionnellement : libspnav-devel (for 3Dconnexion devices support like the Space Navigator or Space Pilot) pivy ( https://bugzilla.redhat.com/show_bug.cgi?id=458975 Pivy is not mandatory but needed for the Draft module ) Construire FreeCAD avec coin3 est encore plus difficile qu'avec Fedora, puisque seul coin2 est disponible dans les repos officiels, mais si vous persistez avec coin3, vous pouvez éviter de reconstruire tous les coin3 / soqt / pivy suite en installant des coin3 prêt à être utilisés sur http://www.zultron.com/rpm-repo/

Fedora 20
Install the "free" and "nonfree" Fedora repositories: $ su -c 'yum localinstall --nogpgcheck http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm'

Now, install the required packages: $ sudo yum install 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 qt-devel qt-webkit-devel ode-devel xerces-c xerces-c-devel opencv-devel smesh-devel freetype freetype-devel gcc-c++ git libspnav-devel shiboken-devel python-pyside-devel python-matplotlib wget mercurial Coin2-devel Create a symbolic link so that cmake will find the Coin/Inventor files: $ sudo ln -s /usr/include/Coin2/Inventor /usr/include/Inventor Download the tarball for SoQt-1.5.0-10: $ cd ~/Downloads/ $ wget http://pkgs.fedoraproject.org/repo/pkgs/SoQt/SoQt-1.5.0.tar.gz/9f1e582373d66f556b1db113a93ac68e/SoQt-1.5.0.tar.gz $ tar -xvf SoQt-1.5.0.tar.gz Compile SoQt: $ cd SoQt-1.5.0/ $ ./configure $ make $ sudo make install Download, build and install pivy: $ cd ~/Downloads/ $ hg clone https://bitbucket.org/Coin3D/pivy pivy-code $ cd pivy-code $ python setup.py build $ sudo python setup.py install Skip to Compile FreeCAD

Gentoo
Les paquets suivants sont requis : dev-cpp/eigen dev-games/ode dev-libs/boost dev-libs/xerces-c dev-python/pivy dev-python/PyQt4 media-libs/coin media-libs/SoQt sci-libs/opencascade-6.5 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 freetype Puisque les plus récentes bibliothèques opencascade ne sont pas disponibles, vous pourriez vouloir compiler opencascade également. Les bibliothèques supplémentaires suivantes seront alors requises : 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
Les paquets suivants sont requis : 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 freetype2 freetype2-devel For FreeCAD 0.14 stable and 0.15 unstable you need to add Eigen3 and swig libraries, that don't seem to be in standard repos. You can get them with one-click install here: 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 Notez également que la Bibliothèque Eigen3 pour Factory Education causait parfois des problèmes, vous pouvez utiliser la Bibliothèque supplémentaire de KDE 4.8 Extra repo

Distributions anciennes et non-conventionnelles
Sous d'autres distributions, nous n'avons que très peu de retours des utilisateurs, il pourrait être plus difficile de trouver les paquets requis. Repérez d'abord les bibliothèques requises mentionnées à la page Bibliothèques externes. Prenez note que certaines de ces bibliothèques pourraient se trouver dans votre distribution sous un nom différent (tel que nom, libnom, nom-dev, nom-devel, etc...).

Vous aurez aussi besoin du GNU gcc compiler en version égale ou supérieur à 3.0.0. g++ est également nécessaire puisque FreeCAD est complètement écrit en C++. Pendant la compilation, quelques script Python sont exécutés. L'interpréteur Python doit donc fonctionner correctement. Pour éviter tout problème avec l'éditeur de liens pendant la compilation, c'est aussi une bonne idée de régler les liens de bibliothèques dans votre variable LD_LIBRARY_PATH ou dans votre fichier ld.so.conf. C'est généralement déjà le cas dans les distributions récentes.

Pour plus de détails, consultez le fichier README.Linux dans vos sources.

Ci-dessous de l'aide supplémentaire pour quelques bibliothèques qui pourraient être absentes des dépôts de votre distribution.

Eigen 3
La bibliothèque Eigen3 est maintenant requise par le module Sketcher. Sous Ubuntu, cette bibliothèque n'est disponible dans les dépôts qu'à partir d'Ubuntu 11.10. Pour les versions antérieures d'Ubuntu, vous pouvez soit la télécharger ici et l'installer manuellement, ou ajouter le dépôt FreeCAD Daily Builds PPA à vos sources de logiciels avant de l'installer par l'un des moyens listés ci-dessous.

OpenCASCADE community edition (OCE)
Un fork tiré d'OpenCasCade, OpenCASCADE Community edition est beaucoup plus facile à compiler. FreeCAD peut utiliser l'une ou l'autre des versions installées sur votre système, soit la version « officielle » ou la community edition. Le site Web du projet OCE contient des instructions de compilation détaillées.

OpenCASCADE version officielle
Note: Nous vous recommandons d'utiliser la OpenCasCade community edition ci-dessus, qui est plus facile à compiler, mais celle-ci fonctionne aussi.

Les distributions Linux n'ont pas toutes les paquets officiels d'OpenCASCADE dans leurs dépôts. Vous devez vérifier par vous-même si votre distribution les intègre. Des paquets .deb officiels sont fournis à partir de Debian Lenny et Ubuntu Intrepid. Pour des versions Debian ou Ubuntu plus anciennes, vous pourrez obtenir des paquets non-officiels ici. Pour compiler vos propres paquets .deb, suivez ces étapes : 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 En outre, vous pouvez télécharger et compiler la dernière version disponible de opencascade.org:
 * 1) Install the resulting library debs

Installez le paquet normalement, mais sachez que l'installateur est un programme java qui nécessite l'édition officielle java runtime de Sun (nom du paquet : sun-java6-jre), pas le paquet java open-source (gij) distribué avec Ubuntu. Installez-le au besoin : sudo apt-get remove gij sudo apt-get install sun-java6-jre Prenez garde, si vous utilisez gij java à d'autres applications telles qu'une extension de navigateur, elles ne fonctionneront plus. Si l'installateur ne fonctionne pas, essayez : java -cp path_to_file_setup.jar <-Dtemp.dir=path_to_tmp_directory> run Une fois le paquet installé, allez dans le répertoire "ros" à l'intérieur du répertoire opencascade, et faites ./configure --with-tcl=/usr/lib/tcl8.4 --with-tk=/usr/lib/tk8.4 Maintenant vous pouvez compiler. Retournez au dossier ros et faites : make Cela prendra beaucoup de temps, peut-être plusieurs heures.

Quand c'est terminé, installez en faisant simplement sudo make install Les fichiers de bibliothèque seront copiés dans /usr/local/lib ce qui est normal, puisqu'ils seront trouvés automatiquement par n'importe quel programme. En outre, vous pouvez aussi faire sudo checkinstall Ce qui fera la même chose que make install, mais créera une entrée dans votre système de gestion de paquets afin de le désinstaller plus facilement éventuellement. Maintenant nettoyez les considérable fichiers de compilation temporaires en faisant make clean Erreur possible Nº 1 : Si vous utilisez OCC version 6.2, il est fort possible que le compilateur stoppera tout juste après le début de l'opération "make". Si cela survient, éditez le script "configure", retracez la déclaration CXXFLAGS="$CXXFLAGS ", et remplacez-la par CXXFLAGS="$CXXFLAGS -ffriend-injection -fpermissive". Puis recommencez l'étape configure.

Erreur possible Nº 2 : Il est possible que plusieurs modules (WOKSH, WOKLibs, TKWOKTcl, TKViewerTest et TKDraw) se complaignent qu'ils ne trouvent pas les entêtes tcl/tk. Dans ce cas, puisque l'option n'est pas offerte par le script configure, vous devrez éditer nauellement le makefile de chacun de ces modules : Allez dans adm/make et dans chacun des dossiers des modules fautifs. Éditez le Makefile, et retracez les lignes CSF_TclLibs_INCLUDES = -I/usr/include et CSF_TclTkLibs_INCLUDES = -I/usr/include et ajoutez /tcl8.4 et /tk8.4 afin qu'elles se lisent comme suit : CSF_TclLibs_INCLUDES = -I/usr/include/tcl8.4 et CSF_TclTkLibs_INCLUDES = -I/usr/include/tk8.4

SoQt
La bibliothèque SoQt doit être compilée par rapport à Qt4, ce qui est le cas de la plupart des distributions récentes. Mais lors de l'écriture de cet article, il n'y avait des paquets SoQt4 disponibles que pour Debian, mais pas pour toutes les versions d'Ubuntu. Pour compiler les paquets, suivez les étapes suivantes : 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 votre système est en 64 bits, vous devrez probablement changer i386 par amd64.

Pivy
Pivy n'est pas nécessaire pour compiler FreeCAD ou l'exécuter, mais il est requis par le module 2D Drafting qui ne fonctionnera pas autrement. Si vous ne comptez pas utiliser ce module, vous n'avez pas besoin de pivy. Au moment d'écrire ces lignes, Pivy est très jeune et ne se trouve possiblement pas encore dans les dépôts de votre distribution. Si vous ne trouvez pas Pivy dans les dépôts de paquets de votre distribution, vous pouvez prendre des paquets debian/ubuntu sur la page de téléchargement de FreeCAD :

http://sourceforge.net/projects/free-cad/files/FreeCAD%20Linux/ Ou encore compiler pivy par vous-même :

Pivy compilation instructions

Utiliser cMake
cMake est un nouveau système de compilation dont l'avantage est d'être commun à plusieurs systèmes d'exploitation (Linux, Windows, MacOSX, etc). FreeCAD utilise désormais cMake comme système de compilation principal. La compilation avec cMake est généralement très simple et se déroule en deux étapes. À la première étape, cMake vérifie que tous les programmes et bibliothèques nécessaires sont présents sur votre système, et configure tout ce qui est nécessaire pour la compilation subséquente. Quelques alternatives vous sont détaillées ci-dessous, mais FreeCAD est livré avec des options par défaut sensées. La seconde étape est la compilation proprement dite, qui produit l'exécutable FreeCAD.

Puisque FreeCAD est une application lourde, la compilation peut prendre un certain temps (environ 10 minutes sur un PC rapide, 30 minutes sur un PC lent).

In-source building
FreeCAD can be built in-source, which means that all the files resulting from the compilation stay in the same folder as the source code. This is fine if you are just looking at FreeCAD, and want to be able to remove it easily by just deleting that folder. But in case you are planning to compile it often, you are advised to make an out-of-source build, which offers many more advantages. The following commands will compile freecad: $ cd freecad (the folder where you cloned the freecad source) If you installed pivy from source, set the compiler flag to use the correct pivy (via FREECAD_USE_EXTERNAL_PIVY=1). Also, set the build type to debug. (NOTE: the "." and space after the cmake flags are CRITICAL!): $ cmake -DFREECAD_USE_EXTERNAL_PIVY=1 -DCMAKE_BUILD_TYPE=Debug. $ make Your FreeCAD executable will then reside in the "bin" folder, and you can launch it with: $ ./bin/FreeCAD

Compilation hors-source
Si vous comptez suivre l'évolution rapide de FreeCAD, il est beaucoup plus pratique de le compiler dans un dossier séparé de la source. Chaque fois que vous mettez à jour le code source, cMake distinguera intelligemment quels fichiers ont changé, et ne compilera que ce qui est requis. Les compilation hors-source sont particulièrement pratiques avec le système Git, puisque vous pouvez facilement essayer d'autres branches sans embrouiller le système de compilation. Pour compiler hors-source, créez un dossier de compilation distinct du dossier source freecad, et depuis le dossier de compilation, pointez cMake vers le dossier source : mkdir freecad-build cd freecad-build cmake ../freecad (or whatever the path is to your FreeCAD source folder) make Votre exécutable résidera dans le dossier "bin".

Options de configuration
Il existe un certain nombre de modules expérimentaux ou inachevés que vous pourriez vouloir compiler afin de travailler sur ceux-ci. Pour ce faire, vous devez régler les options appropriées lors de l'étape de configuration. Faites-le soit en ligne de commande, en passant les options -D : = à cMake ou en utilisant une des interfaces graphiques disponibles pour cMake (par ex. pour Debian, les paquets cmake-qt-gui ou cmake-curses-gui).

À titre d'exemple, pour configurer en ligne de commande la compilation du module Assembly, faites : cmake -D FREECAD_BUILD_ASSEMBLY:BOOL=ON path-to-freecad-root Les options possibles sont listées dans le fichier CmakeLists.txt situé à la racine du dossier source FreeCAD.

Using autotools
Autotools has been deprecated in favour of cMake, but old versions of FreeCAD were able to be built with Autotools. You must have automake and libtool installed on your system; on Debian/Ubuntu: aptitude install automake libtool Si vous avez obtenu les sources depuis git ou subversion, la première étape doit être ./autogen.sh ce qui génère le script configure et plus. Pour le processus de compilation en lui-même, nous fournissons un script de configuration. Tapez simplement ./configure Afin de tout configurer. Si vous voulez un aperçu de toutes les options de configuration possibles, vous pouvez taper ./configure --help Généralement, aucun option ne sera nécessaire - à moins qu'une de vos bibliothèques ne soit installée dans un répertoire hors de l'ordinaire. Lorsque la configuration est terminée, la compilation de FreeCAD est aussi simple que make Si des erreurs surviennent pendant la compilation des sources, veuillez d'abord revérifier cette page ainsi que le fichier README.Linux file, puis vous pouvez aller sur le système de gestion de bogues sur SourceForge, cliquez sur « Afficher les bogues » et regardez les rapports existants sur les problèmes de compilation. Après la compilation avec succès de FreeCAD, faites make install pour l'installer sur votre PC. Le répertoire d'installation par défaut est ~/FreeCAD Il s'agit d'un dossier FreeCAD se trouvant dans votre Dossier personnel, vous n'avez donc pas besoin des droits d'administration. Plutôt que de faire make install, vous pouvez aussi faire checkinstall De cette façon FreeCAD sera installé par votre système de gestion de paquets, rendant la désinstallation ultérieure plus facile. Mais puisque l'installation de FreeCAD réside entièrement dans un simple répertoire, vous pouvez le désinstaller simplement en supprimant ce répertoire.

Greffon Qt designer
Si vous voulez faire du développement Qt pour FreeCAD, vous aurez besoin du greffon Qt designer qui fournit tous les widgets personnalisés de FreeCAD. Allez dans freecad/src/Tools/plugins/widget Pour l'instant nous ne fournissons pas de makefile -- mais appeler qmake plugin.pro le génère. Une fois que c'est fait, make créera la bibliothèque libFreeCAD_widgets.so. Pour faire en sorte que cette bibliothèque soit reconnue par Qt Designer, vous devez copier le fichier vers $QTDIR/plugin/designer

Doxygen
Si vous vous sentez assez audacieux pour vous plonger dans le code, vous pourriez tirer avantage à construire et consulter la documentation source de FreeCAD générée par Doxygen.

Construire un paquet Debian
Si vous envisagez de construire un paquet Debian voici les sources que vous devez installer en premier : dh-make devscripts lintian (optional, used for checking if packages are standard-compliant) Pour construire un paquet ouvrez une console, puis il suffit d'aller dans le répertoire FreeCAD et l’appeler debuild Une fois que le paquet est construit, vous pouvez utiliser lintian pour vérifier si le paquet contient des erreurs lintian votre-nouveau-FreeCAD-package.deb (remplacez le nom du paquet par le nom que que vous venez de créer)

Note sur les systèmes 64 bits
Pour la compilation de FreeCAD pour 64 bits, il y a un problème connu avec le paquet OpenCASCADE 64 bits. Afin que FreeCAD s'exécute correctement, vous pourriez devoir exécuter le script ./configure avec le réglage additionnel define _OCC64 : ./configure CXXFLAGS="-D_OCC64" Sous les systèmes basés sur Debian, cette solution n'est pas requise avec l'utilisation du paquet précompilé OpenCASCADE, puisque celui-ci est déja compilé avec ce réglage. Maintenant il ne reste plus qu'à compiler FreeCAD tel que décrit ci-dessus.

Macros Automake
Le script configure de FreeCAD utilise plusieurs macros automake qui ne sont parfois pas installées avec leurs paquets : bnv_have_qt.m4, coin.m4, et gts.m4. Au besoin (erreur lors de la configuration), faites une recherche Google à leur sujet et vous devriez facilement les trouver. Il ne s'agit que de simples scripts que vous placerez dans votre dossier /usr/share/aclocal.

Fedora 13
Pour compiler et installer FreeCAD sous Fedora 13, quelques trucs et astuces sont nécessaires :
 * Installez un tas de paquets requis, la plupart sont disponibles dans les dépôts de Fedora 13
 * Téléchargez et compilez xerces
 * Téléchargez et compilez OpenCascade. Il doit être pointé vers xmu: ./configure --with-xmu-include=/usr/include/X11/Xmu --with-xmu-library=/usr/lib
 * Téléchargez et compilez Pivy. Vous devez supprimer 2 références au fichier non-existant "SoQtSpaceball.h" de pivy/interfaces/soqt.i Commenter ces deux lignes permettra à la compilation et l'installation de réussir.
 * Configurez Freecad. Vous devez le faire pointer vers : ./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 - rencontre un problème et la compilation échoue parce que les ldflags pour soqt sont réglés à "-LNONE" ce qui bloque libtool. Ma solution un peu bancale a été de modifier /usr/lib/Coin2/conf/soqt-default.cfg pour que les ldflags soient "" au lieu de "-LNONE". Après ça -> succès !
 * make install

Ubuntu Lucid
Dans Ubuntu Lucid, vous n'avez pas besoin de qtwebkit-dev, car il est inclus dans qt4-dev.

Scripts de compilation automatiques
Voici tout ce dont vous avez besoin pour une compilation complète de FreeCAD. Il s'agit d'une approche en un unique script qui fonctionne sous une distribution fraîchement installée. Les commandes demanderont un mot de passe (pour l'installation des paquets) et parfois reconnaître une empreinte pour un serveur externe ou le dépôt https-subversion. Ces scripts devraient fonctionner autant sous des systèmes 32 bits que 64 bits. Ils sont rédigés pour des versions spécifiques, mais devraient aussi fonctionner sous des versions ultérieures sans changements ou avec changements mineurs.

Si vous avez un tel script pour votre distribution favorite, svp envoyez-le nous ! Nous l'intégrerons dans cet article.

Notez que ce script commence par ajouter le référentiel FreeCAD Daily Builds PPA afin qu'il puisse procéder à l'installation de la bibliothèque Eigen3 (libeigen3-dev). Si cette bibliothèque est déjà installée sur votre système, vous pouvez supprimer la première ligne.

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.7-dev libopencascade-dev libsoqt4-dev \ libode-dev subversion cmake libeigen2-dev libsimage-dev python-qt4 \ libtool autotools-dev automake bison flex gfortran libeigen3-dev libqtwebkit-dev git git clone git://free-cad.git.sourceforge.net/gitroot/free-cad/free-cad 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 git pull cmake. make
 * 1) go to source dir
 * 1) Update source
 * 1) build configuration
 * 1) build FreeCAD

OpenSUSE 12.2
Aucuns dépôts externes sont nécessaires pour compiler FreeCAD avec la version 0,13. Cependant, il existe un incompatibilité avec python3-devel qui doit être enlevé. FreeCAD peut être compilé à partir GIT similairement à OpenSUSE 12.2 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 git swig mkdir FreeCAD-Compiled cd FreeCAD-Compiled 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 Après avoir utilisé git, la prochaine fois que vous souhaiterez recompiler vous même, vous n'aurez pas à tout cloner, il vous suffira d'extraire de git et de recompiler une nouvelle fois. cd free-cad git pull cd .. mkdir FreeCAD-Build2 cd FreeCAD-Build2 cmake ../free-cad make cd bin ./FreeCAD -t 0
 * 1) install needed packages for development
 * 1) create new dir, and go into it
 * 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
 * 1) go into free-cad dir created earlier
 * 1) pull
 * 1) get back to previous dir
 * 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

OpenSuse 12.1
Pour FreeCAD 0.13 instable, vous devez installer les bibliothèques Eigen3 et swig, qui ne semblent pas être comprises dans les dépôts officiels. Vous pouvez les installer en un clic ici :

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 git mkdir FreeCAD-Compiled cd FreeCAD-Compiled 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 Puisque ce script utilise git, la prochaine fois que vous voulez compiler, nul besoin de cloner tout, faites simplement un "pull" depuis git dans le dossier free-cad que vous aviez créé précédemment, et compilez à nouveau cd free-cad git pull cd .. mkdir FreeCAD-Build2 cd FreeCAD-Build2 cmake ../free-cad make cd bin ./FreeCAD -t 0
 * 1) install needed packages for development
 * 1) create new dir, and go into it
 * 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
 * 1) go into free-cad dir created earlier
 * 1) pull
 * 1) get back to previous dir
 * 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

OpenSuse 11.2
Ce script ne fonctionne pas en ce moment parce que : 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 git clone git://free-cad.git.sourceforge.net/gitroot/free-cad/free-cad freecad cd freecad cmake. nice make cd bin ./FreeCAD -t 0
 * libXerces-c-devel semble disparu...
 * 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 git clone git://free-cad.git.sourceforge.net/gitroot/free-cad/free-cad 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 gfortran git clone git://free-cad.git.sourceforge.net/gitroot/free-cad/free-cad 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

Mettre à jour le code source
Le développement de FreeCAD est très rapide, presque chaque jour des correctifs ou de nouvelles fonctionnalités sont publiées dans la source. Le système cMake permet de mettre à jour le code source de façon intelligente, et ne recompile que ce qui a changé, ce qui accélère les compilation subséquentes. La mise à jour du code source avec git ou subversion est très facile : cd freecad (or where you cloned the source code the first time) git pull (if you are using git) Puis, vous n'avez pas besoin d'exécuter la commande cmake à nouveau, seulement : cd ../freecad-build (or wherever your build directory is located) cmake. make