見出し画像

Linux MintにopenFrameworksの環境を構築したときのメモ

普段は作品づくりをProcessingやp5.jsで行っていますが、速度を出したいときはopenFrameworks(以降oFと略します)にコードを移植したりしています。また、メインのマシンはWindowsなので比較的導入は簡単ですが、古いマシン(僕の場合はUnibodyのMacBookを入手しました)にLinux Mintをインストールして使っているので、それにoFの環境を構築してみました。少しハマったポイントがあったので備忘録として残します。

事前にoF公式サイトから、Linux用のパッケージをダウンロード

https://openframeworks.cc/ja/download/

1. 前提条件

Linux Mintは派生系のディストリビューションです。oFは公式サイトにてLinux版が配布されていますが、基本的にはDebian/Ubuntu/Fedoraにインストールするためのスクリプトが用意されています。Linux MintはUbuntuをベースにして開発されているので、どのUbuntuのバージョンかを事前に調べておく必要があります。

2. ディストリビューションのベースバージョンを調べる

ターミナル(端末)に以下のコマンドを入力することで、ベースになっているUbuntuのバージョンを知ることができます。

$ cat /etc/upstream-release/lsb-release 

出力結果

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu Jammy Jellyfish"

これにより、ベースのUbuntuバージョンについて知ることができました。
また、Ubuntuのリリースノートと照らし合わせると後の作業に役立つと思います。
https://wiki.ubuntu.com/Releases

3. 現在のディストリビューションのバージョン情報を書き換える

バージョン情報を一時的に書き換えることでoFのインストールが可能になります。
まず、現在の情報を確認します。

$ cat /etc/lsb-release 

出力結果

DISTRIB_ID=LinuxMint
DISTRIB_RELEASE=21.3
DISTRIB_CODENAME=virginia
DISTRIB_DESCRIPTION="Linux Mint 21.3 Virginia"

このように、Linux Mintの情報が表示されていますね。
次に、このファイルのバックアップを取っておきます。

$ sudo cp /etc/lsb-release /etc/lsb-release.bak

次に、2で調べたバージョン情報を/etc/lsb-releaseに書き換えます。

$ sudo vi /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.3 LTS"

4. oFのインストール

続いてoF本体のインストール作業を行います。
ダウンロードしたoFのディレクトリに移動し、インストールスクリプトを実行してください。

$ cd openframeworks/scripts/linux/ubuntu
$ sudo ./install_dependencies.sh

少し時間が掛かります。次に、必要なコーデックのインストールを行います。

$ sudo ./install_codecs.sh

完了したら、oF本体と、ProjectGeneratorのコンパイルを行います。

$ cd ..
$ sudo ./compileOF.sh 
$ sudo ./compilePG.sh 

時間が掛かるので気長に待ちましょう。
以上でoFのインストールが終わりました。なお、次のステップを必ず行うようにしてください。

5. バージョン情報をもとに戻す [重要]

3.で保存しておいたバックアップから、バージョン情報を初期値に戻します。

$ sudo cp /etc/lsb-release.bak /etc/lsb-release

念の為catコマンドで確認しておきましょう。
確認できたら、/etc/lsb-release.bakは削除して構いません。

$ sudo rm /etc/lsb-release.bak

6. サンプルを動かしてみる

oFにはたくさんのサンプルが用意されています。試しに、polygonExampleというサンプルをコンパイル・実行してみましょう。(コンパイルはmakeコマンドを使用します)

$ cd openframeworks/examples/graphics/polygonExample
$ make

コンパイルが終わったら実行。

$ make run

次のウィンドウが表示されるはずです。

polygonExampleの実行結果

7. ProjectGeneratorを使って新規プロジェクトを作成してみる

サンプルは動かせたので、新規プロジェクトを作成してみましょう。
ProjectGeneratorはコマンドライン版とGUI版が用意されていますが、GUI版が分かりやすいと思います。
ディレクトリに移動して、立ち上げてみましょう。

$ cd openframeworks/projectGenerator-linux64
$ ./projectGenerator

次のようなウィンドウが立ち上がるので、任意のProject nameを入力してGenerateボタンを押すと、コーディングに必要なファイルが生成されます。

ProjectGeneratorウィンドウ

あとは、openframeworks/apps/myApps/mySketch/src内のファイル、main.cpp 、ofApp.cpp、ofApp.hをお好みのテキストエディタで編集、6.の手順でビルドするフローで開発が可能になります。

なお、oFのドキュメントにはVS Codeでのセットアップ方法が記載されていますが、自分の環境ではうまくいきませんでした。VS Codeでもターミナル使えるからいいか、と考えていますがどうなんでしょうね。

参考:


この記事が気に入ったらサポートをしてみませんか?