latest v4-0-test compilation report (Samba4/OpenChange)

simo idra at
Wed Feb 25 07:47:22 MST 2009

On Wed, 2009-02-25 at 08:38 +0100, Volker Lendecke wrote:
> On Wed, Feb 25, 2009 at 06:18:02AM +0100, Julien Kerihuel wrote:
> > Below is a quick report of Samba4/OpenChange compilation issues
> > encountered with latest samba4 git v4-0-test.
> > 
> > Samba4 compilation:
> > ===================
> > During tevent compilation, I encounter:
> >         tevent.h:34:36: error: ../lib/replace/replace.h: No such file or directory
> > 
> > Replacing the include directive with ../../lib/replace/replace.h fixes
> > the building issue but reference to this file in the installed tevent.h
> > causes OpenChange compilation to fail. Once removed from installed
> > headers, everything is fine with it.
> Ok, I added this because tevent.h references bool and
> uintXX_t. How can we include the relevant system headers
> there without replace.h? Write configure checks individually
> for tevent?

In ldb.h I added the following:
#ifndef bool
typedef int bool;
#ifndef true
#define true 1
#ifndef false
#define false 0

This is a bit ugly but bool is the only type missing and I don't have
stdbool.h here.
We do not need stdint.h in ldb.h, but we should add it in the tevent.h
case instead of replace.h

tevent.h should be the public header so it should only include stuff
needed to make the prototypes declared there sane.
Anything else needed by the .c files should either be included into a
private header or directly in the .c files themselves.


Simo Sorce
Samba Team GPL Compliance Officer <simo at>
Principal Software Engineer at Red Hat, Inc. <simo at>

More information about the samba-technical mailing list