2013-03-01 28 views
0

我有我自己的程序叫automake,我最初写在Ubuntu机器上,最近想在我的机器上运行OSX Lion。为什么automake程序在osx上似乎有奇怪的查找优先级?

我编译它,它复制到我的/Users/andrew/bin目录这是我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/[email protected]/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开发工具之一:

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变量的早期目录中时,这是如何实现的。事实上,UNIX which程序显示的路径,我的automake:

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

什么巫术这是什么?

回答

2

我发现在你的PATH没有2个特殊性,这应该是你的麻烦的来源,但可能需要修改他们反正

  • /Users/andrew/bin./Users/andrew/.rvm/bin被多次列出的第一个两如果我有权计数的话,甚至可以是第三次的两倍。

  • 您的PATH包含.甚至如前所述两次。从安全角度来看,这不是最好的主意。

如前所述,这些都不应对所述问题负责。也许它可以帮助解决以下问题:

  • 您确定您复制了正确的文件吗?不是GNU/autotools automake也在你的Ubuntu机器上?

  • 您是否尝试过使用绝对路径/ Users/andrew/bin/automake运行您的 automake版本?

  • 输出是否与您之前获得的输出相同或是否与以前不同?

相关问题