CompileOnMac/jp

Mac OS X は BSD(UNIX)ベースなので、Mac上でのFreeCADのコンパイルはCompileOnUnixと大きく違いませんが、すべての機能を適切に動かすには、Mac特有の重要な点がいくつかあります. この説明内容は、Lion(10.7)でテストしていますが、(Snow) Leopardが動くIntel Macでも同様に"動くはず"です.

FreeCAD sources のダウンロード
FreeCADのsourceの最新リビジョンをSourceforge subversion リポジトリからチェックアウトします.

svn co http://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk free-cad

依存パッケージのインストール
Mac OS X 10.7上では、以下の依存パッケージがバンドルされていないので、FreeCADのビルドの前にインストールする必要があります.


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

選択肢 1: Homebrew
"注意" : このセクションは、現在修正中です！フォーラムで最新の投稿を確認してください.


 * https://sourceforge.net/apps/phpbb/free-cad/viewtopic.php?f=4&t=2064&p=15405

Homebrewパッケージマネージャをダウンロードし、インストールします. :


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

FreeCADのほとんどの依存パッケージをコンパイルし、インストールします. :

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

CompileOnMacを確認します.

選択肢 2: MacPorts/Fink
'''注意：このセクションは更新する必要があります. '''

(まだMacPortsをインストールしていない場合は) MacPortsをインストールします. MacPortsは、1つのコマンドで一般的なオープンソースのアプリケーションをダウンロード、コンパイル、インストールできます. UNIX/Linuxの世界では、PKCSRCやAPTに似ているアプリケーションです. インストールするには、MacPortsサイトからディスクイメージをダウンロードして、指示に従ってください. :


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

MacPortsをインストールした直後かどうかにかかわらず、MacPortsが最新かどうかを確認したくなるでしょう. 以下を実行します. :

sudo port selfupdate そうすると、MacPortsがインストールされ、最新版になり、FreeCADが必要とするパッケージのインストールをはじめることができます. :


 * xercesc
 * boost
 * py-sip
 * ftlg
 * f2c
 * eigen3
 * py-pyqt4

以下のコマンドで、上記のライブラリをコンパイル/インストールできます. もしMacPortsがエラーを出力したら、それらを一つずつ試すことになるでしょう.

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

py-sipやpy-pyqt4のようなpythonパッケージは各MacPortsのPythonのバージョンに対応したパッケージが1つずつあるため、複数のパッケージがあることに注意が必要です.

boostは大きなパッケージです. また、py-pyqt4にはqt4-macが必要でこれも大きなパッケージです. 長いビルドの間に、何が起こっているかを確認するために、port -v instsall を実行したくなるでしょう.

QT4はQtウェブサイトからMac用のバイナリインストーラも利用可能です. この方法がFreeCADのコンパイルにどのようにうまくいくかは、よくわかりません.

Fortran コンパイラのインストール

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:


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

Then, in terminal:

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

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.


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

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.