compiling problem on samba-3.0.3pre2

Jianliang Lu j.lu at tiesse.com
Wed Apr 7 12:03:27 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

I've got the same conclusion, that the the configure.in should be patched for 
include all defines, specially the $EGREP undefined in configure, so we have 
wrong uid_t defined to int.

Jianliang Lu
TieSse s.p.a.     Ivrea (To) - Italy
j.lu at tiesse.com   luj at libero.it
http://www.tiesse.com


More information about the samba-technical mailing list