Ubuntu 15.04 (Vivid Vervet) 上でFreeCADのビルド

Ubuntu 15.04 (Vivid Vervet) 上でFreeCADのビルド。

“FreeCAD maintainers”team の FreeCAD Daily Builds リポジトリの追加。

sudo apt-add-repository ppa:freecad-maintainers/freecad-daily
sudo apt-get update

依存関係のあるパッケージを導入。

 sudo apt-get build-dep freecad
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下のパッケージが新たにインストールされます:
  autotools-dev cmake cmake-data debhelper dh-apparmor gfortran gfortran-4.9
  gir1.2-gtk-2.0 icu-devtools libatk1.0-dev libavcodec-dev libavcodec56
  libavformat-dev libavformat56 libavresample-dev libavresample2 libavutil-dev
  libavutil54 libboost-atomic1.55-dev libboost-atomic1.55.0
  libboost-chrono1.55-dev libboost-chrono1.55.0 libboost-date-time-dev
  libboost-date-time1.55-dev libboost-dev libboost-filesystem-dev
  libboost-filesystem1.55-dev libboost-graph-dev libboost-graph1.55-dev
  libboost-graph1.55.0 libboost-iostreams-dev libboost-iostreams1.55-dev
  libboost-program-options-dev libboost-program-options1.55-dev
  libboost-program-options1.55.0 libboost-python-dev libboost-python1.55-dev
  libboost-python1.55.0 libboost-regex-dev libboost-regex1.55-dev
  libboost-regex1.55.0 libboost-serialization-dev
  libboost-serialization1.55-dev libboost-serialization1.55.0
  libboost-signals-dev libboost-signals1.55-dev libboost-signals1.55.0
  libboost-system1.55-dev libboost-test1.55-dev libboost-test1.55.0
  libboost-thread-dev libboost-thread1.55-dev libboost-thread1.55.0
  libboost1.55-dev libcairo-script-interpreter2 libcairo2-dev libcoin80
  libcoin80-dev libcv-dev libdc1394-22 libdc1394-22-dev libdrm-dev
  libeigen3-dev libexpat1-dev libf2c2 libf2c2-dev libfltk-cairo1.3
  libfltk-forms1.3 libfltk-gl1.3 libfltk-images1.3 libfltk1.3 libfltk1.3-dev
  libfontconfig1-dev libfreeimage-dev libfreeimage3 libfreetype6-dev
  libgdk-pixbuf2.0-dev libgfortran-4.9-dev libgfortran3 libgl1-mesa-dev
  libgl2ps-dev libgl2ps0 libglib2.0-dev libglu1-mesa-dev libgsm1 libgtk2.0-dev
  libgtkglext1 libgts-0.7-5 libgts-bin libgts-dev libharfbuzz-dev
  libharfbuzz-gobject0 libice-dev libicu-dev libilmbase-dev libjasper-dev
  libjbig-dev libjpeg-dev libjpeg-turbo8-dev libjpeg8-dev liblzma-dev
  libmp3lame0 liboce-foundation-dev liboce-foundation10 liboce-modeling-dev
  liboce-modeling10 liboce-ocaf-dev liboce-ocaf-lite-dev liboce-ocaf-lite10
  liboce-ocaf10 liboce-visualization-dev liboce-visualization10 libode-dev
  libode1 libopencv-calib3d-dev libopencv-calib3d2.4 libopencv-core-dev
  libopencv-core2.4 libopencv-features2d-dev libopencv-features2d2.4
  libopencv-flann-dev libopencv-flann2.4 libopencv-highgui-dev
  libopencv-highgui2.4 libopencv-imgproc-dev libopencv-imgproc2.4
  libopencv-legacy-dev libopencv-legacy2.4 libopencv-ml-dev libopencv-ml2.4
  libopencv-objdetect-dev libopencv-objdetect2.4 libopencv-ocl-dev
  libopencv-ocl2.4 libopencv-video-dev libopencv-video2.4 libopenexr-dev
  libopenjpeg5 libpango1.0-dev libpcre3-dev libpcrecpp0 libpixman-1-dev
  libpng12-dev libpthread-stubs0-dev libpyside-dev libpyside-py3-1.2
  libpyside1.2 libpython-dev libpython2.7-dev libqt4-dev libqt4-dev-bin
  libqt4-opengl-dev libqtwebkit-dev libraw1394-dev libschroedinger-1.0-0
  libshiboken-dev libshiboken-py3-1.2 libshiboken1.2 libsm-dev
  libsoqt-dev-common libsoqt4-20 libsoqt4-dev libspnav-dev libspnav0
  libswscale-dev libswscale3 libtbb2 libtcl8.5 libtiff5-dev libtiffxx5
  libtk8.5 libtool libva1 libx11-dev libx11-xcb-dev libx264-142 libxau-dev
  libxcb-dri2-0-dev libxcb-dri3-dev libxcb-glx0-dev libxcb-present-dev
  libxcb-randr0-dev libxcb-render0-dev libxcb-shape0-dev libxcb-shm0-dev
  libxcb-sync-dev libxcb-xfixes0-dev libxcb1-dev libxcomposite-dev
  libxcursor-dev libxdamage-dev libxdmcp-dev libxerces-c-dev libxerces-c3.1
  libxext-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev libxmu-dev
  libxmu-headers libxpm-dev libxrandr-dev libxrender-dev libxshmfence-dev
  libxss-dev libxt-dev libxvidcore4 libxxf86vm-dev libzipios++-dev
  libzipios++0c2a mesa-common-dev oce-draw po-debconf python-cxx-dev
  python-dev python2.7-dev qt4-dev-tools qt4-linguist-tools qt4-qmake swig
  swig2.0 tcl8.5 tcl8.5-dev tk8.5 tk8.5-dev x11proto-composite-dev
  x11proto-core-dev x11proto-damage-dev x11proto-dri2-dev x11proto-fixes-dev
  x11proto-gl-dev x11proto-input-dev x11proto-kb-dev x11proto-randr-dev
  x11proto-render-dev x11proto-scrnsaver-dev x11proto-xext-dev
  x11proto-xf86vidmode-dev x11proto-xinerama-dev xorg-sgml-doctools xtrans-dev
  zlib1g-dev
