Re: error building clang in HEAD

From: Kevin Oberman <rkoberman_at_gmail.com>
Date: Tue, 26 Jun 2018 12:40:32 -0700
On Tue, Jun 26, 2018 at 11:00 AM, Gary Jennejohn <gljennjohn_at_gmail.com>
wrote:

> On Tue, 26 Jun 2018 18:24:12 +0200
> Gary Jennejohn <gljennjohn_at_gmail.com> wrote:
>
> > On Mon, 25 Jun 2018 11:28:18 -0700
> > Bryan Drewery <bdrewery_at_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_at_FreeBSD.org> wrote:
> > > >
> > > >> On 23 Jun 2018, at 15:40, Gary Jennejohn <gljennjohn_at_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
>

I'd like to hear what triggered this as removing unneeded LLVM targets
seems like a good idea if you know that you won't need them. Building LLVM
takes a long time on my 7+ year old, memory constrained (8G) system.
Anything that reduces that time would be nice.
--
Kevin Oberman, Part time kid herder and retired Network Engineer
E-mail: rkoberman_at_gmail.com
PGP Fingerprint: D03FB98AFA78E3B78C1694B318AB39EF1B055683
Received on Tue Jun 26 2018 - 17:40:35 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:16 UTC