輕鬆編譯 Blender 2.6 於 Fedora 64 位元平臺

基本上,照著 http://wiki.blender.org/index.php/Dev:2.5/Doc/Building_Blender/Linux/Fedora/Scons 的指示基本上就可以完成。

2012/12/22 根據 wiki 更新以下內容。

下載源碼與滿足相依關係


新的源碼中加入了一個指令稿,可以自動為 Deb 系與 RPM 系安裝相關軟體包並建置 blender,接著將所需相關軟體安裝至 /opt 資料夾下,如此大幅簡化建置與安裝相關步驟。

手動滿足軟體包相依性

但如果你還是偏好手動安裝的話你可以這樣做先滿足相依關係。
sudo yum install gcc-c++ subversion libpng-devel libjpeg-devel openjpeg openjpeg-devel libXi-devel openexr-devel openal-soft-devel freealut-devel SDL-devel fftw-devel libtiff-devel lame-libs freetype-devel jack-audio-connection-kit-devel ffmpeg-libs ffmpeg-devel xvidcore-devel libogg-devel faac-devel faad2-devel x264-devel libvorbis-devel libtheora-devel lame-devel libspnav-devel

sudo yum install python3 python3-devel python3-libs

下載 blender 源碼

mkdir svn
cd svn


svn co https://svn.blender.org/svnroot/bf-blender/trunk/blender

自動滿足軟體包相依性並建置 (建議)

cd ~/svn/blender/build_files/build_environment/install_deps.sh

接著依照指示輸入 sudo 密碼即可開始必要軟體下載、blender 所需相依軟體包之建置。

最後你會看到這段訊息:
If you're using SCons add this to your user-config:
BF_PYTHON = '/opt/lib/python-3.3'
BF_PYTHON_ABI_FLAGS = 'm'
BF_OIIO = '/opt/lib/oiio'
BF_BOOST = '/opt/lib/boost'
WITH_BF_BOOST = True
BF_FFMPEG = '/opt/lib/ffmpeg'
BF_FFMPEG_LIB = 'avformat avcodec swscale avutil avdevice theora theoradec theoraenc vorbis vorbisenc vorbisfile x264 openjpeg'

由於我們打算以 SCons 來建置 blender,因此需要在源碼下載的根資料夾中設定 user-config.py 。

請在 ~/svn/blender 資料夾中手動建立個 user-config.py 檔,內容為上述訊息中冒號起的所有文字。

如果建置過程中,該指令稿有為您建置 boost lib。那麼請切換為 root 身份,並執行:
echo "/opt/lib/boost/lib" > /etc/ld.so.conf.d/boost.conf
ldconfig

接著就可以開始建置 blender 了。

PS1. libspnav-devel 軟體包未列明在安裝指令稿中,還需自行補安裝。
sudo yum install libspnav-devel

PS2. 切換為 root user,並執行:
cd /usr/include
ln -s ffmpeg/* .

建置 Blender 與執行

cd blender
python scons/scons.py -j 2

cd ~/svn/blender
ln -s ../install/linux2/blender ./blender

./blender


註:下列描述可能已經年代久遠,如果建置時沒有遇到問題,代表你不需要做下述修改。

不過,Fedora 的 gettextlib 命名上有個問題會讓編譯過程找不到,錯誤訊息為:
cannot find -lgettextlib

因此需要編輯這個檔案: where/to/blender/build_files/scons/config/linux-config.py

找到這一段,編輯成下列這樣

BF_GETTEXT = '/usr'
BF_GETTEXT_INC = '${BF_GETTEXT}/include'
BF_GETTEXT_LIB = 'libgettextlib-0.18.1'
BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib64'
#WITH_BF_GETTEXT_STATIC = True
#BF_GETTEXT_LIB_STATIC = '${BF_GETTEXT}/lib/libgettextlib.a'

其中 BF_GETTEXT_LIB 與 BF_GETTEXT_LIBPATH 這兩項是修改的地方。

接著編譯就完成了!

這樣就能一邊翻譯,一邊做出最新的 mo 檔丟進去界面操作看看!太棒了!

有興趣測試看看的人也可以跟我要測試用的 mo 檔,再回報給我翻譯上的建議。


======翻譯的代碼庫存取法=======

mkdir svn
cd svn
mkdir bf-translations
cd bf-translations
svn co https://svn.blender.org/svnroot/bf-translations/trunk

svn up

留言

這個網誌中的熱門文章

論 Render 翻譯(算繪/演繹)

poedit 基本使用教學與 po 檔概念

論 Package 翻譯,套件與軟體包