Question

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?

Was it helpful?

Solution

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.

OTHER TIPS

In my case, I got this error because of missing the package cppunit-devel. After install this package on my centos server by yum -y install cppunit-devel, everything work well.

If the path variable cant be added to your profile, or environmen.. or what have you, you can you try to "export" the path prior to running the autoconf. This will set that option, at least for that session...

export ACLOCAL_PATH=/home/YOU/path/to/share/aclocal

Also, if push comes to shove, you can.. (This clears out your Makefiles of any non-working crap that the autoconf/configure commands left you with...)

make clean

And open up your "./configure" script, and it's little friends (anything named "configure.*").. in a text editor. Then, somewhat carefully "Find and Replace" the instances of whatever "Thing" is messing you up. Once you fix the directives iN the coNfigure scriptS, and run them again... with any luck your make files will work in your environment.

Note: This is what I do on my MAC, usually for compiling LINUX SW that is NOT tested or meant to run on a Mac. This may be the wrong way to do it, but when there's not a lot of options, sometimes you just have to get in there and muck with it.

In case of multiple path, add them with : separator. Like:

export ACLOCAL_PATH="/usr/share/aclocal/:/usr/local/share/aclocal"
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top