2.2.0-alpha3 - still (still!) compile problem on ReliantUNIX

Jeremy Allison jeremy at valinux.com
Wed Apr 4 15:23:55 GMT 2001

Gerald Carter wrote:
> On Wed, 04 Apr 2001 08:13:13 Andrej Borsenkow wrote:
> >
> > Compiling nsswitch/wb_common.c
> > /usr/include/unistd.h   288: [error]:   CFE1020 identifier
> > "off64_t" is undefined extern int ftruncate64(int, off64_t);
> >
> > /usr/include/unistd.h   338: [error]:   CFE1020 identifier
> > "off64_t" is undefined extern int lockf64(int, int, off64_t);
> >
> >  .... etc etc etc ....
> >
> > Now, that's becoming ridiculous. I asked, if original patch
> > was wrong; I explained, why I needed it; I never got any reply
> > why it wasn't applied.
> Well it looks like the configure script is broken actually.
> winbind_nss_config.h has the following include...
> #ifdef HAVE_UNISTD_H
> #include <unistd.h>
> #endif
> So the question is why is
>         AC_CHECK_HEADERS(unistd.h)
> Not finding it.  Can you verify that HAVE_UNISTD_H is defined
> in config.h?

It probably is finding it. The issue is that ReliantUNIX
(which to be honest isn't one of our major platforms) is
broken in that it needs this header file to be *first* - before
*anything* else.

The problem with the patch is that it is really specific to
one platform, and includes unistd.h unconditionally, without
any regard to whether it exists or not on a platform.

And it's my fault for not getting back to you earlier to
point out this problem, I apologise, but I've been somewhat 
busy coding ACLs up.

I've fixed it in  winbind_nss_config.h in the same way
it's fixed in includes.h, with a sucky, platform-specific
#ifdef :-). I *hate* doing that :-).

Check out 2.2 or HEAD and it's fixed in there.


Buying an operating system without source is like buying
a self-assembly Space Shuttle with no instructions.

More information about the samba-technical mailing list