2017/04/24

Fedora26でSuperColliderをコンパイル

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

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

dnf installで以下のパッケージを入れます。

- 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 qt5-devel
- readline readline-devel
- systemd-devel (libudev)

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

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

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

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

--

以下の問題は修正されたようです。どうしても古いバージョンをコンパイルする必要がなければ無視してください。

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

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

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