Ubuntu における構築と設置

szmCt 説明書 | | | 目次/総目次 | 連絡先

2025-04-04 における Ubuntu Desktop 24.04.2 LTS 上でのビルド方法は次の通りです。
本稿の検証では Windows 用の Oracle VirtualBox 7.16.r167084(Qt6.5.3)用の仮想マシンにインストールしたものに依ります。

Ubuntu は 24.04 LTS から日本語 Remix が提供されなくなったため、Ubuntu 系統なら Linux Mint の方が使いやすい可能性があります。
参考: Ubuntu 24.04 LTSの日本語Remixについて
参考: 【Ubuntu24.04】インストール(2):日本語環境のインストール

openMSX 本体の入手について

Ubuntu ではアプリセンターで openMSX を検索すると、フィルターに Debian パッケージを指定したときに 以前の openMSX catapult を含む形で openMSX 本体を入手できます。

あえてソースコードからビルドする場合は下記の説明に加えて sudo apt-get install libsdl2-dev libsdl2-ttf-dev tcl-dev libglew-dev があれば動作可能なものはビルドできると思います(このままだと ogg, theora, vorbis が無効のまま、Laserdisc: no のままです)。

必要なものを入手

コンパイラや開発用ライブラリの入手

端末から次のコマンドを入力してください。sudo を使うのでパスワードの入力を求められます。

sudo apt-get install build-essential libgtk-3-dev gettext libwebkit2gtk-4.1-dev

CMake

CMake は前述のアプリセンターから検索すれば CMake が見つかります。それをインストールしてください。

wxWidgets

Python3 や gettext 道具集合と同じく、改めて wxWidgets を入手する必要はありません。ただし szmCt は別の所に置いた wxWidgets を参照する方法を用意しています。そちらをご利用の場合のみご準備ください。

作業フォルダの作成

CMake を使った作業には、次の二つの特徴があります。

  1. 絶対パスで管理 = フォルダの名前を変えたら、それが親でも子でも作業はやり直しになります。
  2. 出力フォルダをソースフォルダから分離 = ソースフォルダの中には途中成果物も出力しません。

幸い本作を最初から build し直してもそれほど時間はかかりません。ですが余分な手間をなくすため、極力フォルダ名などは操作しなくていいように作業を進めてください。

親フォルダ

すべてを収める作業フォルダを先に作ります。各種ツールの動作を阻害しない場所ならどこでも問題はないでしょうが、空白文字の入ったパスは避けた方がよいかもしれません。
以後、新しく作ったこのフォルダを %作業フォルダ% と記します。適宜読み替えてください。

%作業フォルダ% の中に、以後の作業を通して次のフォルダを作ります。読み進めてください。

  1. szmCt_src
  2. szmCt_bin

ソースファイルの展開と空フォルダの用意

本書を含む本作 szmCt のフォルダ全体を %作業フォルダ%/szmCt_src複製してください(移動だと今お読みになっている分が移動できないので)。

次に新しい空のフォルダ %作業フォルダ%/szmCt_bin を作ってください。作らなくても後続の作業で cmake-gui が作ってくれますが、どちらにせよ szmCt_bin の部分は自分で入力することになります。

CMake 上の作業

次は CMake (cmake-gui) で szmCt_bin の中身を作る作業です。もちろんコマンドライン版 cmake で同じ結果となる操作を行っても構いません。

外部の wxWidgets を使う場合は先に注意点をご確認ください。

一回目の Configure

"Where is the source code:" の右欄に %作業フォルダ%/szmCt_src 、"Where to build the binaries:" の右欄に %作業フォルダ%/szmCt_bin を指定してください。

次に下の方にある Configure ボタンを一回動作させてください。"Specify the generator for this project" というダイアログが出てきます。上から "Unix Makefiles"、"Use default native compilers" という選択にして Finish ボタンを動作させてください。

しばらく待った後、その上の欄に赤項目が(そこそこ多めに)出てきます。

Libnotify は使わないので警告は無視して構いません。

赤項目の編集

szmCt 内蔵の wxWidgets をそのまま使う場合は cmake-gui 上で設定を変える必要はありません。次に進んでください。そうでない場合は前述の外部の wxWidgets を使う場合の内容に従ってください。

二回目の Configure 以降

再度 Configure ボタンを動作させると(問題がない限り)赤項目はすべて解消されます。続いて隣の Generate ボタンを一回。以後はターミナルからの作業となります。

ターミナルからの作業

構築

cd%作業フォルダ%/szmCt_bin に移動し cmake --build . -j2 でビルドできるようになります。 -j の後の数字は CPU のコア数に合わせるとよいでしょう。

ビルドが終わった時点で %作業フォルダ%/szmCt_bin/szmCt に実行ファイルができますので ./szmCt で起動できます。

設置と撤去

どのフォルダにいるときでも szmCt を起動できるようにするためには設置が必要です。

ビルド後に sudo cmake --install . または sudo make install で設置もできます(前者の方法のみ末尾にピリオドがあることに注意)。なお cmake としては設置したものの撤去はあまり考えていないそうで、撤去するには構築時にできた %作業フォルダ%/szmCt_bin/install_manifest.txt の存在を前提に sudo make uninstall を実行するという手段をとります。

sudo cmake --uninstall . というコマンドは使えません。また、上記の撤去手段も CMakeFiles.txt に一定の記載をすることで成り立っています。
参考: CMake / Community / Wiki / FAQ / Can I do "make uninstall" with CMake?