Go to the first, previous, next, last section, table of contents.



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 of gettext).
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 tools stabilize.
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.


Go to the first, previous, next, last section, table of contents.