0

我一直在尝试在 Solaris 10 机器上编译 quickfix。但是,当我尝试运行bootstrap它时,它会在失败之前给出大量警告,形式为“警告:AM_PATH_AUDIOFILE 的引用不足定义”:

aclocal: macro `_LT_DECL_SED' required but not defined
aclocal: macro `_LT_FUNC_STRIPNAME_CNF' required but not defined
configure.ac: 92: macro `AM_PATH_XML2' not found in library'

我相当确定这是一个路径问题,如果我运行aclocal它以同样的方式失败,找不到 AM_PATH_XML2,但如果我运行aclocal -I /usr/local/share/aclocal/它成功,尽管我假设的引用不足的定义警告可以被忽略。出于某种原因,Solaris 似乎将 libxml.m4 放在 /usr/local/share/aclocal 而不是大多数其他 .m4 文件所在的位置。

如何将此路径传递给由调用的 autoreconf bootstrap?使用包含路径运行 autoreconf 不起作用。

4

2 回答 2

2

如 automake 手册的Using autoreconf to Update configure Scripts部分所述,您可以aclocal使用ACLOCAL环境变量指定要传递的标志,例如

env ACLOCAL='aclocal -I /usr/local/share/aclocal/' autoreconf
于 2014-09-07T16:41:31.113 回答
0

到了那里

问题是软件包的版本,特别是 m4 太旧了,但似乎除非 m4 在 autoconf 之前更新,否则 autom4te 会调用一个太旧的 m4 版本而导致麻烦。应用 m4 包后重新应用 autoconf 包解决了这个问题。

编辑

我必须安装的软件包列表才能编译 libtools m4 autom4te sed(显然这是已安装的,但 libtools 期望在 usr/local/bin 中而不是 usr/bin 中。不安装此 gmake 会启动 7000 个 libtools 副本,这似乎在 fork 失败之前对 sed 的路径进行硬编码)perl(再次是 usr/local/bin 与 usr/bin 之后只是导出 LD_LIBRARY_PATH 的问题。此外,在安装 sed 或启动 gmake 后需要重新运行引导程序和配置7000份libtools

配置后编辑makefile并删除标志-Wno-unused-private-field,gmake实际上可以工作

于 2014-09-08T12:54:52.230 回答