0

私は automake という独自のプログラムを持っています。これはもともと Ubuntu マシンで作成したもので、最近 OSX Lion を実行しているマシンで作業したいと考えていました。

私はそれをコンパイルし、私の変数/Users/andrew/binにリストされている最初のディレクトリの1つである私のディレクトリにコピーしました:PATH

bash-3.2$ echo $PATH | tr : '\n'
.
/Users/andrew/bin
/opt/local/bin
/opt/local/sbin
/Users/andrew/Library/Application Support/GoodSync
/Users/andrew/.rvm/gems/ruby-1.9.3-p194/bin
/Users/andrew/.rvm/gems/ruby-1.9.3-p194@global/bin
/Users/andrew/.rvm/rubies/ruby-1.9.3-p194/bin
/Users/andrew/.rvm/bin
.
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin
/usr/X11/bin
/Users/andrew/.rvm/bin
/Users/andrew/bin
/Users/andrew/.rvm/bin

ただし、automake を実行しようとすると、明らかに別の automake プログラムが実行されています。これは xcode 開発者ツールの 1 つだと思います。

bash-3.2$ automake game.cpp
automake: error: no Automake input file found for 'game.cpp'
automake: error: no input file found among supplied arguments

このバージョンの automake は にあり/opt/local/binます。私が理解していないのは、automake がPATH変数の以前のディレクトリにある場合に、これがどのように可能になるかということです。実際、UNIXwhichプログラムは automake へのパスを表示します。

bash-3.2$ which automake
/Users/andrew/bin/automake

これは何の魔術ですか?

4

1 に答える 1

2

あなたの PATH に 2 つの特異性があることを発見しました。どちらもあなたの問題の原因ではないはずですが、とにかくそれらを修正したいでしょう

  • /Users/andrew/bin. そして/Users/andrew/.rvm/bin、数え方が正しければ、最初のものの両方が2回、3番目のものの2倍、3回も複数回リストされています。

  • .前述のように、PATH には 2 回も含まれています。セキュリティの観点から、それは最善の考えではありません。

すでに述べたように、これらのいずれも、説明されている問題の責任を負うべきではありません。次の質問に取り組むのに役立つかもしれません。

  • 正しいファイルをコピーしましたか? あなたのubuntuマシンにも横たわっているGNU / autotools automakeの1つではありませんか?

  • 絶対パス /Users/andrew/bin/automake を指定しautomake バージョンを実行してみましたか?

  • 出力は以前のものと同じでしたか、それとも異なっていましたか?

于 2013-03-02T05:40:57.867 に答える