Compilation sous Unix

From FreeCAD Documentation
Jump to: navigation, search
This page is a translated version of a page CompileOnUnix and the translation is 87% complete.

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.

Contents

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/

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

# Install OCC build-deps
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

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

# Install the resulting library debs
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:

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

Compiler FreeCAD

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 <var>:<type>=<value> à 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)

Dépannage

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

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
 
# checkout the latest source
git clone git://free-cad.git.sourceforge.net/gitroot/free-cad/free-cad freecad
 
# go to source dir
cd freecad
 
# build configuration 
cmake .
 
# build FreeCAD
make
 
# test FreeCAD
cd bin
./FreeCAD -t 0

# use FreeCAD
./FreeCAD

# Update latest version

# go to source dir
cd freecad
 
# Update source
git pull
 
# build configuration 
cmake .
 
# build FreeCAD
make

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

# install needed packages for development
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
 
# create new dir, and go into it
mkdir FreeCAD-Compiled 
cd FreeCAD-Compiled
 
# get the source
git clone git://free-cad.git.sourceforge.net/gitroot/free-cad/free-cad
 
# Now you will have subfolder in this location called free-cad. It contains the source
 
# make another dir for compilation, and go into it
mkdir FreeCAD-Build1
cd FreeCAD-Build1 
 
# build configuration 
cmake ../free-cad
 
# build FreeCAD
make
 
# test FreeCAD
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.

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

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

# install needed packages for development
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
 
# create new dir, and go into it
mkdir FreeCAD-Compiled 
cd FreeCAD-Compiled
 
# get the source
git clone git://free-cad.git.sourceforge.net/gitroot/free-cad/free-cad
 
# Now you will have subfolder in this location called free-cad. It contains the source
 
# make another dir for compilation, and go into it
mkdir FreeCAD-Build1
cd FreeCAD-Build1 
 
# build configuration 
cmake ../free-cad
 
# build FreeCAD
make
 
# test FreeCAD
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

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


OpenSuse 11.2

Ce script ne fonctionne pas en ce moment parce que :

  • libXerces-c-devel semble disparu...
 
# install needed packages for development
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
 
# get the source
git clone git://free-cad.git.sourceforge.net/gitroot/free-cad/free-cad freecad
 
# go to source dir
cd freecad
 
# build configuration 
cmake .
 
# build FreeCAD
nice make
 
# test FreeCAD
cd bin
./FreeCAD -t 0


OpenSuse 11.1

# additional repository (for OpenCascade)
sudo zypper -p http://packman.unixheads.com/suse/11.1/
 
# install needed packages for development
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
 
# get the source
git clone git://free-cad.git.sourceforge.net/gitroot/free-cad/free-cad freecad
 
# go to source dir
cd freecad
 
# build configuration 
cmake .
 
# build FreeCAD
nice make
 
# test FreeCAD
cd bin
./FreeCAD -t 0


Debian Squeeze

# get the needed tools and libs
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
 
# checkout the latest source
git clone git://free-cad.git.sourceforge.net/gitroot/free-cad/free-cad freecad
 
# go to source dir
cd freecad
 
# build configuration 
cmake .
 
# build FreeCAD
make
 
# test FreeCAD
cd bin
./FreeCAD -t 0

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
< précédent: CompileOnWindows
suivant: CompileOnMac >
Index
Other languages:Czech 2% • ‎German 1% • ‎English 100% • ‎Spanish 57% • ‎French 87% • ‎Italian 2% • ‎Polish 2% • ‎Portuguese 4% • ‎Brazilian Portuguese 2% • ‎Romanian 2% • ‎Russian 1% • ‎Northern Sami 1% • ‎Swedish 1% • ‎Turkish 2%
Personal tools
Namespaces

Variants
Actions
Users documentation
Powerusers documentation
Developers documentation
Help & Feedback
Meta
Toolbox