SubversionをmacOSでビルドする
ひとまず、Subversionをビルドできたので備忘までに記しておく。
そもそも、SubversionをビルドすることになったのはBlenderのソースコードを久しぶりに見ようとして、コードを最新にするための make update
を実行したことだ。コマンドの実行結果にSubversionがないと出た。インストールしようとSubversionのページをみたがSubversionプロジェクトが直接バイナリパッケージを配布している様な記述は見当たらなかった。
|
|
手元のMacはApple siliconだが、この端末は以前に壊れたので工場に修理に出した。そこで真っ新な状態になって戻ってきたのでSubversionがない。Blenderのビルドは端末が戻って来てからは一度もしていない。
そこで念の為に公式ページを見てBlenderの開発環境セットアップ手順を確認した。以前と変わらずSubversion, CMakeが必要と記載があった。macOSでソフトウェア開発をする場合はHomebrewを使う人がほとんどだろうから、それを前提にしたのか、そのようなセットアップ手順が載っていた。
私は趣味でいじっているのでHomebrewやMacPortsを使わないでやりたい。そこでソースコードから自力でビルドだ。まずはSubversionと依存関係にあるライブラリを調べた。その結果、以下の通りだった。
Subversionと依存関係にあるライブラリ
- Apache Portable Runtime
- Apache Portable Runtime Utility
- OpenSSL
- Apache Serf (HTTPクライアントライブラリ)
Apache Portable Runtime
Apache Portable RuntimeはAPRと略されるのだが、コードは以下のものを使う。ただ、このままビルドするとエラーが起きる。
そこで修正パッチがHomebrewのformula-patchesにあるのでそれを適用する。(Homebrewのパッチを使うならHomebrewでインストールすればいいのだが、まぁちょっとしたゲームの制限プレイということでこのまま進める)
|
|
インストールしたらコマンド apr-1-config
ヘルプを表示して実行権限があることを確認する。
|
|
ライブラリ libapr-1.dylib
もインストールされている。configureする際にprefixを$HOME/devに指定したので ~dev/lib
にあることも確認する。
Apache Portable Runtime Utility
Apache Portable Runtime Utilityをインストールする。
https://archive.apache.org/dist/apr/apr-util-1.6.1.tar.gz
|
|
make install
後に以下のファイルの存在を確認する。
-
~/dev/bin/apu-1-config
apu-1-config --help
を実行できることも確認する。
- ~/dev/lib/libaprutil-1.dylib
OpenSSL
macOS 12.5で標準搭載のOpenSSLは以下のものだ。
|
|
Apache SerfがOpenSSL 1.1系を必要とするのでビルドする。
https://www.openssl.org から openssl-1.1.1q.tar.gz をダウンロードする。
そのままビルドすると test/v3ext.c
で #include <string.h>
がされていないためにエラーが発生する。
test/v3ext.c
を開いて #include <string.h>
を追記する。その修正をしたら以下のコマンドでビルドしてインストールする。
|
|
HTTPS通信をする際にOpenSSLを使うので、どこかにルート証明書が必要になる。今回は既存の /etc/ssl/cert.pem
を使う。 /etc/ssl/cert.pem
をQuick Lookすると通称を Autoridad de Certificacion Firmaprofesional CIF A62634068
と確認できる。これをキーチェーンアクセスで確認するとルート認証局であり、また有効な状態であるとわかる。
そこで /etc/ssl/cert.pem
のシンボリックリンクを OpenSSLdir (本記事では /dev/etc/openssl/cert.pem
) に作成する。
|
|
Apache Serf
Apache Serf
https://www.apache.org/dist/serf/serf-1.3.9.tar.bz2
Apache Serfをビルドする前に以下の下準備が必要だ。
- Python3 (Xcode同梱のパッケージ)のシンボリックリンクを貼る
- scons-local Packageをインストールする。
- Apache Serfのコードを修正する
まず、Python3だがこれはXcodeに同梱されているパッケージを使う。シンボリックリンクを貼る。もちろんPython3の環境を別に用意してあるのならばこれに限らない。
|
|
次に scons-local Package
をダウンロードする。それを ~/dev/bin に展開する。
http://prdownloads.sourceforge.net/scons/scons-local-4.3.0.tar.gz
|
|
次にApache Serfのコード SConstruct
を修正する。
|
|
下準備ができたらApache Surfのビルドに移る。
|
|
~/dev/lib/libserf-1.dylib
が存在することを確認する。
Subversion
さて、ここまできてようやくSubversionのインストールに移れる。
Subversion
https://archive.apache.org/dist/subversion/subversion-1.14.2.tar.bz2
ビルド手順は以下の通り。
|
|
以上でSubversionのインストールが完了する。あとはmake updateを実行してBlenderのソースコードを最新にすれば終了だ。