2017/04/24

Fedora26でSuperCollider3.8をコンパイル

SuperColliderは音の合成やアルゴリズムによる作曲に使われるソフトウェアです。
Fedora25以降はCCRMAのリポジトリが無くなったのでソースコードからコンパイルしてインストールすることにしました。

基本はソースコードに同梱されているインストール方法に従えばいいのですが、ところどころ引っかかる部分があったのでまとめました。

dnf installで以下のパッケージを入れます。qt5は面倒だったのでまとめて入れました。

- alsa-lib-devel
- avahi-devel
- cmake
- fftw fftw-devel
- gcc gcc-c++
- jack-audio-connection-kit jack-audio-connection-kit-devel
- libatomic
- libsndfile libsndfile-devel
- libXt libXt-devel
- qt5*
- readline readline-devel
- systemd-devel (libudev)

SuperColliderのソースコードをダウンロードして tar -xf で解凍します。解凍先のディレクトリを SuperCollider/ とします。

Fedora26でmakeするとコンパイルエラーがでるのでコードを修正します。Fedora25ではコードを変えなくてもコンパイルが通りました。

SuperCollider/server/plugins/DiskIO_UGens.cpp
- #include <functional> を追加。
- 190行あたりの bind(...) となっている部分を std::bind(...) に変更。

SuperCollider/lang/LangPrimSource/PyrSerialPrim.cpp
- #include <functional> を追加。

ビルドします。SuperCollider/ 内で以下のコマンドを入力します。cmake の最後についている .. に注意してください。

$ mkdir build
$ cd build
$ cmake -DCMAKE_BUILD_TYPE=Release ..
$ make
$ sudo make install

開発版をコンパイルする場合は mkdir の前に git submodule init && git submodule update を行います。