[nSLUG] make, Makefile hurdle [new user query]
jason at ohm.ath.cx
Mon May 9 18:55:22 ADT 2005
> George suggested checking config.log. Thanks George, the log indeed
> reveals that ./configure did bail out several times. I searched
> config.log for "error", "choke" and "fail", then contextualized and
> sequenced the results below.
> Failed programs: cplusplus, confdefs.h, program main (GNUC)
> Other errors (1): cannot find cups-devel support (21041)
This "Other errors" looks like the culprit.
> 1) Can the failure of 'make' be attributed to these config errors?
The "failure" of make, is really just that it isn't finding a file called
Makefile. It is really a failure of the configure program, which is
failing to create a Makefile.
It is also important to understand a little how the autoconf system works,
in order to make sense of the log file. It tries to compile the smallest
program possible using each library it looks for, and if it succeeds, it
knows that is a good configuration of that library. If it doesn't, it
tries a different configuration until it finds one, or until it runs out
of options. If it runs out of options it either bails out if it's really
required, or tries to build the program without that support.
This is necessary since different linux distributions put libraries and
header files in different places. Just because it says "error" in the
file, doesn't mean there is actually a problem - you wouldn't want to have
a copy of all the libraries in each place autoconf is looking for them!
> 2) What is my next best step in the troubleshoot procedure?
Generally when you run a configure script, it will tell at the end if it
successfully created a Makefile or not. If it cannot create the file for
some reason, it usually bails out *immediately*, so looking at the
last output of that command will give you a good clue. If you need more
information as to what went wrong, then config.log would be the next place
> configure:20963: gcc -E conftest.c
> conftest.c:28:23: cups/cups.h: No such file or directory
> configure:20969: $? = 1
> configure: failed program was:
> | /* confdefs.h. */
> configure:21024: checking for cups/cups.h
> configure:21031: result: no
> configure:21041: error: cannot find cups-devel support
The last error in your file seems to be that it can't find the header
files for the cups system. This probably means that either
i) you don't have the cups-devel package installed,
ii) or it can't find where it was installed.
More information about the nSLUG