Re: What does (did?) it mean when aclocal exits with code 63?

Karl Berry <[email protected]>
Newsgroups gmane.comp.sysutils.automake.general
Message-ID <[email protected]>
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  <[email protected]>

	* 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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.