emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debbugs-tracker] bug#10816: closed (automake: autoreconf -i fails if ma


From: GNU bug Tracking System
Subject: [debbugs-tracker] bug#10816: closed (automake: autoreconf -i fails if macro dir does not exist (it should automatically create new directories))
Date: Sat, 17 Mar 2012 09:18:02 +0000

Your message dated Sat, 17 Mar 2012 09:46:30 +0100
with message-id <address@hidden>
and subject line Re: bug#10816: [PATCH] aclocal: create local directory where 
to install m4 files
has caused the debbugs.gnu.org bug report #10816,
regarding automake: autoreconf -i fails if macro dir does not exist (it should 
automatically create new directories)
to be marked as done.

(If you believe you have received this mail in error, please contact
address@hidden)


-- 
10816: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10816
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: automake: autoreconf -i fails if macro dir does not exist (it should automatically create new directories) Date: Wed, 15 Feb 2012 09:58:20 -0500 (EST)
Problem:
"autoreconf -i" fails if you follow the libtool advice and use put this in 
configure.ac:
 AC_CONFIG_MACRO_DIR([m4])
and add "-I m4" to ACLOCAL_AMFLAGS in Makefile.am

It will instead report:
aclocal: couldn't open directory `m4': No such file or directory
autoreconf: aclocal failed with exit status: 1

The whole point of "autoreconf -i" is to create "whatever is needed",
and clearly MACRO_DIRs are needed, yet autoreconf fails to do so.  Therefore, 
this is a bug.

This is *especially* a problem when using the widely-used "git" tool,
because "git" does not store empty directories (only files). The symptom is that
you "git clone" a fresh repository, and then "autoreconf -i" fails.  You can 
work around this using:
"mkdir m4 ; touch m4/dummy ; git add m4/dummy" or similar, but you shouldn't 
need
to work around this at all.

This is already a bug report in Debian:
 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=565663
reported against automake 1.11.

Solution:
Please patch aclocal (part of automake) to automatically create these 
directories.

A patch has already been created in 2010:
  http://permalink.gmane.org/gmane.linux.debian.devel.bugs.general/678260
  http://permalink.gmane.org/gmane.comp.sysutils.automake.patches/3859

--- David A. Wheeler



--- End Message ---
--- Begin Message --- Subject: Re: bug#10816: [PATCH] aclocal: create local directory where to install m4 files Date: Sat, 17 Mar 2012 09:46:30 +0100
On 03/15/2012 08:57 PM, Stefano Lattarini wrote:
> Fixes automake bug#8168 and bug#10816.
> 
> A call like "aclocal -I m4 --install" used to fail if the 'm4'
> directory wasn't pre-existing.  This could be particularly
> annoying when running in a checked-out version from a VCS like
> git, which doesn't allow empty directories to be tracked.
> 
> * aclocal.in (File::Path): New import.
> (scan_m4_dirs): Don't die if the first directory of type FT_USER
> doesn't exist and the '--install' option was given; that directory
> will be created later in ...
> (install_file): ... here.  Change signature: now it takes as second
> argument the destination directory rather than the destination file.
> Crate the destination directory if it doesn't already exist.  In
> verbose mode, tell what is being copied where.
> (write_aclocal): Update.
> * NEWS, THANKS: Update.
> * tests/aclocal-install-fail.test: New test.
> * tests/aclocal-install-mkdir.test: Likewise.
> * tests/aclocal-no-install-no-mkdir.test: Likewise.
> * tests/aclocal-verbose-install.test: Likewise.
> * tests/list-of-tests.mk: Add them.
> 
> Signed-off-by: Stefano Lattarini <address@hidden>
> ---
> 
>  I will push this in a couple of days if there is no objection.
>  Thanks to David and Javier, and sorry for the awful delay.
> 
No objection seen so far, so I've pushed this patch (with minor
adjustments, see commit a75a1a52).  I'm also closing the relevant
bug reports.

Regards,
  Stefano


--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]