Windows 10でPharo-vmをビルドする(前編)

レポジトリには簡単にできそうに書いてあったけど、ビルドできるようにするまで大変だったので備忘としてメモ。

ポイントはcmakeのバージョンをできるだけ下げること。執筆時点でCygwinにインストールされるのは 3.23.2-1 だったけど、これでは不可解なエラーが発生して cmake が失敗する。

先のレポジトリでは最低でも3.7.2と書いてあったので、選択できる一番古いバージョン(3.17.3-2)に戻したら cmake が成功するようになった。

あと、Windowsの項目では「cmake .」するように書かれているけど、Linux/Mac OSと同じように親ディレクトリから「cmake -S pharo-vm -B build」した方が、いろいろ試しやすくてよかった。

レポジトリにある便利スクリプト(scripts\installCygwin.ps1)は必要なパッケージを自動的にインストールしてくれる。実際にはそれだけでは足りずエラーになった。ビルドには更に以下のパッケージが必要だった。(どうせsetupしなおすんだったら、スクリプトに書いてあるパッケージも含めて手動で入れた方が楽かも)

libssl-devel
libgit2-devel
libz4-devel

パッケージを追加するたびにCygwinのsetupが cmake を最新版にしようとするので、かならず Keep を選んでおくこと。

さて、buildディレクトリでmakeすると途中でエラーになる。freetype ライブラリをリンクする際に-lz が見つからないようだ。cmake のスクリプトを書き換えれば良いのだろうが場所が特定できなかった。(後でやる)

とりあえず build/freetype-build/CMakeFiles/freetype.dir/link.txt を直接編集して、-lz の前に -L/usr/lib を追記したら最後までビルドできた。

cmake は難しい。