compiling problem on samba-3.0.3pre2

Esh, Andrew Andrew_Esh at adaptec.com
Tue Apr 6 18:39:06 GMT 2004


I went and looked at my configure.in, derived from one that was checked
out from cvs.samba.org with "-rrelease-3-0-1", and saw that the first
call to AC_CHECK_HEADERS is in a Darwin case. Below that, there is a
large block of headers that are checked unconditionally.

By moving "AC_CHECK_HEADERS(langinfo.h locale.h)" from the bottom of
the large block of calls to be the seventh line in configure.in, the
uid problem I used to have was solved. "uid_t" and gid_t were #undef
and commented out in include/config.h after I ran configure.

Perhaps someone can choose a better set of files to do the first
AC_CHECK_HEADERS on, choose a better place to put that first call, and
submit a patch to the latest configure.in. This needs to be tested on
a number of platforms, including (especially) Darwin.

-----Original Message-----
From: samba-technical-bounces+andrew_esh=adaptec.com at lists.samba.org
[mailto:samba-technical-bounces+andrew_esh=adaptec.com at lists.samba.org]O
n Behalf Of Green, Paul
Sent: Tuesday, April 06, 2004 12:02 PM
To: 'j.lu at tiesse.com'; samba-technical at lists.samba.org
Subject: RE: compiling problem on samba-3.0.3pre2


Jianliang Lu [mailto:j.lu at tiesse.com]  asked:
> The include/config.h created in Samba-3.0.3pre2 has defined gid_t and
uid_t 
> to "int", so the typedef in sys/types.h for gid_t and uid_t, which is 
> included bu include.h,  will produce a lot of warning as following:

I hit the same problem. The version of configure automatically generated for
the build_farm is from autoconf 2.53.  Apparently, this version of autoconf
compiles extra code the first time the AC_CHECK_HEADERS macro is used. (I am
basing this remark on the recent email from Andrew Esh, not from any tests I
have run).  Starting with version 1.300.2.191 of configure.in (in
samba_3_0), the Darwin changes moved the first reference to this macro from
a place that is always executed by configure, to inside of an if-then-else
clause that is only executed for Darwin.

The result is that a whole bunch of HAVE_XXX_H macros never get defined.
The most serious one is HAVE_SYS_TYPES_H, but there are 9 in total.

Try commenting out the Darwin changes around line 583 of configure.in.
While I haven't had a chance to test this, if I'm right, this should solve
the problem for other Oses.  (It will mess up Darwin builds, of course).

If this theory is correct, we will also have to upgrade the version of
autoconf that is used on samba.org...

Thanks
PG
--
Paul Green, Senior Technical Consultant
Stratus Technologies, Inc.
111 Powdermill Rd, Maynard, MA 01754
Tel +1-978-461-7557, Fax +1-978-461-3610




More information about the samba-technical mailing list