Date: Fri, 15 Jul 2016 15:19:01 -0700 From: Cy Schubert <Cy.Schubert@komquats.com> To: Guy Yur <guyyur@gmail.com> Cc: Cy Schubert <Cy.Schubert@komquats.com>, freebsd-current <freebsd-current@freebsd.org> Subject: Re: crossbuild buildworld on amd64 for arm fails to find KERNCONF GENERIC after r302865 Message-ID: <201607152219.u6FMJ1nx089928@slippy.cwsent.com> In-Reply-To: Message from Guy Yur <guyyur@gmail.com> of "Fri, 15 Jul 2016 22:16:23 %2B0300." <CAC67Hz_UAWvATr1x4QPX2OrA8_JC%2B9A_eoG8RMffXG5aZuWV7A@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
In message <CAC67Hz_UAWvATr1x4QPX2OrA8_JC+9A_eoG8RMffXG5aZuWV7A@mail.gmail.c om> , Guy Yur writes: > On Fri, Jul 15, 2016 at 6:11 PM, Cy Schubert <Cy.Schubert@komquats.com> wrote > : > > In message <CAC67Hz-ZqcYR3p4fR+cBiBcju3JrOxtU+wTr6hwMn_eoo=Wedw@mail.gmail. > c > > om> > > , Guy Yur writes: > >> Hi, > >> > >> I am trying to crossbuild arm on an amd64 machine and buildworld > >> is checking for KERNCONF and fails to find GENERIC kernel. > >> I only set KERNCONF when I am doing buildkernel/installkernel > >> so KERNCONF is the default set in Makefile.inc1. > >> > >> # make buildworld TARGET=arm TARGET_ARCH=armv6 > >> make[1]: "/usr/src/Makefile.inc1" line 122: SYSTEM_COMPILER: > >> Determined that CC=cc matches the source tree. Not bootstrapping a > >> cross-compiler. > >> make[1]: "/usr/src/Makefile.inc1" line 1144: Missing KERNCONF > >> /usr/src/sys/arm/conf/GENERIC > >> *** Error code 1 > >> > >> Stop. > >> make: stopped in /usr/src > >> > >> > >> # uname -a > >> FreeBSD vm4.localdomain 12.0-CURRENT FreeBSD 12.0-CURRENT #13 > >> r302895M: Fri Jul 15 16:06:24 IDT 2016 > >> root@vm4.localdomain:/usr/obj/usr/src/sys/VIRTUALBOX amd64 > > > > Thanks for the report. I've reverted it now until I get the time to look at > > it more closely. > > > > > > -- > > Cheers, > > Cy Schubert <Cy.Schubert@cschubert.com> > > FreeBSD UNIX: <cy@FreeBSD.org> Web: http://www.FreeBSD.org > > > > The need of the many outweighs the greed of the few. > > > > Doing the missing check only for the kernel targets works for me. > > .if make(buildkernel) || \ > make(installkernel) || make(installkernel.debug) || \ > make(reinstallkernel) || make(reinstallkernel.debug) || \ > make(distributekernel) || make(distributekernel.debug) || \ > make(packagekernel) || make(create-kernel-packages) > .error Missing KERNCONF ${KERNCONFDIR}/${_kernel} > .endif Yes, this is one solution. The plan is to use this: .if make(*kernel) || make(*kernel.debug) || make(*kernel-packages) > > > It might be possible cover more of the section with the .if make. > I think these are all the targets that use BUILDKERNELS, INSTALLKERNEL. > > .if make(buildkernel) || \ > make(installkernel) || make(installkernel.debug) || \ > make(reinstallkernel) || make(reinstallkernel.debug) || \ > make(distributekernel) || make(distributekernel.debug) || \ > make(packagekernel) || make(create-kernel-packages) > BUILDKERNELS= > ... > .error Missing KERNCONF ${KERNCONFDIR}/${_kernel} > .endif > .endfor > .endif That causes other breakage. I believe I have a solution. I just need to make sure to thoroughly test it first. -- Cheers, Cy Schubert <Cy.Schubert@cschubert.com> FreeBSD UNIX: <cy@FreeBSD.org> Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201607152219.u6FMJ1nx089928>