GNU bug report logs - #20300
Are paths containing directories allowed in AC_REQUIRE_AUX_FILE?

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: automake; Reported by: Moritz Klammler <moritz@HIDDEN>; dated Sat, 11 Apr 2015 08:14:01 UTC; Maintainer for automake is bug-automake@HIDDEN.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 11 Apr 2015 08:13:45 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Apr 11 04:13:45 2015
Received: from localhost ([127.0.0.1]:52837 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1YgqXw-00058y-5W
	for submit <at> debbugs.gnu.org; Sat, 11 Apr 2015 04:13:45 -0400
Received: from eggs.gnu.org ([208.118.235.92]:34198)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <moritz@HIDDEN>) id 1Ygjw0-0002rz-Io
 for submit <at> debbugs.gnu.org; Fri, 10 Apr 2015 21:10:09 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <moritz@HIDDEN>) id 1Ygjvt-0000LW-CI
 for submit <at> debbugs.gnu.org; Fri, 10 Apr 2015 21:10:02 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,T_DKIM_INVALID
 autolearn=disabled version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:48695)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <moritz@HIDDEN>) id 1Ygjvt-0000LS-AQ
 for submit <at> debbugs.gnu.org; Fri, 10 Apr 2015 21:10:01 -0400
Received: from eggs.gnu.org ([2001:4830:134:3::10]:47694)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <moritz@HIDDEN>) id 1Ygjvs-0000gx-3t
 for bug-automake@HIDDEN; Fri, 10 Apr 2015 21:10:01 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <moritz@HIDDEN>) id 1Ygjvo-0000Kb-Ss
 for bug-automake@HIDDEN; Fri, 10 Apr 2015 21:10:00 -0400
Received: from mo6-p00-ob.smtp.rzone.de ([2a01:238:20a:202:5300::9]:33594)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <moritz@HIDDEN>) id 1Ygjvo-0000KI-Dm
 for bug-automake@HIDDEN; Fri, 10 Apr 2015 21:09:56 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1428714595; l=4797;
 s=domk; d=klammler.eu;
 h=Content-Type:MIME-Version:Date:Subject:To:From;
 bh=53ZrQexwMSeoR8iIDR5DAF9cPx0Bw4BF3MmY4y8QTs8=;
 b=BcmCmZJ7SA4xQQSRtCN3ax9qaMFt2Kstk3I//YFcdruDGMfXHS+aeLxiFc/QitH4suM
 L8hGbLh1t7HKPoFLTgxDq23JUMu2+3OMAk/YI4EEOi+PYpbnMFKvBkGBOO7E/rtln0/4I
 6dXIZWgIm9I8cNu4Ikb/KkBPubrIAOtYFrI=
X-RZG-AUTH: :IWMWfFSyW/SrNdkI+ewDiCutTJTpMG0DgGT3T1KdlTClHDO7gcG9qurw/a5fdl8=
X-RZG-CLASS-ID: mo00
Received: from moritz-laptop (openvpn-cl-200-202.scc.kit.edu [141.3.200.202])
 by smtp.strato.de (RZmta 37.5 AUTH) with ESMTPSA id y00a7dr3B0uV9Fe
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (curve secp521r1 with
 521 ECDH bits, eq. 15360 bits RSA))
 (Client did not present a certificate) for <bug-automake@HIDDEN>;
 Sat, 11 Apr 2015 02:56:31 +0200 (CEST)
From: Moritz Klammler <moritz@HIDDEN>
To: bug-automake@HIDDEN
Subject: Are paths containing directories allowed in AC_REQUIRE_AUX_FILE?
Date: Sat, 11 Apr 2015 02:56:25 +0200
Message-ID: <87iod3jxdy.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux)
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="==-=-=";
 micalg=pgp-sha256; protocol="application/pgp-signature"
X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address
 (bad octet value).
X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address
 (bad octet value).
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -5.0 (-----)
X-Debbugs-Envelope-To: submit
X-Mailman-Approved-At: Sat, 11 Apr 2015 04:13:41 -0400
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.0 (-----)

--==-=-=
Content-Type: multipart/mixed; boundary="=-=-="

--=-=-=
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

Hello everybody,

last week, I have asked this question on Stack Overflow [1] but did not
receive any answer.  I'll be happy to post a summary of the replies I'll
get on this list there.  But if you have an account and want to gain
some valuable internet points, I'll accept your answer, of course.

Please consider this directory structure

    demo/
    demo/Makefile.am
    demo/build-aux/
    demo/build-aux/bar/
    demo/build-aux/bar/baz.txt
    demo/build-aux/foo.txt
    demo/configure.ac

with the following `configure.ac`

     AC_PREREQ([2.69])
     AC_INIT([example], [1.0], [bugs@HIDDEN])
     AC_CONFIG_AUX_DIR([build-aux])
     AC_REQUIRE_AUX_FILE([foo.txt])      # this works
     AC_REQUIRE_AUX_FILE([bar/baz.txt])  # this does not work
     AM_INIT_AUTOMAKE([foreign])
     AC_OUTPUT([Makefile])

and an empty `Makefile.am`.  I have attached a tar ball with this setup
for your convenience.

