Build error on current git

Andrew Bartlett abartlet at samba.org
Tue Apr 24 17:06:16 MDT 2012


On Tue, 2012-04-24 at 18:10 -0400, simo wrote:
> On Wed, 2012-04-25 at 07:42 +1000, Andrew Bartlett wrote: 
> > On Tue, 2012-04-24 at 23:14 +0200, Gémes Géza wrote:
> > > 2012-04-24 17:54 keltezéssel, Alexander Bokovoy írta:
> > > > On Tue, Apr 24, 2012 at 16:53, Alexander Bokovoy <ab at samba.org> wrote:
> > > >> On Tue, Apr 24, 2012 at 16:51, Gémes Géza <geza at kzsdabas.hu> wrote:
> > > >>> 2012-04-24 15:45 keltezéssel, Alexander Bokovoy írta:
> > > >>>> 2012/4/24 Gémes Géza <geza at kzsdabas.hu>:
> > > >>>>> Hi,
> > > >>>>>
> > > >>>>> Today I've pulled the git repo (tried with a fresh clone as well), and
> > > >>>>> ./configure.developer && make && make install fails with:
> > > >>>>>
> > > >>>>> [ 934/3974] Compiling source4/auth/kerberos/krb5_init_context.c
> > > >>>>> In file included from ../source4/auth/kerberos/krb5_init_context.c:24:
> > > >>>>> ../lib/replace/system/kerberos.h:43:27: error: gssapi/gssapi.h: No such
> > > >>>>> file or directory
> > > >>>>> ../lib/replace/system/kerberos.h:51:32: error: gssapi/gssapi_krb5.h: No
> > > >>>>> such file or directory
> > > >>>>> Waf: Leaving directory `/usr/local/src/samba/bin'
> > > >>>>> Build failed:  -> task failed (err #1):
> > > >>>>>    {task: cc krb5_init_context.c -> krb5_init_context_1.o}
> > > >>>>> make: *** [all] Error 1
> > > >>>>>
> > > >>>>>
> > > >>>>> I suppose it has to do with the recent Heimdal, MIT krb5 related changes.
> > > >>>> Did you specify --with-mit-krb5-checks when configuring?
> > > >>>>
> > > >>> No, I've run configure.developer with the default options. Make reports:
> > > >>> Selected embedded Heimdal build
> > > >>> I suspect the recent MIT changes, because yesterday evening it built
> > > >>> with the same defaults.
> > > >> waf build only disables going into heimdal_build (and therefore
> > > >> defining paths to gssapi/) when --with-mit-krb5-checks.
> > > >> Could you please come on IRC and we would run the troubleshooting interactively?
> > > > ok, this is because lib/replace/system/kerberos.h includes also
> > > > GSSAPI-related headers even if they are not needed for specific
> > > > subsystem. If the subsystem in question doesn't use GSSAPI, then it
> > > > doesn't have gssapi subsystem in its dependencies and appropriate
> > > > include directories are not picked up for it as well so the including
> > > > system/kerberos.h fails then. It worked on autobuild because the
> > > > machine running autobuild had gssapi installed system-wide in default
> > > > paths and #include <gssapi/gssapi.h> picked it up there. In Geza;s
> > > > case the system heimdal was installed in /usr/local/heimdal, thus
> > > > system-wide gssapi/gssapi.h was not picked up.
> > > >
> > > > I'm working on a patch, stay tuned.
> > > >
> > > Hi
> > > 
> > > After a half a day spent on IRC with Alexander (Thnak you!)
> > > Seems to be fixed by:
> > > http://abbra.fedorapeople.org/.paste/0001-lib-replace-split-out-GSSAPI-from-lib-replace-system.patch
> > 
> > I would prefer not to separate out GSSAPI and krb5.  We simply do not
> > support having one and not the other, and I recently removed the
> > configure support for attempting such a build.  
> > 
> > I agree, this is a real bug.  Internally, we should depend on gssapi and
> > krb5 in all places where we include system/kerberos.h, to ensure we get
> > the right paths to gssapi headers.
> 
> these patches solve the problem and makes our dependency tree slimmer
> and better confined, what's your problem with it ? Can you substantiate
> an actual issue ?

The specific issues I have are:
 - It re-introduces a HAVE_LIBGSSAPI.  We moved to having only one 'have
kerberos' define (removing HAVE_GSSAPI and HAVE_GSSAPI_H) only a couple
of months ago, and I would like to stick to just having one indication
of kerberos support.  We do not support kerberos without gssapi in any
case.

 - My preference is that we have one meta-dependency for 'kerberos
stuff', that links in -lkrb5, -lgssapi and any other libs we need.  If
there is a particular benefit to only linking to gssapi in one part, I'm
not particularly worried, but this is what I was attempting to indicate.

Splitting out headers, where there is a real benefit to doing so, is of
course welcome.  As this just seemed to be a missing 'gssapi' on a deps
line, I think it's overkill, but I'm happy for the remainder of the
patch to remain.

Andrew Bartlett

-- 
Andrew Bartlett                                http://samba.org/~abartlet/
Authentication Developer, Samba Team           http://samba.org



More information about the samba-technical mailing list