!!!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のリリースページ|http://sourceforge.net/project/showfiles.php?group_id=2435]の 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に上書きされるように)上書きする。 {{ref_image bash_update.png}} これで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と差し替えればよい。