Hi Zack, *automake* can exit with code 63 under some circumstances, but it really looks like aclocal never will.
Agreed. I searched for "63" in automake distributions back to 1.11.3, as well as the current sources, and no trace of any 63's in aclocal, only in automake. Thus I suspect that the autoconf test meant to invoke automake, not aclocal? Does anyone remember what situation this might have been trying to detect? "Version mismatch". Of exactly what kind, I don't know :). The change was made in automake in 2003, according to old/ChangeLog.03. BTW, I don't see a way that Channels.pm (which aclocal.in uses as of this change, apparently) exits with code 63, either. Here are the ChangeLog and NEWS entries. --hope this helps, karl. 2003-09-06 Alexandre Duret-Lutz <a...@gnu.org> * lib/Automake/XFile.pm: Update to use ChannelDefs. (close): Call Automake::FileUtils::handle_exec_errors on errors. * automake.in (scan_autoconf_files): Exit with $?=63 on version mismatch. (scan_autoconf_traces): Likewise. Close the autoconf pipe to capture abnormal exits. * aclocal.in ($exit_status): Remove, and use Channels.pm's $exit_code instead. (trace_used_macros): Close the autom4te pipe to capture abnormal exits. * lib/missing: When a tool has run and exited with $?=63, emulate it. Adjust the diagnostic and pretend the tool is tool old in this case. Use an emacs-updated "scriptversion" variable. * configure.in: Output tests/aclocal-${APIVERSION} and tests/automake-${APIVERSION}. * tests/aclocal.in, tests/automake.in, tests/missing.test, tests/missing2.test: New files. * tests/defs.in (AUTOMAKE, ACLOCAL, PATH): Define to use tests/aclocal-$APIVERSION and tests/automake-$APIVERSION. * tests/dup3.test: Remove. alocal9.test, acloca10.test, and others are already testing for this. * tests/depacl2.test, tests/dup2.test, tests/order.test: Fix configure.in so that aclocal works. * tests/defun.test: Quote the AC_DEFUN body. * tests/Makefile.am (TESTS): Add missing.test and missing2.test, and remove dup3.test. (check_SCRIPTS): Add aclocal and automake. New in 1.8: .. - Automake will exit with $? = 63 on version mismatch. (So does Autoconf 2.58) missing knows this, and in this case it will emulate the tools as if they were absent. Because older versions of Automake and Autoconf did not use this exit code, this change will only be useful in projects generated with future versions of these tools.