如何将autoconf / automake指向非标准包

时间:2009-09-15 22:12:23

标签: autoconf configure automake apache-zookeeper

我正在尝试在RedHat Linux机器上构建ZooKeeper。 (究竟ZooKeeper可能并不重要: - )

当我按照包裹说明书时,我得到:

 $ autoreconf -if
aclocal:configure.ac:33: warning: macro `AM_PATH_CPPUNIT' not found in library
aclocal:configure.ac:33: warning: macro `AM_PATH_CPPUNIT' not found in library
configure.ac:33: error: possibly undefined macro: AM_PATH_CPPUNIT
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
autoreconf: /usr/bin/autoconf failed with exit status: 1

我无法在标准位置安装CPPPUNIT。 (没有root权限,系统团队 有一个与标准配置“无偏差”的政策。)

我通过评论引用来解决这个问题 我的configure.ac文件中有AM_PATH_CPPUNI T,但我真的很想做 是在我的个人目录中安装CPPPUNIT并指向它,但我是 在弄清楚如何告诉autoconf / auotmake方面没有取得多大进展 系统在非标准的地方寻找它。任何人都有任何提示 怎么做?

4 个答案:

答案 0 :(得分:7)

您想要设置环境变量ACLOCAL_PATH。

ACLOCAL_PATH="/home/YOU/path/to/share/aclocal" autoreconf -if

要确定您需要将ACLOCAL_PATH指向哪个目录,您必须找到包含定义AM_PATH_CPPUNIT的.m4文件的目录。

答案 1 :(得分:5)

在我的情况下,由于缺少包cppunit-devel,我收到此错误。在yum -y install cppunit-devel之后在我的centos服务器上安装此软件包后,一切正常。

答案 2 :(得分:1)

如果路径变量无法添加到您的个人资料或环境..或者您有什么,您可以尝试在运行autoconf之前“导出”路径。这将设置该选项,至少为该会话...

export ACLOCAL_PATH=/home/YOU/path/to/share/aclocal

另外,如果push推进,你可以......(这会清除你的makefile,autoconf / configure命令给你带来的任何非工作垃圾...)

make clean

打开你的“./configure”脚本,它是文本编辑器中的小朋友(任何名为“configure。*”)。然后,有点小心地“查找并替换”任何“东西”弄乱你的实例。一旦你修改了指令中的coNfigure脚本,然后再次运行它们......运气好的话,make文件将在你的环境中运行。

注意:这是我在MAC上执行的操作,通常用于编译未经测试或打算在Mac上运行的LINUX SW。这可能是错误的做法,但是当没有很多选择的时候,有时你只需要进入并捣乱它。

答案 3 :(得分:1)

如果是多个路径,请使用:separator添加它们。 像:

export ACLOCAL_PATH="/usr/share/aclocal/:/usr/local/share/aclocal"