Cuu*_*ous 1 automake autoconf solaris autotools
我的项目要求libxml2使用自动工具来检查依赖关系并安装相同的依赖关系.我声明在configure.ac中使用以下宏的依赖性
echo -n "checking if libxml2 is present... "
PKG_CHECK_MODULES([LIBXML2], [libxml-2.0 >= 2.6.19],
              [echo "yes (features requiring libxml2 enabled)"  AC_DEFINE(HAVE_LIB_XML, 1,     [define if libxml2 is present])],
              [echo "no"] )
宏按照需要工作GNU/Linux.
但不知何故,它失败Solaris了以下错误
checking if libxml2 is present... ./configure: line 11586: syntax error near unexpected token `LIBXML2,'
./configure: line 11586: `PKG_CHECK_MODULES(LIBXML2, libxml-2.0 >= 2.6.19,'
谷歌搜索解决方案,他们中的大多数抱怨pkg-config没有安装.但是在我的测试机器中实际安装了它,通过执行以下命令来检查它.
bash-3.00# pkg-config libxml-2.0 --modversion
2.6.23
一些建议会受到欢迎.
该PKG_CHECK_MODULES宏似乎并没有被适当扩大.安装时pkg-config,是否安装pkg.m4(在某处/usr/share/aclocal)?如果是这样,请尝试aclocal再次运行(-I m4如果您在m4子目录中有自定义m4代码,则可以运行)然后运行autoconf.
如果这不起作用并且pkg.m4已安装,请尝试运行autoreconf -f(也许autoreconf -i -f).
如果这不起作用,则需要复制pkg.m4到包的目录中.通常这是m4子目录.设置ACLOCAL_AMFLAGS = -I m4(或ACLOCAL_AMFLAGS = -I m4 --install)在Makefile.am(如果你用automake),并AC_CONFIG_MACRO_DIR([m4])在configure.ac.然后,运行aclocal -I m4和autoconf和./configure.
| 归档时间: | 
 | 
| 查看次数: | 4279 次 | 
| 最近记录: |