Shiro Kawai
shiro****@lava*****
2004年 7月 25日 (日) 18:30:13 JST
From: HIRAUCHI Hideyuki <hira****@verys*****> Subject: [Gauche-devel-jp] Cygwin/utf8のgoshをビルドしたい Date: Sun, 25 Jul 2004 18:07:10 +0900 > configure: error: invalid feature name: multibyte > configure: error: /bin/bash './configure' failed for gc あ、このエラー最近見ました。 完全には追いきれていないんですが、autoconfの生成したconfigure中の exprコマンドの呼び出しが、cygwinのbashでは正常に動作しないようなのです。 具体的には、このエラーを出しているのは gc/configure の 565行目付近で: -enable-* | --enable-*) ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ここで、--enable-feature の 'feature' の部分が許される名前か どうかをexprコマンドでチェックしているのですが、正しい値が渡っている にもかかわらずexprコマンドの呼び出しが失敗します。 その部分だけを手でコマンドプロンプトに入力するとちゃんと成功するんですが。 不思議なことに、次のようにexprを二回やると成功します。 # Reject names that are not valid shell variable names. expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && fork()のタイミングかなんかで問題が出ているのかもしれません。 全く同じコードはトップのconfigureにもあるはずで、そこでは問題が 出ないので、再現条件は難しそうです。 mingw版を作っている時にこの問題に遭遇して、一ヶ所だけは今でも ./DIST genすると修正されるようになっています。該当箇所全てに パッチを当てるようにしたほうがいいかなあ。 てっとりばやく試すには、上のような修正をconfigureに加えるのが 速いと思います。上ので直らなかったら$ac_featureのチェックを コメントアウトしてもいけると思います。 --shiro