configure: error: cannot find macro directory `m4'
Hi, I had stopped work on a project which uses autoconf and automake about 6 months ago. At that time "make distcheck" was working without any problems. Unfortunately, I do not know which versions of autoconf and automake I had been using 6 months ago. I restarted work on the project yesterday, using these versions, $ autoconf --version autoconf (GNU Autoconf) 2.59 $ automake --version automake (GNU automake) 1.9.1 and now "make distcheck" no longer works. I tried "make dist", which generates a tarball, however, unpacking that tarball into an empty directory and then running the "./configure" script fails with the same (subject) error message as "make distcheck". Of course, I ran "autoreconf" before "make distcheck", and when that failed, I ran "make maintainer-clean; autoreconf", to no avail. Here is a typescript of the tail of the output, ... chmod -R a-w realpath-0.1.0; chmod a+w realpath-0.1.0 mkdir realpath-0.1.0/_build mkdir realpath-0.1.0/_inst chmod a-w realpath-0.1.0 dc_install_base=`CDPATH="${ZSH_VERSION+.}:" && cd realpath-0.1.0/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="${TMPDIR-/tmp}/am-dc-$$/" \ && cd realpath-0.1.0/_build \ && ../configure --srcdir=.. --prefix="$dc_install_base" \ \ && make \ && make dvi \ && make check \ && make install \ && make installcheck \ && make uninstall \ && make distuninstallcheck_dir="$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$dc_destdir") \ && make DESTDIR="$dc_destdir" install \ && make DESTDIR="$dc_destdir" uninstall \ && make DESTDIR="$dc_destdir" \ distuninstallcheck_dir="$dc_destdir" distuninstallcheck; \ } || { rm -rf "$dc_destdir"; exit 1; }) \ && rm -rf "$dc_destdir" \ && make dist \ && rm -rf realpath-0.1.0.tar.gz \ && make distcleancheck configure: error: cannot find macro directory `m4' make: *** [distcheck] Error 1 --> exit status 2 and here is the section of the "./configure" script that generated the subject error message, ... ac_config_headers="$ac_config_headers config.h" case m4 in [\\/]* | ?:[\\/]* ) ac_macro_dir=m4 ;; *) ac_macro_dir=$srcdir/m4 ;; esac if test -d "$ac_macro_dir"; then : else { { echo "$as_me:$LINENO: error: cannot find macro directory \`m4'" >&5 echo "$as_me: error: cannot find macro directory \`m4'" >&2;} { (exit 1); exit 1; }; } fi ... Any suggestions as to how to proceed would be gratefully appreciated. Thanks, -- Jeff Sheinberg ___ Autoconf mailing list [EMAIL PROTECTED] http://lists.gnu.org/mailman/listinfo/autoconf
Re: configure: error: cannot find macro directory `m4'
Ralf Wildenhues writes: > * Jeff Sheinberg wrote on Sat, Sep 11, 2004 at 10:09:14PM CEST: > > and now "make distcheck" no longer works. I tried "make dist", > Stab in the dark: You have some macro files in the m4/ directory which > are not really needed within your project. The newer aclocal now > recognizes this and does not include them in your project any more. > You relied on this before, not having put ^ > EXTRA_DIST = m4/macro_file.m4 ... > in the suitable Makefile.am. > > Are these assumptions correct? Then either add the EXTRA_DIST line, > or, if those macros are irrelevant for the project, remove metion of the > m4/ directory from all configure.ac and Makefile.am files. Yes, your explanation is correct. I added "EXTRA_DIST = m4", and it now works like a charm. I consider this to be an automake issue, since I now have to mention the "m4" directory in 3 places - once in configure.ac, and twice in Makefile.am. I will take that issue up on the automake list. Thanks, -- Jeff Sheinberg ___ Autoconf mailing list [EMAIL PROTECTED] http://lists.gnu.org/mailman/listinfo/autoconf
Re: configure: error: cannot find macro directory `m4'
Ralf Wildenhues writes: > * Jeff Sheinberg wrote on Tue, Sep 14, 2004 at 01:15:48AM CEST: > > Yes, your explanation is correct. I added "EXTRA_DIST = m4", and > > it now works like a charm. > > Hmm. Do you need these m4 files? If they are necessary only for > /using/ your installed package (as opposed to building it), then putting > them in dist_aclocal_DATA should be sufficient, no EXTRA_DIST mention > needed. > > Obviously you don't need them for building your package (any more), > right? No need to ship them then, unless you want to allow other users > to be able to use older Automake versions with your package. The original problem was that the dist-tarball failed ./configure because automake was not including the m4 directory in the dist-tarball. Here are the relevant lines that triggered the problem, configure.ac: AC_CONFIG_MACRO_DIR([m4]) Makefile.am: ACLOCAL_AMFLAGS = -I m4 and here is how I solved the problem, thanks to your suggestion, Makefile.am: EXTRA_DIST += m4 Isn't the function of EXTRA_DIST to force files to be included in the dist-tarball that otherwise would not have been included? Since this seems to be an automake issue, please let's take this thread off the autoconf list. Thanks, -- Jeff Sheinberg ___ Autoconf mailing list [EMAIL PROTECTED] http://lists.gnu.org/mailman/listinfo/autoconf
Re: Library that needs large file support
Paul Eggert writes: > Florian Weimer <[EMAIL PROTECTED]> writes: > > > I'm writing a library that will require large-file support on 32-bit GNU ^^ > > platforms (so that off_t and ino_t are 64 bits wide, otherwise data > > structure layout would change). What is the canonical way to enforce > > this? > > AC_SYS_LARGEFILE What about largefile support on a non-GNU system? Posix uses various "getconf" calls for compilation flags, library flags, and linking flags. The values returned from the various "getconf" calls are typically command substituted into the program build invocations in the Makefile. I grep-ed all of the installed autoconf files (Debian autoconf 2.57-11) for "getconf", with no matches found. -- Jeff Sheinberg
Re: coreutils-5.1.3 released: bug-fix-only, candidate for stable 5.2.0
Paul Eggert writes: > Daniel Jacobowitz <[EMAIL PROTECTED]> writes: > > $ a='a\b' > > $ set | grep '^a=' > > a='a\b' > > $ echo "$a" > > a > > $ > POSIX says that the last echo is equivalent to > > $ echo 'a\b' > > and that the results are implementation-defined, since 'echo' has > undefined behavior if its operands contain a backslash. (On > XSI-conformant systems, the system must print a backslash; perhaps ^ > that's what ash did.) s/backslash/backspace/ -- Jeff Sheinberg
Re: using getconf in autoconf macro to find 64 bit compile options?
Ed Hartnett writes: > I wonder if there is any autoconf macro for running getconf to find > the compile flags needed for 64-bit compilation on platforms that > support it. For example, both the AIX and solaris platforms have > special compile options to get 64 bit pointers. Here is what I am using in my configure.ac, # Checks for library functions. AC_FUNC_FSEEKO AC_SYS_LARGEFILE # /\ Prior 2 enables large file support. -- Jeff Sheinberg ___ Autoconf mailing list [EMAIL PROTECTED] http://lists.gnu.org/mailman/listinfo/autoconf