My project requires dependency of libxml2 am using autotools to check the dependencies & install the same. I declare the dependency of using the following macro in 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"] )
The macro works as desired in GNU/Linux.
But somehow it fails in Solaris with the following error
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,'
Googled for a solution, most of them complain of pkg-config not being installed. But in my test machine its actually installed, checked it by executing the following command.
bash-3.00# pkg-config libxml-2.0 --modversion
2.6.23
Some suggestions would be welcomed.
The
PKG_CHECK_MODULESmacro doesn’t seem to be expanded properly. When you installedpkg-config, did it installpkg.m4(in somewhere like/usr/share/aclocal)? If so, try runningaclocalagain (maybe with-I m4, if you’ve got custom m4 code in them4subdirectory) and then runautoconf.If that doesn’t work and
pkg.m4was installed, try runningautoreconf -f(and maybeautoreconf -i -f).If that doesn’t work, you’ll need to copy
pkg.m4to a directory for your package. Usually this is them4subdirectory. SetACLOCAL_AMFLAGS = -I m4(orACLOCAL_AMFLAGS = -I m4 --install) inMakefile.am(if you’re using automake), andAC_CONFIG_MACRO_DIR([m4])inconfigure.ac. Then runaclocal -I m4andautoconfand./configure.