[Patch] Configure broken for Solaris 2.6 (PR#12014)

David Collier-Brown davecb at Canada.Sun.COM
Fri Dec 18 15:04:24 GMT 1998

Jeremy Allison wrote:
> > can confdefs.h avoid #defining types?  It sort of pollutes the
> > configuration tests, although it may be necessary...
> This line gets added to confdefs.h if the test for
> the definition of off_t fails, done by the :
> line in configure.in. In other words it thinks
> this version of UNIX doesn't have a off_t definition.
> The real fix is to determine why the test for off_t
> is failing.

	Righto, will look at that...	

	Found it, several layers deep: configure is
	trying to find out the cpp to use, sees a non-
	empty conftest.out file from cc -E, and concludes
	that this is the wrong cpp.  Alas, comptest.out
/opcom/on998-tools/SUNWspro/SC4.2/bin/../SC4.2/bin/acomp -i conftest.c
-o - -H -
0 -D__SVR4 -D__unix -D__sun -D__sparc -D__BUILTIN_VA_ARG_INCR -Xa -Dunix
-Dsun -
Dsparc -D__RESTRICT -I/opcom/on998-tools/SUNWspro/SC4.2/SC4.2/include/cc
acomp           real    0.0     user    0.0     sys     0.0

	This is the normal dreck from sun cc, including
	the command run, include files read and time taken.

	This eventually makes configure set CPP=/lib/cpp
	and all future cpp tests therefor fail!

	The configure.c file contains the string "Syntax Error":
	if configure is changed to grep for that, it won't
	make the error. 
	A hacky change is to change line 1228:
if test -z "$ac_err"; then
if test -z "$ac_err"; then
elif [ "`$CPP conftest.$ac_ext | grep 'Syntax Error'`" = "" ]; then

A quick test shows it will then find statvfs64... and fail to find 
any locking: this looks like a nasty problem in configure: we've
just exposed some untested code paths.

Jeremy: I've two recommendations:
	1) figure out the proper Gnu way to test for cpp
and, having done  that, consider
	2) reordering the statvfs tests to look for statvfs,
	   then statvfs64, **IFF this will not break other
	   vendors' interim large-files logic**. 

	 The latter is to find the canonical interface
	before the extended one, like the current searches
	for other interfaces:	 
checking for pread... yes
checking for _pread... yes
checking for __pread... no
checking for pread64... yes
checking for _pread64... yes
checking for __pread64... no


David Collier-Brown,  | Always do right. This will gratify some people
185 Ellerslie Ave.,   | and astonish the rest.        -- Mark Twain
Willowdale, Ontario   | http://java.science.yorku.ca/~davecb
Work: (905) 477-0437 Home: (416) 223-8968 Email: davecb at canada.sun.com

More information about the samba-technical mailing list