Compile on MacOS/fr: Difference between revisions
Renatorivo (talk | contribs) (Created page with "La commande suivante compile/installe les bibliothèques ci-dessus. Si '''MacPorts''' produit des erreurs, vous pouvez essayer d'installer ceci, '''un à la fois'''.") |
Renatorivo (talk | contribs) (Created page with "Notez, que pour les paquets Python comme '''[http://www.riverbankcomputing.com/software/sip/download py-sip]''' et '''[http://guide.macports.org/ py-pyqt4]''', il ya plusieurs...") |
||
Line 83: | Line 83: | ||
sudo port install xercesc boost ftgl f2c eigen3 py-sip py-pyqt4 Coin |
sudo port install xercesc boost ftgl f2c eigen3 py-sip py-pyqt4 Coin |
||
</pre> |
</pre> |
||
Notez, que pour les paquets Python comme '''[http://www.riverbankcomputing.com/software/sip/download py-sip]''' et '''[http://guide.macports.org/ py-pyqt4]''', il ya plusieurs packages, une pour chaque version de '''Python MacPorts'''. |
|||
Note that boost is a large package, and py-pyqt4 depends on qt4-mac, which is a large package. You may want to run port -v install so that you have more of an idea what's going on during these long builds. |
Note that boost is a large package, and py-pyqt4 depends on qt4-mac, which is a large package. You may want to run port -v install so that you have more of an idea what's going on during these long builds. |
Revision as of 22:09, 7 November 2014
Comme Mac OS X est basé sur la distribution BSD (UNIX), la compilation de FreeCAD sur Mac n'est pas très différente de CompileOnUnix, mais il existe cependant un certain nombre de détails très importants, spécifiques au Mac, pour que tout fonctionne correctement. Ces instructions ont été testées sur Lion (10.7), mais devrait fonctionner sur les Macs Intel qui utilisent (Snow) Leopard.
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://free-cad.git.sourceforge.net/gitroot/free-cad/free-cad freecad
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
Dépendances de l'installation
Sur Mac OS X 10.7, les dépendances suivantes ne sont pas fournies avec le système, et doivent donc être installées avant la compilation de FreeCAD :
- sip
- fortran
- xerces-c
- boost
- eigen
- ftgl
- coin3d
- OpenCASCADE
- Qt
- pyqt
- soqt
Option 1: Homebrew
PS : cette section est toujours en cours d'élaboration ! Lisez le post sur le forum d'aide pour plus d'informations.
Téléchargement et installation des gestionnaires de paquets Homebrew :
Puis, compilez et installez la plupart des dépendances de FreeCAD :
brew install sip gfortran xerces-c boost eigen coin qt pyqt soqt ftgl
Lisez le paragraphe CompileOnMac/fr#Compiler OpenCASCADE.
Option 2: MacPorts/Fink
PS : cette section a besoin d'être documentée !
Installez MacPorts, si vous ne l'avez pas déjà fait. MacPorts est un système qui vous permet de télécharger, compiler et installer de nombreuses applications open-source en une seule commande. Des applications similaires issues du monde Unix/Linux sont, PKGSRC et APT. Pour l'installer, il suffit de télécharger l'image disque à partir du site MacPorts, et suivez les instructions :
Que vous ayez ou non installé MacPorts, vous voudrez probablement vérifier s'il est à jour. Exécutez :
sudo port selfupdate
Maintenant que MacPorts est installé, et à jour, vous pouvez commencer l'installation de certains des paquets nécessaires à FreeCAD :
- xercesc
- boost
- py-sip
- ftlg
- f2c
- eigen3
- py-pyqt4
- Coin
La commande suivante compile/installe les bibliothèques ci-dessus. Si MacPorts produit des erreurs, vous pouvez essayer d'installer ceci, un à la fois.
sudo port install xercesc boost ftgl f2c eigen3 py-sip py-pyqt4 Coin
Notez, que pour les paquets Python comme py-sip et py-pyqt4, il ya plusieurs packages, une pour chaque version de Python MacPorts.
Note that boost is a large package, and py-pyqt4 depends on qt4-mac, which is a large package. You may want to run port -v install so that you have more of an idea what's going on during these long builds.
Qt4 is also available for Mac as a binary installer from the Qt web site. I'm not sure how nicely this approach plays with FreeCAD compiling.
It is also possible to choose the version of the gcc compiler to use, some recent versions might sometimes cause problems:
sudo port -v install gcc_select sudo port select --list gcc sudo port select --set gcc mp-gcc46
Install Fortran Compiler
You also need a FORTRAN compiler. Apple's fork of gcc on OSX does not come with FORTRAN.
An installer for GFortran can be found here, and will do the trick: http://gcc.gnu.org/wiki/GFortranBinaries#MacOS If you are using fink, another method is to use the following commands (attempted by Shaneyfelt 2100.Nov.14)
sudo fink selfupdate sudo fink install gcc46
This installs another gcc compiler collection with the name gcc-4 to avoid a name conflict with the apple one.
MacPorts gcc4x packages also include FORTRAN compilers, so this should also work:
sudo port install gcc46
Another possible MacPorts package is g95. This seems to be a valid FORTRAN90 compiler and will pass FreeCAD's cmake configuration tests, but the actual build seems to ask for gcc-specific options, so probably easier to stick to gcc4x.
Install Eigen3
Download and unzip the latest eigen3 library here: http://eigen.tuxfamily.org/index.php?title=Main_Page These are needed for solver functionality. Once unzipped, the folder named 'Eigen' can be dropped into
/usr/local/include/eigen3/
Build OpenCASCADE
Currently, the easiest way to build OpenCASCADE on OS X is from the community edition (oce). Download the source or check out the Git repository from:
Then, in terminal:
mkdir build cd build cmake .. cd .. make make install/strip
You may need cmake:
sudo port install cmake
Download and 'install' the FreeCAD.app template
The following archive contains an application bundle template for FreeCAD. This is not strictly necessary, but it makes working with FreeCAD more convenient than the default installation configuration. The recommended install location for the bundle is the /Applications folder, but you should be able to put it anywhere you want -- just remember that the bundle can't be moved after FreeCAD is complied and installed without further modifications. Running make install using the configuration in the next step will install into this bundle.
Compile
Configure, compile, and install FreeCAD using the following commands from within the root FreeCAD folder. If you put your FreeCAD.app bundle somewhere other than /Applications (or aren't using the bundle), change the 'PREFIX' argument accordingly.
./autogen.sh PREFIX=/Applications/FreeCAD.app/Contents
If you installed dependencies using Option 1 (Homebrew):
Note: this config line has not been verified and may contain errors!
./configure --with-xercesc-lib=/usr/local/lib --with-xercesc-include=/usr/local/include \ --with-boost-lib=/usr/local/lib --with-boost-include=/usr/local/include \ --with-qt4-dir=/usr/local--with-qt4-lib=/usr/local/lib --with-qt4-include=/usr/local/include \ --with-qt4-framework=/usr/local/lib --with-qt4-bin=/usr/local/bin --with-occ-lib=/usr/local/lib \ --with-occ-include=/usr/local/include/oce --with-coin=/usr/local/lib --with-soqt=/usr/local/lib \ --prefix=/Applications/FreeCAD.app/Contents --bindir=/Applications/FreeCAD.app/Contents/MacOS \ --libdir=/Applications/FreeCAD.app/Contents/Frameworks/FreeCAD \ --includedir=/Applications/FreeCAD.app/Contents/Resources/include \ --datarootdir=/Applications/FreeCAD.app/Contents/Resources/share --enable-debug=no \ --with-python-include=/System/Library/Frameworks/Python.framework/Versions/2.5/Headers
Or if you installed dependencies using Option 2 (MacPorts/Fink):
./configure --with-xercesc-lib=/opt/local/lib --with-xercesc-include=/opt/local/include \ --with-boost-lib=/opt/local/lib --with-boost-include=/opt/local/include \ --with-qt4-dir=/usr/local/Trolltech/Qt-4.8.0 --with-qt4-lib=/usr/local/Trolltech/Qt-4.8.0/lib \ --with-qt4-include=/usr/local/Trolltech/Qt-4.8.0/include --with-qt4-framework=/Library/Frameworks \ --with-qt4-bin=/usr/local/Trolltech/Qt-4.8.0/bin --with-occ-lib=/usr/local/lib \ --with-occ-include=/usr/local/include/oce --with-coin=/Library/Frameworks \ --with-soqt=/Library/Frameworks --prefix=/Applications/FreeCAD.app/Contents \ --bindir=/Applications/FreeCAD.app/Contents/MacOS --libdir=/Applications/FreeCAD.app/Contents/Frameworks/FreeCAD \ --includedir=/Applications/FreeCAD.app/Contents/Resources/include \ --datarootdir=/Applications/FreeCAD.app/Contents/Resources/share --enable-debug=no \ --with-python-include=/System/Library/Frameworks/Python.framework/Versions/2.5/Headers
Then:
make make install
Depending on your machine's processing power, the make step can take quite a while.
Run
If everything went OK, double-clicking the .app bundle should start FreeCAD. If you have any issues, post the details on the help forum.
PyQt4
Some users reported facing a "No Module named PyQt4" message on FreeCAD startup. This is a workaround to correct it:
cd /Library/Python/2.6/site-packages sudo ln -s /contrib/lib/python2.6/site-packages/PyQt4 . sudo ln -s /contrib/lib/python2.6/site-packages/sip* . cd /volatile/FreeCAD-r5443-ser/bin/pivy cp _coin.dylib _coin.so cd /volatile/FreeCAD-r5443-ser/lib for i in *.dylib; do j=`basename $i .dylib`; cp $i $j.so; done
Pivy
Some FreeCAD components won't work without Pivy. See here for partial build instructions.