Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Jun 2018 20:00:13 +0200
From:      Gary Jennejohn <gljennjohn@gmail.com>
To:        Bryan Drewery <bdrewery@FreeBSD.org>
Cc:        current@freebsd.org
Subject:   Re: error building clang in HEAD
Message-ID:  <20180626200013.247e7927@ernst.home>
In-Reply-To: <20180626182412.49dce7b0@ernst.home>
References:  <20180623154048.1b228df0@ernst.home> <196E84B3-B58F-4296-B6EA-84D0DE3230EF@FreeBSD.org> <20180624095747.7384f5bf@ernst.home> <f21008b7-1da6-b9cf-8413-fa5a5667573a@FreeBSD.org> <20180626182412.49dce7b0@ernst.home>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 26 Jun 2018 18:24:12 +0200
Gary Jennejohn <gljennjohn@gmail.com> wrote:

> On Mon, 25 Jun 2018 11:28:18 -0700
> Bryan Drewery <bdrewery@FreeBSD.org> wrote:
> 
> > On 6/24/2018 12:57 AM, Gary Jennejohn wrote:  
> > > On Sat, 23 Jun 2018 17:05:16 +0200
> > > Dimitry Andric <dim@FreeBSD.org> wrote:
> > >     
> > >> On 23 Jun 2018, at 15:40, Gary Jennejohn <gljennjohn@gmail.com> wrote:    
> > >>>
> > >>> There is a strange error building clang with this use case:
> > >>>
> > >>> cd /usr/src
> > >>> make -j10 makeworld      
> > >>
> > >> What's the "makeworld" target?  I've not heard of this.
> > >>    
> > > 
> > > A typo.  I meant buildowrld.
> > >     
> > >>> which produces this error output:
> > >>>       
> > >>> ===> lib/clang/libclang (all)      
> > >>> error: unable to rename temporary 'Sema/SemaTemplate-12ad7e30.o.tmp' to output file 'Sema/SemaTemplate.o': 'No such file or directory'
> > >>> 1 error generated.
> > >>> --- Sema/SemaTemplate.o ---
> > >>> *** [Sema/SemaTemplate.o] Error code 1      
> > >>
> > >> This typically happens if "make obj" was not run before the rest of the
> > >> make targets.  Normally, the order is: make obj, then make depend, then
> > >> make (a.k.a. make all).
> > >>
> > >> Is there a directory /usr/obj/usr/src/lib/libclang/Sema ?
> > >>    
> > > 
> > > Well, I would hope/expect that make buildworld does make obj.
> > > 
> > > Yes, the directory was there.
> > >     
> > 
> > Actually neither 'make obj' nor 'make depend' is done or needed anymore
> > in buildworld.
> > 
> > The directory above is incorrect, please check for
> > 
> >     /usr/obj/usr/src/amd64.amd64/lib/clang/libclang/Sema
> >   
> 
> Well, now everything is there because I ran a buildworld without -j.
> 
> > Do you have another Makefile or script that is executing
> > buildworld for you?
> >   
> 
> No, I use a bash alias named mw:
> mw is aliased to `pushd /usr/src;time make -s -j$NCPU buildworld;popd'
> 
> NCPU is defined as 10.
> 
> > What's in your src.conf and make.conf?
> >   
> 
> The only changes I made recently were to /etc/src.conf when I added:
> 
> WITHOUT_LLVM_TARGET_AARCH64=yes
> WITHOUT_LLVM_TARGET_ARM=ys
> WITHOUT_LLVM_TARGET_MIPS=yes
> WITHOUT_LLVM_TARGET_POWERPC=yes
> WITHOUT_LLVM_TARGET_SPARC=yes
> WITH_LLVM_TARGET_X86=yes
> 
> Otherwise, I haven't touched src.conf or make.conf in  a long time.
> 

I removed some old cruft from src.conf and now make -j10 buildworld is
succeeding, even after rm -rf /usr/obj/usr.

Thanks for pointing me in the right direction.

-- 
Gary Jennejohn



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20180626200013.247e7927>