[nSLUG] make, Makefile hurdle [new user query]

Jason Kenney 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 
to check.

> 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 mailing list