Hello Niels, * Niels Lohmann wrote on Tue, Feb 09, 2010 at 08:19:31AM CET: > > The @ inside the address should not cause any problems. > > indeed, it's not. When I use m4_define for the bug address, then I get > the same error for AT_PACKAGE_STRING. > > > Please check > > again and provide us with something reproducible, or at least cut and > > pasted commands+output that show that this is problematic. > > Here is the output I get when I execute "make testsuite" for the attached > tarball: > > ------------------------------------------------------------------------------- > /bin/sh /Users/niels/test/missing --run autom4te --language=autotest -I '.' > -o testsuite.tmp testsuite.at > testsuite.at:1: error: : AT_PACKAGE_BUGREPORT is missing, consider writing > package.m4 > testsuite.at:1: the top level > autom4te: /opt/local/bin/gm4 failed with exit status: 1 > ------------------------------------------------------------------------------- > > testsuite.at:1 is just "AT_INIT".
Your example needed some adaptation, but you're completely right about the issue. autoconf/lib/autotest/general.m4:AT_INIT has [m4_ifndef([AT_PACKAGE_BUGREPORT], [m4_fatal( [$1: AT_PACKAGE_BUGREPORT is missing, consider writing package.m4])])] [m4_define([AT_TESTSUITE_NAME], m4_defn([AT_PACKAGE_STRING])[ test suite]m4_ifval([$1], [m4_expand([: $1])]))] which requires both AT_PACKAGE_STRING and AT_PACKAGE_BUGREPORT to be defined as macros, not as shell variables. Sorry about the wrong advice there. The manual documents this requirement, too: -- Macro: AT_INIT ([NAME]) Initialize Autotest. Giving a NAME to the test suite is encouraged if your package includes several test suites. Before this macro is called, `AT_PACKAGE_STRING' and `AT_PACKAGE_BUGREPORT' must be defined, which are used to display information about the testsuite to the user. Typically, these macros are provided by a file `package.m4' built by `make' (*note Making testsuite Scripts::), in order to inherit the package name, version, and bug reporting address from `configure.ac'. I'm not sure whether this can easily be relaxed to require either a m4_define or a shell variable, but as it stands, the code matches the documentation, regardless of my earlier babble. ;-) Cheers, Ralf