FLTKのインストール

FLTKのアプリケーションを開発するのに必要なものは、たいてい使用しているLinuxディストリビューションのパッケージマネージャーで簡単にインストールできます。 しかし、一つだけ考慮すべき点があります。 2025年5月時点では、FLTK 1.4が最新の安定バージョンで、リリースされてから半年ほど経過しています。 まだ過渡期にあり、ほとんどのLinuxディストリビューションがFLTK 1.3のみしか提供していません1)。 したがって、FLTK 1.4をソースからビルドして利用するか、パッケージマネージャで簡単にインストールできるFLTK 1.3を利用するかを判断しなければなりません。

まず、FLTKのバージョンについて軽く確認しておくことにします。

FLTKのバージョン

FLTK 1.5.x: 次期バージョンであり、現在進行中で活発に開発が行われています。 まだ正式なリリースはされていません。 今の段階で採用するのは時期尚早です。

FLTK 1.4.x: 現時点で最新の安定バージョンです。 2024年11月に1.4.0が正式にリリースされました。 公式にもこのバージョンを採用することが推奨されています。

FLTK 1.3.x: 一つ前の安定バージョンです。 長い間最新の安定バージョンの座に君臨していたため、まだ最も広く使われています。 多くのLinuxディストリビューションのパッケージマネージャーが提供するのもこのバージョンです。 今後、機能追加のアップデートは行われず、バグ修正のアップデートのみ継続して提供されます。

FLTK 1.1.xとFLTK 1.0.x: 更に前の安定バージョンです。 すでに開発は完全に終了していて、どのようなアップデートも提供されません。 今から採用するべきではありません。

その他: FLTK 1.2は正式にリリースされることはありませんでした。 過去にAPIを刷新したFLTK 2及びFLTK 3の開発が試みられたこともありましたが、もはや継続されていません。

参考: Article #825: What are the Versions of FLTK?

FLTK 1.3と1.4のどちらを使うか

FLTK 1.3を使うかFLTK 1.4を使うかは悩ましい問題です。 Linuxディストリビューションのパッケージマネージャーでインストールできる1.3は、1.4をソースからシステムにインストールすると、共存できるようにはなっていません。 何も考えずに両方ともシステムにインストールしてしまうと、後々問題が発生する可能性は極めて高いです。 もちろん、ソースからビルドするのであれば細かな調整できるので、工夫すれば共存することもできます。

このチュートリアルではFLTK 1.4を使用します。 そして、学習と実験のためと割り切って、ディストリビューションのパッケージシステムに影響を及ぼさないように暫定的な方法を取ります。 FLTK 1.4をソースからビルドして、システム全体のディレクトリにインストールするのではなく、ユーザーのホームディレクトリ以下にインストールします。 FLTK 1.4を利用するプログラムは、ビルド時に明示的にそのホームディレトリ以下のパスを指定するようにします。

近いうちにほとんどのLinuxディストリビューションがFLTK 1.4の提供を始めることが期待されます。 そのときには迷うことなくFLTK 1.4を利用すれば良いでしょう。

FLTK 1.4のビルド・インストール手順

やらないといけないことは以下のとおりです。

  1. FLTK 1.4.3のソースコードの入手 (2025年5月時点で最新版)
  2. ソースアーカイブの展開
  3. CMakeコンフィギュレーションの実行
  4. ビルド実行
  5. インストール実行
  6. サンプルプログラムを書いて実行できることを確認

あまりに長くなるのを避けるために、サンプルプログラムの実行は次回に回すことにします。

ここで紹介するインストール手順はあくまで一例に過ぎません。 ただし、以降のチュートリアルを通してこの方法でインストールされたことを前提としています。 別の方法でインストールした場合は、適宜読み替えてください。

ソースコードの入手

ソースコードはFLTKのホームページからダウンロードできます。 2)

このページに fltk-1.4.3-source.tar.gz というファイルへのリンクがあるので、それをダウンロードします。

FLTK 1.4.3 download page

ソースアーカイブの展開

