How to point autoconf/automake to non-standard packages

Leonard picture Leonard · Sep 16, 2009 · Viewed 7k times · Source

I'm trying to build ZooKeeper on a RedHat Linux box. (Exactly what ZooKeeper is is probably not important :-)

When I follow the package instructions, I get:

 $ autoreconf -if
aclocal:configure.ac:33: warning: macro `AM_PATH_CPPUNIT' not found in library
aclocal:configure.ac:33: warning: macro `AM_PATH_CPPUNIT' not found in library
configure.ac:33: error: possibly undefined macro: AM_PATH_CPPUNIT
      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

I can't install CPPPUNIT in the standard place. (Don't have root privileges, system team has a policy of "no deviations" from standard configuration.)

I've worked around the problem by commenting out the references to AM_PATH_CPPUNIT in my configure.ac file, but what I'd really like to do is to install CPPPUNIT in my personal directory and point to it, but I'm not making much progress in figuring out how to tell the autoconf/auotmake system to look for it in a non-standard place. Anybody have any hints on how to do that?

Answer

anthony picture anthony · Sep 16, 2009

You want to set the environment variable ACLOCAL_PATH.

ACLOCAL_PATH="/home/YOU/path/to/share/aclocal" autoreconf -if

To figure out what directory you need to point ACLOCAL_PATH at, you'll have to find the directory that contains the .m4 file that defines AM_PATH_CPPUNIT.