【问题标题】:How to point autoconf/automake to non-standard packages如何将 autoconf/automake 指向非标准包
【发布时间】:2010-11-28 15:07:57
【问题描述】:

我正在尝试在 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权限,系统组 有一个与标准配置“无偏差”的政策。)

我通过注释掉对 AM_PATH_CPPUNIT 在我的 configure.ac 文件中,但我真正想做的是 是在我的个人目录中安装 CPPPUNIT 并指向它,但我 在弄清楚如何告诉 autoconf/auotmake 方面没有取得太大进展 系统在非标准的地方寻找它。任何人都有任何提示 该怎么做?

【问题讨论】:

  • 你可能应该用 cppunit 提交一个错误报告,因为他们正在践踏 automake 的命名空间。以“AM_”开头的(m4 宏)名称保留供 automake 使用。
  • 如果你只是想安装包,为什么要运行 autoreconf?如果他们的打包说明告诉您这样做,而不是为您提供可以直接构建的 tarball,那么您应该将其归档为错误报告。他们甚至不应该要求你安装 autoconf,更不用说要求你使用它了。

标签: autoconf configure automake apache-zookeeper


【解决方案1】:

您要设置环境变量 ACLOCAL_PATH。

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

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

【讨论】:

  • 请问我应该添加到哪个文件?
【解决方案2】:

在我的情况下,我收到此错误是因为缺少包 cppunit-devel。通过yum -y install cppunit-devel在我的centos服务器上安装这个包后,一切正常。

【讨论】:

  • 是的,这让我解决了我的相关问题 - 在 Ubuntu 上,我需要安装 libcppunit-dev。
【解决方案3】:

如果路径变量无法添加到您的配置文件或环境......或您拥有的东西,您可以尝试在运行 autoconf 之前“导出”路径。这将设置该选项,至少对于该会话...

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

此外,如果迫在眉睫,您可以..(这会清除您的 Makefile 中 autoconf/configure 命令留给您的任何非工作废话...)

make clean

然后打开你的“./configure”脚本,它就是小伙伴(任何名为“configure.*”的东西).. 在文本编辑器中。然后,稍微小心地“查找和替换”任何“事物”的实例让你感到困惑。一旦你修复了配置脚本中的指令,然后再次运行它们......运气好的话,你的 make 文件将在你的环境中工作。

注意:这是我在我的 MAC 上所做的,通常用于编译未经测试或打算在 Mac 上运行的 LINUX SW。这可能是错误的做法,但是当没有太多选择时,有时您只需要进入那里并解决它。

【讨论】:

    【解决方案4】:

    如果有多个路径,请使用 : 分隔符添加它们。 喜欢:

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

    【讨论】:

      猜你喜欢
      • 2011-11-20
      • 1970-01-01
      • 2010-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多