Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 6 Nov 2018 17:37:14 +0000
From:      Alexander Richardson <arichardson@freebsd.org>
To:        Markiyan Kushnir <markiyan.kushnir@gmail.com>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org,  src-committers@freebsd.org
Subject:   Re: svn commit: r339636 - in head: . share/mk
Message-ID:  <CA%2BZ_v8qRxqZ7di5s03c2AqGQfbT_i9nf-nfveU0PYJgW=Jkdnw@mail.gmail.com>
In-Reply-To: <CACvtUJdu_c8DAxOA=JG6TRGB=ZOrPFL9s49s%2BSqpWbt4n0GEfA@mail.gmail.com>
References:  <201810230631.w9N6VPR4008554@repo.freebsd.org> <9612d267-91dc-b1ee-7530-284376f08f08@FreeBSD.org> <CA%2BZ_v8rcRXR86xnQs32Vgm5q%2B8DcjJJNHJRZOOuHUQrWSB19zQ@mail.gmail.com> <CACvtUJdu_c8DAxOA=JG6TRGB=ZOrPFL9s49s%2BSqpWbt4n0GEfA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Markiyan,


This looks exactly like the SYSTEM_COMPILER/SYSTEM_LINKER build failure
that should have been fixed by r340167.
Does passing BUILD_WITH_STRICT_TMPPATH=3D0 on the make command line fix the
build error? If so it seems like I missed one more SYSTEM_COMPILER case.

Could you send me your buildworld command+environment variables so I can
see what's going wrong?

Thanks,
Alex


On Tue, 6 Nov 2018 at 17:12 Markiyan Kushnir <markiyan.kushnir@gmail.com>
wrote:

> Alexander,
>
> Cannot tell exactly what change it was, might be one of your recent
> changes to bsd.compiler.mk or Makefile.inc1? ...
>
> Now running "make buildworld" I can proceed with "3.1: recording build
> metadata" only having USING_SYSTEM_COMPILER=3Dyes USING_SYSTEM_LINKER=3Dy=
es set
> in my environment. Otherwise I'm getting this:
>
> sh: cc: not found
> make[2]: "/work/src.svn/share/mk/bsd.compiler.mk" line 176: Unable to
> determine compiler type for CC=3Dcc -target x86_64-unknown-freebsd13.0
> --sysroot=3D//usr/obj/work/src.svn/amd64.amd64/tmp
> -B//usr/obj/work/src.svn/amd64.amd64/tmp/usr/bin.  Consider setting
> COMPILER_TYPE.
> *** Error code 1
>
> Stop.
> make[1]: stopped in /work/src.svn
> *** Error code 1
>
> Stop.
> make: stopped in /work/src.svn
> Failed to build world
>
> I'm at rev. 340189. Could you please have a look?
>
> --
> Markiyan
>
> =D0=B2=D1=82, 6 =D0=BB=D0=B8=D1=81=D1=82. 2018 =D0=BE 01:11 Alexander Ric=
hardson <arichardson@freebsd.org>
> =D0=BF=D0=B8=D1=88=D0=B5:
>
>> On Mon, 5 Nov 2018 at 23:00, Bryan Drewery <bdrewery@freebsd.org> wrote:
>> >
>> > On 10/22/2018 11:31 PM, Alex Richardson wrote:
>> > > Author: arichardson
>> > > Date: Tue Oct 23 06:31:25 2018
>> > > New Revision: 339636
>> > > URL: https://svnweb.freebsd.org/changeset/base/339636
>> > >
>> > > Log:
>> > >   Only compute the X_COMPILER_*/X_LINKER_* variables when needed
>> > >
>> > >   When building CheriBSD we have to set XLD/XCC/XCFLAGS on the
>> command line.
>> > >   This triggers the $XCC !=3D $CC case in bsd.compiler.mk (and the
>> same for LD
>> > >   in bsd.linker.mk) which causes it to call ${XCC} --version and
>> > >   ${XLD} --version (plus various awk+sed+echo calls) in every
>> subdirectory.
>> > >   For incremental builds and stages that only walk the source tree
>> this is
>> > >   often the majority of the time spent in that directory.
>> > >
>> > ...
>> >
>> > >   By only computing the value of the X_COMPILER_*/X_LINKER_*
>> variables if
>> > >   _WANT_TOOLCHAIN_CROSS_VARS is set we can reduce the number of cc/l=
d
>> calls
>> > >   to once per build stage instead of once per recursive make.
>> >
>> > This sounds wrong. bsd.compiler.mk *already* handles that kind of thin=
g
>> > by exporting its computations. Adding a second hack for a similar
>> > problem isn't the right solution.
>> >
>>
>> I added debug .info statements for every time bsd.compiler.mk was
>> running cc --version and it was always running it for $XCC during make
>> buildworld.
>> As far as I can tell this happens because $CC and $XCC no longer match.
>> I believe the problem is that the toplevel makefile runs the cross
>> stages with CC=3D"${XCC} ${XCFLAGS}" so if you have XCFLAGS set in your
>> environment $CC will never be equal to $XCC.
>> This also means there is not cached variable for $XCC since it was
>> computed for "${XCC} ${XCFLAGS}" rather than $XCC .
>>
>> This patch massively reduced the incremental build time for CheriBSD
>> but if you can suggest I better fix that would be great.
>>
>> Alex
>>
> _______________________________________________
>> svn-src-all@freebsd.org mailing list
>> https://lists.freebsd.org/mailman/listinfo/svn-src-all
>> To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
>>
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2BZ_v8qRxqZ7di5s03c2AqGQfbT_i9nf-nfveU0PYJgW=Jkdnw>