bashの更新
MSYSのCurrent(現行バージョン:MSYS-1.0.11)に含まれるbashはバージョン2.04であり、非常に古い。なんと1999年、今から9年前のコピーライト表記だ。
$ sh --version GNU bash, version 2.04.0(1)-release (i686-pc-msys) Copyright 1999 Free Software Foundation, Inc.
最近ではこのせいでconfigureに失敗する物が出てきている。Technology Previewという形でbash3.1が利用出来るので差し替えよう。2008/04/03追記:なお、ネットには2.05あたりのMinGW用bashが転がっていたりするが、これも問題を起こす場合があるので猫科研究所では採用しない。
MinGWのリリースページのTechnology Preview: MSYS-1.0.11からbash-3.1-MSYS-1.0.11-1.tar.bz2を取得し、展開しよう。
$ tar xfvj bash-3.1-MSYS-1.0.11-1.tar.bz2
ここで、MSYSのターミナル(コマンドプロンプト)自体が使用しているsh.exeを置き換えるため、MSYSのターミナルは閉じる。
Windowsのエクスプローラなどで、MSYSのbinディレクトリ(標準ではC:\msys\1.0\bin)にあるsh.exeをsh_old.exe等と適当にリネームする。その上で上記の展開したディレクトリを丸ごとMSYSのディレクトリに合わせて(binがbinに上書きされるように)上書きする。
これでsh.exeが更新され、ついでにbash.exeの名前でもインストールされる。MSYSを再度起動し、確認してみよう。
$ sh --version GNU bash, version 3.1.0(1)-release (i686-pc-msys) Copyright (C) 2005 Free Software Foundation, Inc. $ bash --version GNU bash, version 3.1.0(1)-release (i686-pc-msys) Copyright (C) 2005 Free Software Foundation, Inc.
上記のような表示がなされればOKだ。
元のバージョンに戻したい場合は、sh.exeを先に保存しておいたsh_old.exeと差し替えればよい。
最終更新時間:2008年04月03日 18時16分12秒