help with ./autogen failure

Eric Siegerman pub08-gnc at davor.org
Fri Jan 23 15:21:22 EST 2015


John Ralls <jralls <at> ceridwen.us> writes:
> On May 12, 2014, at 10:04 PM, Anthony Della Cioppa <adellaci <at>
sacoriver.net> wrote:
>  grep AM_NLS /usr/share/aclocal/nls.m4
> should return
>   AC_DEFUN([AM_NLS],
>
> If it does, then there's a path problem somewhere such that aclocal (run
by autogen.sh) isn't finding it.

[This is probably more appropriate for gnucash-devel, but the original
thread is here, so here's where I'm replying...]

I've just had this issue, or at least the same symptoms: aclocal couldn't
find AM_NLS or a bunch of other macros, even though the relevant Ubuntu
packages were installed.

What it turned out to be in my case is that I'm using a from-source build of
Automake, which as usual is installed in /usr/local[1], which means that its
third-party-macro directory is /usr/*local*/share/aclocal.  It never even
looks at /usr/share/aclocal, where the aforementioned Ubuntu packages put
their .m4 files; so of course it can't find them.

aclocal provides a feature to deal with just this situation.  If you create
a file /usr/local/share/aclocal/dirlist[1][2], containing one directory name
per line, aclocal will search all of the named directories for .m4 files, as
well as /usr/local/share/aclocal itself.  (In my case, I only needed one
entry: /usr/share/aclocal.)

One can also work around this by passing ACLOCAL_PATH to autogen.sh, as
mentioned elsewhere in this thread; but for this situation, permissions
permitting, a "dirlist" file is the better way to go (for reasons described
in [2]).

  - Eric

[1] That's actually an oversimplification.  I use Stow[3] to manage packages
that I build from source, but contrary to Stow's docs, I don't play tricks
to make the package think it was directly installed into /usr/local.  Thus,
my Automake install's 3rd-party macro directory is
/usr/local/stow/automake-1.14.1/share/aclocal -- so that's where I had to
put the "dirlist" file if I wanted aclocal to see it.  But if Automake is
installed in /usr/local (or thinks it is :-) ), /usr/local/share/aclocal is
where your "dirlist" should go.

[2] http://www.gnu.org/software/automake/manual/html_node/Macro-Search-Path.html

[3] http://www.gnu.org/software/stow/manual/



More information about the gnucash-user mailing list