在OS X 10.8上安装ncurses时出现GCC错误

时间:2013-07-17 04:34:24

标签: gcc makefile ncurses

我正在尝试在安装了GCC 4.9的OS X 10.8上安装ncurses 5.9。我在./configure目录中运行ncurses时没有出现任何错误或警告,但是当我运行make时,我得到gcc: error: unrecognized command line option ‘-no-cpp-precomp’。在谷歌搜索问题(并尝试出来)时,我发现--no-cpp-precomp(有两个破折号,即长旗形式)是一个有效的命令。

我不确定是什么促使GCC运行无效命令 - 无论是make,还是ncurses本身指定的命令。

有什么方法可以解决这个问题吗?如果是这样,怎么样?

编辑:我尝试使用文本编辑器手动将./configure文件中的引用从-no-cpp-precomp更改为--no-cpp-precomp,尽管GCC似乎接受了{{{ 1}}选项。之后,我尝试运行--no-cpp-precomp,并得到了这个:

autoreconf

使用configure:6558: error: possibly undefined macro: AC_DIVERT_HELP If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. autoreconf: /opt/local/bin/autoconf failed with exit status: 1 选项运行后:

m4_pattern_allow

无论如何都要运行autoreconf: 'configure.ac' or 'configure.in' is required

./configure && make

3 个答案:

答案 0 :(得分:3)

看起来这已经在ncurses 5.9

的最新补丁中得到修复

可在此处找到5.9来源:ftp://invisible-island.net/ncurses/ncurses-5.9.tar.gz

最新的修补程序位于ftp://invisible-island.net/ncurses/5.9/,但最新的汇总修补程序似乎有修复:ftp://invisible-island.net/ncurses/5.9/patch-5.9-20130504.sh.gz

要应用补丁,请获取上面的2个文件:

$ tar xvf ncurses-5.9.tar.gz
$ cd ncurses-5.9
$ gzip -dc ../patch-5.9-20130504.sh.gz | sh

答案 1 :(得分:0)

--no-cpp-precomp是一个过时的Apple GCC选项,它应该生成一个警告而不是错误但是如果-Werror标志传递给编译器,它将在警告失败,无论哪种方式,你将不得不删除它从构建脚本手动,然后运行autoreconf,或者您可以直接从configure脚本中删除它。

答案 2 :(得分:0)

我意识到这已经很老了,但是由于遇到了同样的问题(需要在Mac Yosemite 10.10和GCC 4.9上进行构建),也许它也会对其他人有所帮助。即使PATH中的'gcc'是GNU,看起来configure脚本也正在检测它是否是Mac,并假设使用了clang。似乎他们将检测逻辑固定在较新的版本中。我在Boost 1.37中发现了相同的问题,并且它在Boost 1.55之前(在某个地方)已得到修复。