Linux での ReactOS のビルド 2019-06-21 (金) 01:20:00+09:00

メモ

まず、Build Environment`ReactOS Build Environment for Unix-compatible Operating Systems Version 2.1.2' から RosBE をダウンロードし中身を展開する。

RosBE-Unix-2.1.2/sources/make.tar.bz2 アーカイブの中にある configure を編集し、

# if _GNU_GLOB_INTERFACE_VERSION == GLOB_INTERFACE_VERSION

を、

# if _GNU_GLOB_INTERFACE_VERSION >= GLOB_INTERFACE_VERSION

と変更し、アーカイブの中身を更新してから、

$ cd RosBE-Unix-2.1.2

$ ./RosBE-Builder.sh

として、表示に従い RosBE のインストール先を指定し RosBE をインストールする( configure の編集をしないまま RosBE-Builder.sh を実行すると alloca の未定義参照のエラーで RosBE のソースのコンパイルに失敗する。(※1))。デフォルトでは /usr/local/RosBE にインストールされるので、その場合は前もって su で root 権限をもたせておく。

次に、

git clone https://github.com/reactos/reactos.git

を実行し、reactos のソース環境をクローンする。

それから、

$ cd RosBE

$ ./RosBE.sh

のようにして RosBE のシェルに入り、

$ cd reactos

$ ./configure.sh

とすることで reactos/output-MinGW-i386/ 以下が作成される。

この後、

$ cd output-MinGW-i386

で reactos/output-MinGW-i386 の中に移動するが、そのまま ninja bootcd を実行したのでは、 gcc がコンパイル中にプリコンパイルヘッダのエラーが起きビルドが通らない(※2, ※3)ので、 reactos/output-MinGW-i386/CMakeCache.txt を編集し、

PCH:BOOL=1

を、

PCH:BOOL=0

のように変更してから、

$ ninja bootcd

とすることで ReactOS のブートCDが作成される。


※1:Install older version of gnu-make in Ubuntu 18.04

※2:RosBE problems

※3:Cannot build on Debian Stretch amd64

キーワード: RosBE ReactOS