ダウンロードしたファイルのフォルダを開きます。 ファイル fltk-1.4.3-source.tar.gz が存在していることを確認してください。 FirefoxなどのWebブラウザでダウンロードしたなら $HOME/ダウンロード に保存されています。 ファイルをダブルクリックするなどして展開することもできますが、ここではターミナルからコマンドラインで展開する方法をとります。

$ cd ~/ダウンロード
$ tar xzfv fltk-1.4.3-source.tar.gz

fltk-1.4.3というディレクトリができていることを確認します。

$ ls -l
合計 9068
drwxr-xr-x 22 freemikan freemikan    4096  4月 29 21:59 fltk-1.4.3
-rw-rw-r--  1 freemikan freemikan 9279104  5月 22 21:10 fltk-1.4.3-source.tar.gz

このディレクトリを適当な場所に配置しておきましょう。

$ mkdir -p ~/code/external
$ mv fltk-1.4.3 ~/code/external

CMakeコンフィギュレーションの実行

FLTKのソースには伝統的なconfigureスクリプトも提供されているのですが、同時にCMakeファイルも提供されています。 このチュートリアルではCMakeを利用します。 もしCMakeがシステムにインストールされていない場合はインストールします。

$ sudo apt install cmake

まず、先程展開したFLTKのソースディレクトリに移動します。

$ cd ~/code/external/fltk-1.4.3

ビルドディレクトを作成し、その中に移動します。

$ mkdir build
$ cd build

CMakeコンフィグレーションを実行します。 ここで重要な点は、インストール先のパスをデフォルトの/usr/localから変更することです。 システム全体で有効にはしたくないので、ホームディレクトリ以下の適当な場所にインストールします。 このチュートリアルでは目立たせるためにMikanBoxという少々ふざけた名前をつけます。 この名前は真似する必要はまったくありません。 ご自身の好みに合わせて適切な名前をつけてください。

CMakeにインストール先のパスを変更するように指定するには、CMAKE_INSTALL_PREFIXという変数にパスをセットします。

$ cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/MikanBox

参考までに上記コマンドを実行したときの完全な出力をこちらに掲載しておきます。

ビルド実行

次のコマンドでビルドを実行します。

$ cmake --build . -j8

「-j8」は並列コンパイルを指示するものです。 CPUのコア数によってはかなりの高速化が見込めます。 実際のCPUのコア数に合わせて8を適当な数にしてください。 どのような数を指定するにせよ、よほど古いマシンでない限りはさほど時間がかからずビルドは完了します。

インストール実行

インストールを実行する前に、正しくCMAKE_INSTALL_PREFIXで指定したパスが反映されているか、確認しておきます。

$ sh bin/fltk-config --prefix
/home/freemikan/MikanBox

もし期待通りの結果でなかった場合、一度踏みとどまって、CMakeコンフィギュレーションのステップを見直してください。

問題なければインストールを実行します。

$ cmake --install .

これで完了です。 $HOME/MikanBox/binにはFLTKで作られたサンプルゲームもインストールされます。

$ ls  -l ~/MikanBox/bin
合計 15280
-rwxr-xr-x 1 freemikan freemikan 1987016  5月 22 21:32 blocks
-rwxr-xr-x 1 freemikan freemikan 2401488  5月 22 21:32 checkers
-rwxr-xr-x 1 freemikan freemikan   11911  5月 22 21:29 fltk-config
-rwxr-xr-x 1 freemikan freemikan 1707680  5月 22 21:32 fltk-options
-rwxr-xr-x 1 freemikan freemikan 4452944  5月 22 21:32 fluid
-rwxr-xr-x 1 freemikan freemikan 2153656  5月 22 21:32 glpuzzle
-rwxr-xr-x 1 freemikan freemikan 2920048  5月 22 21:32 sudoku

確認のため一度実行しておくと良いでしょう。

$ ~/MikanBox/bin/blocks
Figure 1: サンプルゲームをプレイ中の画面

なかなか面白いゲームです。

2)
GitHubでホスティングされているのGitリポジトリを利用しても構いません。その場合、release-1.4.3のタグにチェックアウトします。
文書の編集
文書の先頭へ