我一直在尝试在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文件所在的位置。
如何将此路径传递给bootstrap
调用的autoreconf?使用包含路径运行autoreconf不起作用。
答案 0 :(得分:1)
正如automake手册的Using autoreconf to Update configure Scripts部分所述,您可以使用aclocal
环境变量指定要传递给ACLOCAL
的标记,例如
env ACLOCAL='aclocal -I /usr/local/share/aclocal/' autoreconf
答案 1 :(得分:0)
到那儿
问题是软件包的版本,特别是m4太旧了,但似乎除非m4在autoconf之前更新,否则autom4te会调用一个太旧的m4版本而导致麻烦。应用m4包后重新应用autoconf包解决了这个问题。
修改强>
我必须安装的软件包列表才能进行编译 libtools M4 autom4te sed(很明显这是安装的,但是libtools期望在usr / local / bin而不是usr / bin。没有安装这个gmake启动7000个libtools副本,似乎有sed硬编码的路径,直到fork失败)perl(再次usr /本地/ bin vs usr / bin之后只是输出LD_LIBRARY_PATH的问题。安装sed后需要重新运行bootstrap和configure,或者gmake启动了7000个libtools副本
在配置编辑makefile并删除标志-Wno-unused-private-field
并且gmake实际工作