2012-12-22 41 views
1

我在Windows 7中使用Cygwin并尝试编译一个库,Zyre。我的'configure'文件是由autoconf自动生成的。当我运行命令行./configure用于生成makefile,它只是说./configure”。

checking for a BSD-compatible install... 

这就是它。没有错误,没有抱怨,什么都没有。我等了> 1小时,并试图重新启动几次。 什么可能是错的?我能做些什么来使它工作?

下面是这个平台我使用的一些背景资料:

which install/usr/bin/install

文件的config.log中断后是:

This file contains any messages produced by compilers while 
running configure, to aid debugging if configure makes a mistake. 

It was created by libzre configure 1.0.0, which was 
generated by GNU Autoconf 2.69. Invocation command line was 

$ ./configure 
[..] 
install_sh='' 
[..] 
+0

你在中断它后在'config.log'中说了什么? – ptomato

+0

运行'哪个install',看看'install'程序'。/ configure'正在使用什么。 –

回答

1

我花了相当长的一段在互联网上寻找正确的主题在那里,但最后,我发现它也解决了这个问题。 Ptomato和杰克,感谢提示!

一方面,./configure没有找到任何BSD兼容的安装。另一方面,which install发现了一个安装。在this blog about autoconf's configure.inthis manual about Autoconf的帮助下,我的注意力集中在配置的install_sh变量上 - 在我的情况下这个变量是空的。

的解决办法是编辑文件configure以下列方式(我曾与autoconf的之前产生):要

install_sh 

我增加了行

/usr/bin/install -c 

这给了那么

install_sh = '/usr/bin/install -c' 

其中/usr/bin/install是我的的输出命令。现在,我的./configure命令运行。

+1

这只会引出一个新问题:为什么'configure'脚本以这种方式生成?看看运行'autoconf'是否会产生相同的效果,通过生成比源代码更好的'configure'脚本。这可能是Autoconf在包的维护者运行'autoconf'的时候和现在有相关的改进。您可以在tarball中找到一个名为'bootstrap'或'autogen.sh'的脚本;如果是这样,请运行它们,因为它们将完成重建所有生成的脚本,Makefile等的更完整工作。如果修复它,让维护人员知道。 –

+1

嘿沃伦,事实上,我的_configure_脚本是由一个名为_autogen.sh_的文件生成的。对不起,如果我没有说清楚。 – Finnfalter

+0

autogen.sh调用autoconf等等。 –