错误:找不到autoreconf --force --install的AC_DEFINE()

时间:2013-11-20 07:08:40

标签: configure autoconf

描述: 我正在为tacacs +服务器开源代码做定制。包装时 我想运行configure来生成Makefile。

注意:在开源tacacs + tar中使用的是autoconf 2.63&在我的构建机器上       2.67 autoconf版本。只有这个env diff。

但是得到AC_DEFINE()未定义的错误如下:

d001:~/srcsvn/workspace_main_7.40_04102013_64bit/NMD2/64bit/os/usr.local/tacplus_merger/src/tacacs+-4.0.4.19.orig$ autoreconf --force --install
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `cfgaux'.
libtoolize: copying file `cfgaux/ltmain.sh'
libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.in and
libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree.
libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
configure.in:45: error: possibly undefined macro: AC_DEFINE
      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

2 个答案:

答案 0 :(得分:2)

检查第45行及以上文件configure.in并扫描pkg-config次来电。

然后检查是否安装了它(只需键入pkg-config)。如果失败,则缺少pkg-config。应用你的发行版安装软件的方式(rpm,apt-get,pacman,bee)并安装缺少的pkg-config包。

答案 1 :(得分:0)

当与它无关的东西错误地引用了宏的使用时,这种情况经常发生。

虽然在不知道configure.ac看起来是什么的情况下没有多少帮助,但你应该观察在第45行周围的行,而不是在那一行,以找出出错的地方。有时它可能只是一个错误的[]引用。