WindowsでBlenderをソースコードからビルドする。(公式サイト手順)
公式サイトの手順に従ってBlenderをビルドしました。(2020/03/06)
そのとき成功した記録をここに残しておきます。
注意
時間がかかります(数時間)。公式サイトの記載に沿って実行しただけです。ライブラリのダウンロード時(svnのチェックアウト時)svnのエラーが発生しました。
svn: E120106: ra_serf: The server sent a truncated HTTP response body.
svn: E730054: Error running context: 既存の接続はリモート ホストに強制的に切断されました。
この対処法の一つはすべてのライブラリがダウンロードされるまで、ライブラリのフォルダ(C:\blender-git\lib\win64_vc15)で、
svn cleanup
svn update
を繰り返すことです。もし、同じ症状に悩まされた方がいらっしゃいましたら、お試しください。
開発ツールのインストール
昔、Blenderをビルドしようとして、これらをインストールしていました。ですのでここの詳しい説明はしません。
Visual Studio 2019 Community Editionを無料でインストールします。"Desktop Development with C++"のワークロードをインストールするそうです。マイクロソフトの開発環境です。blenderはソースコードの肝となる部分がc/c++で書かれています。
Subversion for Windows (SlikSVN)をインストールします。Subversionというのは集中型のバージョン管理システムのことだそうです。
Git for Windowsをインストールします。GitはSubversionより新しい分散型のバージョン管理システムだそうです。インストーラーで"add Git to your PATH"のオプションがあるそうなのでチェックをいれます。これは環境変数に登録することで、コマンドプロンプトなどから起動するときに"git"だけで起動できるようにするためです。
CMakeをインストールします。CMakeはビルドを自動化してくれるそうです。これもインストーラーで"Add Cmake to the system PATH for all users"とあるのでチェックを入れます。これも環境変数に登録しています。
環境変数に追加されていれば、コマンドプロンプトから、
svn --version
git --version
cmake --version
と、入力すればバージョン情報が出てくるはずです。コマンドが登録されていない場合はそれぞれ、svn.exe, git.exe, cmake.exeの存在するフォルダのパスを環境変数に追加します。
コマンドプロンプトの開始
"Windowsキー+R"を押した後、"cmd.exe"と入力してコマンドプロンプトを起動します。
(Windowsキーを押して、スタートメニューの一覧から「Windows システム ツール」の中に「コマンドプロンプト」があります。また、Windowsキーを押して、"コマンドプロンプト"と検索すれば結果として表示されるので、これも簡単だと思います。)
Powershellではなく、コマンドプロンプトが推奨されているので、コマンドプロンプトを使います。
Blender のソースコードのダウンロード
Gitの用語でCloneといいます。オリジナルのクローンを生成するイメージでしょうか。その前に、フォルダ(directory)を作成します。公式サイトでは、Cドライブ(C:\)の下に"blender-git"とあるので、それに従います。
mkdir C:\blender-git
cd C:\blender-git
git clone git://git.blender.org/blender.git
mkdir : make directory
cd (chdirでも可) : change directory
blender-gitフォルダ内にblenderフォルダが作成されます。
ダウンロードは数KiB/sしか出ず、40分ほどかかりました。KibiByte(キビバイト) は1024bitのことだそうです。
(Blenderのウェブサイトがダウンしたとき、公式のTwitterアカウント@blender_orgからツイートがありました。githubにも公式のミラーがあるそうです。)
Blender のライブラリのダウンロード
cd C:\blender-git\blender
make update
blender内に移動し、"make update"と入力します。
The required external libraries in "C:\blender-git\blender\..\lib\win64_vc15" are missing
Would you like to download them? (y/n)
ライブラリが見つからないのでダウンロードしますか?と聞かれるので、"y"を入力すると、ダウンロードが始まります。
ライブラリは数GBあり、ダウンロードには時間がかかるそうです。実際、私の環境では、blender-git\libフォルダのサイズは7.78GBでした。エラーが出て調べていたり、退席していた時間もありましたが、うまくいっても2,3時間はかかったのではないでしょうか。
また、このmake updateでsvn checkout が自動的に行われます。svn checkoutはgit cloneのようなものだそうです。(ちょっと違うかもしれません。)事前コンパイルされた64-bitライブラリを https://svn.blender.org/svnroot/bf-blender/trunk/lib/win64_vc15 から、ダウンロードしています。
(GNUmakefileを見ると、make updateで何が行われるか確認出来ます、どうやら"C:\blender-git\blender\build_files\utils\make_update.py"が実行されているらしく、そこでは"C:\blender-git\blender\build_files\utils\make_utils.py"がimportされていました。ライブラリのURLやsvn checkoutなどの文字列が見え、このあたりに実際の処理が書かれているようです。今回は深く踏み込みません。)
このsvn checkout中にエラーが発生しました。まず、
svn: E120106: ra_serf: The server sent a truncated HTTP response body.
Error during download, retry? y/n
このようなエラーが発生したためretryするために、"y"を入力しました。これが3回続いたので、あきらめて、"n"を押しました。すると、
Error: Download of external libraries failed.
This is needed for building, please manually run 'svn cleanup' and 'svn update' in
"C:\blender-git\blender\..\lib\win64_vc15" , until this is resolved you CANNOT make a successful blender build
外部ライブラリのダウンロードに失敗しました。ビルドが成功するまで、"C:\blender-git\blender\..\lib\win64_vc15"で"svn cleanup"と"svn update"を実行してください。とあるので、言われた通り、コマンドを実行しました。
cd C:\blender-git\blender\..\lib\win64_vc15
svn cleanup
svn update
同じエラーや別のエラーE730054が何度も出たので、これを繰り返しました。
svn: E730054: Error running context: 既存の接続はリモート ホストに強制的に切断されました。
最終的に
リビジョン 62391 に更新しました。
となったため、もう一度、
cd C:\blender-git\blender
make update
を行うと、最終的に出力が、
Already up to date.
Current branch master is up to date.
となり、updateが完了しました。
Blender のコンパイル
cd C:\blender-git\blender
make
Visual Studio でコンパイルが始まります。30分ほどかかりました。最終的に実行ファイルは以下のフォルダ(Visual Studio 2019を使用したのでvc16となっています。)に格納されます。blender.exeを実行すると、最新のblenderが起動します。
C:\blender-git\build_windows_x64_vc16_Release\bin\Release\blender.exe
以上です。お疲れさまでした。
この記事が気に入ったらサポートをしてみませんか?