libsdl@1.2.15_3
) のヘッダファイルをインクルードしていたのでは(おそらく)だめで、 Dosbox-X のソースコードについてきたSDLのソースコードが要るようだ、というところまでは理解した。ただし単純にそのヘッダファイルをインクルードしただけでは最後のところで失敗する。この理由は未定義のシンボル(識別子、変数とか関数)を参照しているというもので、参照されるべき関数 LinuxX11_KeySymName
がコンパイルされていないようだ。参照されるべき関数 LinuxX11_KeySymName
を含むソースファイル src/gui/sdlmain_linux.cpp
全体ではちゃんとコンパイルされているが定義されたシンボルを全く含まないのだそうで、つまり関数の定義部分がコンパイルを通ってないということか。はあ?という感じやな。Dosbox-X をビルドする際の
./configure
オプションでは SDL がインストールされた場所を指定できるものがあって、おそらくこの変更されたヘッダファイルを指定するにはそれを用いて Dosbox-X 内 SDL をビルドした後に指定すればいいのだろうか。そこで別途自力でSDLをビルドしようとしたのだけど、これはこれで失敗した。どうも SDL-1.2.15 リリース以降に発見されたバグ があってそれが悪さをしている。1.2.16はまだ出てないので、すくなくともSDLをビルドするには1.2.15に手動でパッチ当てんとならんというところまでは理解した。
ということで、Dosbox-Xのビルドのためにまず付属のSDL-1.2.15にパッチを当てるところからやりましょうという話になりそうだ。とはいえ bugzilla への報告がまるまる5年前なので、それ以降のアップデートがないところを見ると今後も1.2.16がリリースされる期待はせんほうがいいのかしらね。
(※追記) ここで書いたことは嘘です。とりあえずビルドはできた。
0 件のコメント:
コメントを投稿