[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[FDclone-users:00795] Re: cofigure 時のエラーについて



 しらいです。

In Message-Id <20080623002357.be9f033f.yasushi_imao@imao.jp>
        Yasushi Imao <yasushi_imao@imao.jp>さんwrites:
> たびたびお騒がせします。今尾といいます。

> 早速ですが、fdsh 3.00/3.00a を login shell にした FreeBSD 7.0R でソフト
> ウェアをインストールしようと configure スクリプトを実行する際にエラーが
> 発生するものがあります。

 configure は基本的に「#!/bin/sh」で始まっているので、それ
を実行しているのも error を吐いているのも /bin/sh の仕業だと
思います。


> これらのソフトウェアの tarball を展開し configure を走らせると
> ./configure: \: unexpected token
> というエラーメッセージが表示されて終了します。

 先頭行の「#!/bin/sh」を他の shell に置換えて実行することで、
error message に行番号が表示されて、該当箇所を特定し易くなる
と思います。
 FreeBSD だと /bin/sh の実体は Almquist Shell なので、それ
以外の /bin/bash か /bin/ksh 辺りを選ぶといいんじゃないでし
ょうか。


> また、FreeBSD 7.0R 環境でも、login shell を別のもの (たとえば tcsh) など
> とし、そのうえで fdsh を起動して configure スクリプトを走らせても、問題
> は発生せず、逆に login shell を fdsh とし、tcsh などを起動したうえで
> configure スクリプトを走らせても、上記のエラーが発生します。

 FDclone の制御の及ばないところでの話なので、影響し得るのは
環境変数くらいだと思います。
 tcsh は文法が違い過ぎるので、何か Bourne Shell 系の shell
を login shell にして、login 直後の環境変数の値を比べてみる
と、FDclone では何が設定し足りないのかが判ると思います。
 Bourne shell 系一般の仕様では、環境変数は「export」とだけ
入力すると出力されます。環境変数を含む変数の設定値は「set」
とだけ入力すると出力されます。

 例えば bash の場合は「FOO=bar」という環境変数設定があって、
FDclone の場合は無かったとすると、FDclone で login してから
configure 起動までに「export FOO=bar」を実行します。
 逆に FDclone の場合は「FOO=bar」があって bash の場合は無か
ったとすると、FDclone で login してから configure 起動までに
「unset FOO」を実行します。
 こうして「set」や「export」の結果が双方同じになるように調
節して、それでも configure が失敗するようなら、また何か別の
問題だと思うので、/bin/sh や configure 自体を疑って下さい。

 もし configure が成功するようなら、今度は FDclone で login
してから追加や削除した環境変数を一つずつ戻してみて、一体どの
環境変数が原因だったのかを追求してみて下さい。
 bash も tcsh もそう多くの環境変数は設定していないと思うの
で、思い当たるものと言えば「SHELL」くらいですかねー。

                                               しらい たかし