アップグレード: 0 個、新規インストール: 243 個、削除: 0 個、保留: 0 個。
126 MB のアーカイブを取得する必要があります。
この操作後に追加で 621 MB のディスク容量が消費されます。
続行しますか? [Y/n] 

apt-get build-depで解決できないパッケージの導入

sudo apt-get install libcoin80-doc shiboken pyside-tools python-matplotlib doxygen graphviz netgen netgen-headers ccx

デバグシンボルの導入

sudo apt-get install libicu52-dbg libatk1.0-dbg libboost-dbg \
libcairo2-dbg libdc1394-22-dbg libdrm-nouveau2-dbg libdrm-radeon1-dbg \
libdrm2-dbg libfltk1.3-dbg libfontconfig1-dbg libfreeimage3-dbg \
libgdk-pixbuf2.0-0-dbg libgfortran3-dbg libgl1-mesa-glx-dbg \
libgl1-mesa-dri-dbg libgl2ps0-dbg libglib2.0-0-dbg libgsm1-dbg \
libgtk2.0-0-dbg libgtkglext1-dbg libgts-dbg libice6-dbg \
libjpeg-turbo8-dbg libjpeg8-dbg libopenjpeg5-dbg libpango1.0-0-dbg \
libpcre3-dbg libpixman-1-0-dbg libpython-dbg libqt4-dbg \
libqtwebkit4-dbg libraw1394-11-dbg libsm6-dbg libtbb2-dbg \
libtcl8.5-dbg libtk8.5-dbg libxau6-dbg libxcb-dri2-0-dbg \
libxcb-dri3-0-dbg libxcb-glx0-dbg libxcb-present0-dbg \
libxcb-randr0-dbg libxcb-shape0-dbg libxcb-shm0-dbg libxcb-sync1-dbg \
libxcursor1-dbg libxdamage1-dbg libxdmcp6-dbg libxext6-dbg \
libxfixes3-dbg libxft2-dbg libxi6-dbg libxinerama1-dbg libxmu6-dbg \
libxpm4-dbg libxrandr2-dbg libxrender1-dbg libxss1-dbg libxt6-dbg \
libxxf86vm1-dbg zlib1g-dbg libxcb-xfixes0-dbg libxcb1-dbg \
libxcomposite1-dbg libxcursor1-dbg python-matplotlib-dbg

バージョン管理ツールの導入

sudo apt-get install git rabbitvcs-nautilus rabbitvcs-gedit 

GitHubで公開されているFreeCADソースツリーのクローンを作る。

mkdir ~/FreeCAD
cd ~/FreeCAD
git clone https://github.com/FreeCAD/FreeCAD.git

ビルドディレクトリを作って、cmakeを実行する。

mkdir build
cd ~/FreeCAD/build
cmake -DCMAKE_BUILD_TYPE=Debug -DBUILD_FEM_NETGEN=ON ../FreeCAD/

あとはいつものようにmakeする。