[PATCH] Fix hang of Samba build due to automount and -I/
Jelmer Vernooij
jelmer at samba.org
Sun Oct 28 08:56:02 MDT 2012
On Sun, 2012-10-28 at 20:22 +1100, Andrew Bartlett wrote:
> (moving to samba-technical)
> On Fri, 2012-10-26 at 07:55 +1100, Andrew Bartlett wrote:
> > On Thu, 2012-10-25 at 17:45 +0100, Edward Ashley wrote:
> > > Hi,
> > > Thanks for that, the latest output is quite long but ends up with this:
> > >
> ...
> > > [pid 22991] open("../lib/uid_wrapper/net/if.h", O_RDONLY|O_NOCTTY) = -1
> > > ENOENT (No such file or directory)
> > > [pid 22991] open("default/dynconfig/net/if.h", O_RDONLY|O_NOCTTY) = -1
> > > ENOENT (No such file or directory)
> > > [pid 22991] open("../dynconfig/net/if.h", O_RDONLY|O_NOCTTY) = -1 ENOENT
> > > (No such file or directory)
> > > [pid 22991] open("/net/if.h", O_RDONLY|O_NOCTTY
> >
> > THIS is the critical clue. The problem is caused by two things:
> >
> > automount and " -I/"
> >
> > We need to work out how -I/ got into the gcc command line (ie, what
> > dependency declared -I/).
> >
> > Now I know what I'm looking for, I'll go hunting.
>
> I'm very glad to say, the generation of -I/ is not host-dependent, and
> so while I don't see a hang here, I do see the -I/ and can remove it.
>
> The attached patch fixes this for me, removing a depends_on=PIDL_MISC
> line.
>
> What I need to work out is why, and what exactly the original intent
> was. It was introduced with the rather unhelpful commit message:
>
> commit 9129c3b3b6d8a1cdfb7a6500ef4eb20075aa2d53
> Author: Andrew Tridgell <tridge at samba.org>
> Date: Wed Mar 17 21:46:38 2010 +1100
>
> build: fixes from ita
>
> and even at the time PIDL_MISC never appeared anywhere else in the
> tree.
>
> As Samba seems to build fine without it (from scratch) I'm inclined to
> remove this line, and just get on with other issues, but I would
> appreciate it if someone can give me a more complete explanation. My
> only guess is that this non-existent dependency somehow produces / as an
> include path.
That sounds plausible.
Perhaps related is the fact that build_includes() doesn't set
self.includes if self.samba_includes isn't set?
Cheers,
Jelmer
More information about the samba-technical
mailing list