MinGW (64bit) + MSYS 環境の構築 (2)


はじめに

前回の記事に続いて、64ビットバイナリを生成できる MinGW (SEH, posix-threads) 環境の構築について紹介します。前回は、Mingw-64 とMSYS をインストールするところまで記述しました。今回は、主に Qt5 のビルドを想定して、追加のツールをインストールしていきます。ディレクトリは、前回の記事で採用したものを使う前提で説明します。

Strawberry Perl のインストール

前回インストールした MSYS には、perl がインストールされています。

現在(2013年12月)、perl の最新バージョンは 5.18.x であり、MSYS の perl はかなり古いといわざるを得ません。実際、いくつかのビルドができない場合もありました。新しい perl を導入するには、Strawberry Perl for Windows をインストールするのが簡単で確実です。

  1. Strawberry Perl for Windows から、Recommended stable versions の 64bit 版をダウンロードしてインストールします。(インストール先は、デフォルトでC:strawberry)
  2. MSYS 環境の /etc/fstab (C:mingw64msysetc) に、以下を追加します。 このようにマウントしておくと、後でパスを設定する時に設定がしやすく、間違いもおきにくいのでお勧めします。
  3. /perl/bin を MSYS 環境のパスに加えます。この時、MSYS に含まれている perl.exe より先に見つかる必要があるので、/bin より前に加える必要があります。また、/perl/bin には、MinGW と共通の dll が含まれているため、/mingw/bin より前にパスがくると、MinGW のコンパイラが正しく動作しなくなります。つまり、/mingw/bin:/perl/bin:/bin のような順番にする必要があります。このように設定するには、/etc/profile (C:mingw64msysetcprofile) で設定するのが良いでしょう。19行目を以下のように修正します。
  4. PERL 環境変数を設定しておきます。~/.bashrc (C:mingw64msyshomeuser-name.bashrc) に以下を追加します。 configure スクリプトの中には、別の環境の perl を見つけてきてしまうようなケースがありますが、この環境変数でそれを回避できます。

バージョンを確認しておきます。

Python 2.7 のインストール

Perl と同様 Python も様々なスクリプトを記述するのに利用されています。最新の Python は 3系ですが、よく使われているのは 2系です。ここでは、2.7 をインストールします。

  1. ダウンロード から、python-2.7.6.amd64.msi をダウンロードしてインストールします。(デフォルトのインストール先は、C:Python27)
  2. Perl と同様の要領で、ディレクトリのマウントとパスの設定を行います。
    /etc/fstab /etc/profile
  3. バージョンを確認しておきます。

Ruby のインストール

Qt のビルドでは Ruby も必要となるので、インストールしておきます。

  1. Downloads から、Ruby 2.0.0-pxxx (x64) をダウンロードしてインストールします。(デフォルトのインストール先: c:Ruby200-x64)
  2. ディレクトリのマウントとパスの設定を行います。
    /etc/fstab /etc/profile
  3. バージョンを確認しておきます。

Yasm のビルドとインストール

Qt のビルドには、Yasm は必要ないのですが、Yasm を必要とするオープンソースは結構あります。ここでは、テストも兼ねて Yasm をビルドしてみます。

  1. msys.bat を起動してコマンドプロンプトを開きます。
  2. Git リポジトリからソースをクローンします。 msys.bat を –mintty オプション付で起動していると、ここでフリーズしてしまいます。msys.bat はオプション無しで起動してください。(フリーズした場合、タスクマネージャで ssh.exe を停止してください。)
  3. yasm のプロジェクトには、configure がありません。configure を作成するには、autoreconf を使います。その後、configure を実行します。
  4. make を実行し、インストールします。
    • configure に –prefix を指定しない場合のインストール先は、/usr/local です。MSYS 環境では、/usr は / と同じです。従って、/local (c:mingw64msyslocal) にインストールされます。
    • 外付けのマルチカードリーダをつないでいると、make の時点で「ディスクがありません」というポップアップウインドウが出る場合がありました。その場合はカードリーダをはずしておいてください。
    • 以下のエラーが出る場合は、Python が正しくインストールされていません。確認してください。

      make: *** No rule to make target x86insns.c', needed by all’. Stop.

gperf のビルドとインストール

Qt のビルドで gperf が必要となるので、ここでビルドしてみます。

  • 圧縮ファイルをダウンロードして展開します。wget が使えるのでダウンロードが楽です。
  • あとは、おきまりの手順でビルドとインストールを行います。
  • ここまでで、Qt5 のビルドをする環境が整いました。次回は、この環境を使って Qt5 をビルドする記事を書く予定です。

    [参考サイト]

    [関連記事]

    1. MinGW (64bit) + MSYS 環境の構築 (1) | DeVlog – 銀の翼で翔べ –
    2. MinGW64 環境の Git で文字化けを解消する | DeVlog – 銀の翼で翔べ –

    メールアドレスが公開されることはありません。