Frequently Asked Questions
Which do I run first, `autoconf' or `automake'?
Except when you first add autoconf or automake support to a
package, you shouldn't run either by hand. Instead, configure
with the `--enable-maintainer-mode' option, and let `make' take
care of it.
`autoconf' says something about undefined macros.
This means that you have macros in your `configure.in' which are
not defined by `autoconf'. You may be using an old version of
`autoconf'; try building and installing a newer one. Make sure the
newly installled `autoconf' is first on your `PATH'. Also, see
the next question.
My `configure' script has stuff like `CY_GNU_GETTEXT' in it.
This means that you have macros in your `configure.in' which should
be defined in your `aclocal.m4' file, but aren't. This usually
means that `aclocal' was not able to appropriate definitions of the
macros. Make sure that you have installed all the packages you
need. In particular, make sure that you have installed libtool
(this is where `AM_PROG_LIBTOOL' is defined) and gettext (this is
where `CY_GNU_GETTEXT' is defined, at least in the Cygnus version
My `Makefile' has `@' characters in it.
This may mean that you tried to use an autoconf substitution in
your `Makefile.in' without adding the appropriate `AC_SUBST' call
to your `configure' script. Or it may just mean that you need to
rebuild `Makefile' in your build directory. To rebuild `Makefile'
from `Makefile.in', run the shell script `config.status' with no
arguments. If you need to force `configure' to run again, first
run `config.status --recheck'. These runs are normally done
automatically by `Makefile' targets, but if your `Makefile' has
gotten messed up you'll need to help them along.
Why do I have to run both `config.status --recheck' and `config.status'?
Normally, you don't; they will be run automatically by `Makefile'
targets. If you do need to run them, use `config.status --recheck'
to run the `configure' script again with the same arguments as the
first time you ran it. Use `config.status' (with no arguments) to
regenerate all files (`Makefile', `config.h', etc.) based on the
results of the configure script. The two cases are separate
because it isn't always necessary to regenerate all the files
after running `config.status --recheck'. The `Makefile' targets
generated by automake will use the environment variables
`CONFIG_FILES' and `CONFIG_HEADERS' to only regenerate files as
they are needed.
What is the Cygnus tree?
The Cygnus tree is used for various packages including gdb, the GNU
binutils, and egcs. It is also, of course, used for Cygnus
releases. It is the build system which was developed at Cygnus,
using the Cygnus configure script. It permits building many
different packages with a single configure and make. The
configure scripts in the tree are being converted to autoconf, but
the general build structure remains intact.
Why do I have to keep rebuilding and reinstalling the tools?
I know, it's a pain. Unfortunately, there are bugs in the tools
themselves which need to be fixed, and each time that happens
everybody who uses the tools need to reinstall new versions of
them. I don't know if there is going to be a clever fix until the
Why not just have a Cygnus tree `make' target to update the tools?
The tools unfortunately need to be installed before they can be
used. That means that they must be built using an appropriate
prefix, and it seems unwise to assume that every configuration
uses an appropriate prefix. It might be possible to make them
work in place, or it might be possible to install them in some
subdirectory; so far these approaches have not been implemented.
automatically generated byinfo2html