On 6/26/2018 12:40 PM, Kevin Oberman wrote: > On Tue, Jun 26, 2018 at 11:00 AM, Gary Jennejohn <gljennjohn_at_gmail.com > <mailto:gljennjohn_at_gmail.com>> wrote: > > On Tue, 26 Jun 2018 18:24:12 +0200 > Gary Jennejohn <gljennjohn_at_gmail.com <mailto: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 <mailto: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 I don't think the options are related to the build error. > LLVM takes a long time on my 7+ year old, memory constrained (8G) > system. Anything that reduces that time would be nice. By the way, before these options get out of hand... I am adding a new WITHOUT_LLVM_TARGET_ALL option to more easily disable unneeded targets which will be simpler for user maintenance. And I am going to make buildworld automatically disable unneeded targets for the bootstrap compiler. For the installed compiler it will still default to all targets. If targets are disabled then SYSTEM_COMPILER logic will fail when cross-building and you will need to build another bootstrap compiler. Something to keep in mind. > -- > Kevin Oberman, Part time kid herder and retired Network Engineer > E-mail: rkoberman_at_gmail.com <mailto:rkoberman_at_gmail.com> > PGP Fingerprint: D03FB98AFA78E3B78C1694B318AB39EF1B055683 > -- Regards, Bryan Drewery
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:16 UTC