[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