[ds6-devel] _PATH_BSHELL broken?

Chris Leishman chris at leishman.org
Tue Jan 21 15:21:07 CET 2003


On Tuesday, January 21, 2003, at 03:08 PM, Mauro Tortonesi wrote:
<snip>
> misc.c:129: `_PATH_DEVNULL' undeclared (first use in this function)
> misc.c:129: (Each undeclared identifier is reported only once
> misc.c:129: for each function it appears in.)
> misc.c:183: `_PATH_BSHELL' undeclared (first use in this function)
> make[2]: *** [misc.o] Error 1
> make[2]: Leaving directory `/home/mauro/code/cvs/nc6/src'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/home/mauro/code/cvs/nc6'
> make: *** [all] Error 2
>
> this should be due to the fact that the macros in config/paths.m4 do 
> not
> define _PATH_DEVNULL and _PATH_BSHELL in config.h.

Ok...more info required - because this just shouldn't happen.

First off, the HEADER_PATHS macro checks for the existence of the 
'paths.h' header, and sets HAVE_PATHS_H if it finds it.

The paths.h header, on many systems, defines _PATH_BSHELL and 
_PATH_DEVNULL as appropriate.  However, to compensate for the headers 
that don't have paths.h or it doesn't contain these, the PATH_BSHELL 
and PATH_DEVNULL macros do the following:

- Call HEADER_PATHS if it hasn't already been called (uses AC_REQUIRE). 
  This means that HEADER_PATHS doesn't need to be specifically mentioned 
in configure.ac.

- If the paths.h header is available (HEADER_PATHS set 
ds6_have_paths_h=yes), then it looks for the definition of _PATH_BSHELL 
in the header file.

- If it doesn't find it, then it searches for an appropriate 
replacement (/bin/sh) and calls AC_DEFINE_UNQUOTED to add this to the 
config.h file.  If it can't find a replacement, then AC_MSG_ERROR is 
called.

So if this is working properly there should be no way that _PATH_BSHELL 
isn't defined in either paths.h or config.h and configure still 
succeeds.

Can you check the configure output?  Perhaps send me the config.log if 
you want?

Regards,
Chris



More information about the ds6-devel mailing list