[Gauche-devel-jp] Re: Cygwin/utf8のgoshをビルドしたい

Back to archive index

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





Gauche-devel-jp メーリングリストの案内
Back to archive index