As indicated by the comments, the invocation of `AC_REQUIRE_AUX_FILE`
for `bar/baz.txt` does not work as expected.  If running `autoreconf`
From=20the top-level directory, Automake will fail with the following
error message:

    $ test -f build-aux/bar/baz.txt && autoreconf -ivs
    autoreconf: Entering directory `.'
    autoreconf: configure.ac: not using Gettext
    autoreconf: running: aclocal
    autoreconf: configure.ac: tracing
    autoreconf: configure.ac: not using Libtool
    autoreconf: running: /usr/bin/autoconf
    autoreconf: configure.ac: not using Autoheader
    autoreconf: running: automake --add-missing --no-force
    configure.ac:5: error: required file 'build-aux/bar/baz.txt' not found
    configure.ac:6: installing 'build-aux/install-sh'
    configure.ac:6: installing 'build-aux/missing'
    autoreconf: automake failed with exit status: 1

Note that the reported error names the file name exactly as expected but
incorrectly says it does not exist.

I have checked the documentation for `AC_REQUIRE_AUX_FILE` in the
Autoconf manual [2] as well as what I consider the relevant reference in
the Automake manual [3] and none of this suggests to me that I shouldn't
be allowed to list file names in sub-directories of ${auxdir} here.

It seems to me that the error message is triggered by the function
`rewrite_inputs_into_dependencies` in `automake.in` [4] but I cannot
trace back the logic due to my limited Perl skills.

Am I missing something here?  Is this intended to work?  If naming paths
containing directory parts is not allowed, could the manual be updated
to say so?


Thank you & kind regards

Moritz Klammler



Autoconf version: 2.69
Automake version: 1.15
Platform: Parabola GNU/Linux

References:

[1] https://stackoverflow.com/q/29445704/1392132
[2] https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.6=
9/html_node/Input.html#index-AC_005fREQUIRE_005fAUX_005fFILE-60
[3] https://www.gnu.org/software/automake/manual/html_node/Optional.html
[4] http://git.savannah.gnu.org/cgit/automake.git/tree/bin/automake.in#n3775
=2D-=20
OpenPGP:

Public Key:   http://openpgp.klammler.eu
Fingerprint:  80C1 EC79 B554 3D84 0A35 A728 7057 B288 CE61 2235


--=-=-=
Content-Type: application/octet-stream
Content-Disposition: attachment; filename=demo.tar.gz
Content-Transfer-Encoding: base64
Content-Description: mini-project to reproduce the described problem

H4sIAHVtKFUAA+2YXW/aMBSGc51f4YkbOi0h32ztzVBHp2ijdAikSRFCTuKwqElcJY5K++tnBzJV
ES1DSuimnufGYPtgW6/PexJCktKB1C0aZ2hrotUbbY2kG7ZuaI5j88+arluGJSG7431VlAXDOUJS
SvOYPT4/79D4f0oo9PfLOAkVXG66uQnH6G+aOtffNA0N9D8FDf0jSlW2Ye2uIQR2rOf1102job/l
WLqEtHa3sZ83rn/vHRqURT7w42wQYCbz78p7BQU0jLP1ecki5eMFSmlIzhnZsAsxKMvy/FdcoChO
CIozRjIW0wwnyQNKSMQQSe/Ygyq/9smAv6GR/z7O268Bx/u/xf0C/P8U7NHfx4/t1oDj/d82hw74
/ykA/3/bVPkf0CyK12VOVBx0sMah/LeGzfw3h+L5H/K/e57mPy4ZFVfhBROop9RGMLpc3czGs/GP
vmeozqflmehxr9153yMbnN4lZPkBebqqicYv18XnXbca0HQ7+3J6feV+XY0WP1df3Fnf+1OMtsP8
txfubFyNX7nfx31v946yPEMVPcSEG93T/LbYH/CkqImgXUBISYEyyqpIeTSpts2j5tPJ6Fu1TE7i
dbbdxXQxv1nwQ03wLRG+x3tfW7l2qPK/PpWK0y7WOFj/bafx/49pOSbk/ylo5n/Kr8IL+Z/ubopS
z62NoIfgmQAAAAAAAAAAAAAAAAAA/jV+A+OheAwAKAAA
--=-=-=--

--==-=-=
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBCAAGBQJVKHE5AAoJEM9sUWbzk6nA6yIH/2JbpnpiNKbq/GgxWvZzUsss
NCxK02ilR/CQrLhG0H1ySE1zlDxdO3PXelU2PB5Jl4wBrnvDWyVnQ+MaYQif8cMB
Bm3cd5qDR4V5WYmal/Wy9GWHWhr54JOFFdIQTWRNP7XW1O3vYA+fJC4tstBptPZo
4u3D5kldxBncMCJXmbU0KRBKbyfxCJzsRAoSoEPjUqQc0V/ItVhseqXEynNSNG6k
Jl+ZWkgcWSh3db/obPDNqaRvWOtX5IBeeIO/Oe8Pem3Wjn9JJ/OypCDpC2f6sbaY
SJjTygf0pOhn+XZVTCO9kyXMILIncmr536FddunvMDQcIuj/tEGwsuCxpTny7v4=
=8auy
-----END PGP SIGNATURE-----
--==-=-=--




Acknowledgement sent to Moritz Klammler <moritz@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-automake@HIDDEN. Full text available.
Report forwarded to bug-automake@HIDDEN:
bug#20300; Package automake. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Mon, 25 Nov 2019 12:00:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.