On Mon, Oct 5, 2020 at 5:13 AM mike tancsa <mike at sentex.net>
wrote:>
> On 10/4/2020 8:21 PM, Kyle Evans wrote:
> > On Sun, Oct 4, 2020 at 7:02 PM mike tancsa <mike at sentex.net>
wrote:
> >> Not sure exactly when, but it seems building RELENG_11 seems to be
> >> broken on releng12. I am trying to buildworld on a RELENG12 image
with
> >> -j4 (12.2-STABLE r366088) and it fails with the errors below
> >>
> > Hi,
> >
> > I've been battling this one for a couple days, but I really
haven't
> > decided how to move forward. The TL;DR version is that crunchgen is
> > getting the OBJDIR wrong when building WITHOUT_AUTO_OBJ by assuming
> > objects will be built in-tree, but the reality is that it's more
> > complicated than that- it may still use out-of-tree OBJDIR if some
> > circumstances are hit.
> >
> > This is reproducible on -HEAD and stable/12, too, but it's
effectively
> > mitigated by the fact that those branches default to WITH_AUTO_OBJ.
> >
> > CC'ing Bryan, because he probably has a better idea of how to fix
it.
> > I almost smacked it with a "shell out for each utility and just
ask
> > what the OBJDIR is" hammer, but I don't want to get smacked.
=)
>
> Thanks, is it merely defining
>
> WITH_AUTO_OBJ
>
> to allow things to build ? Would that have just build consequences or
> would it cause installation issues too ? We crossbuild on a releng12 box
> and then mount over nfs to do an installworld on some servers.
>
Yes, I suspect this is sufficient -- you'd need to make sure the
rescue build is clean, so either a not-no-clean build or make -C
rescue/rescue clean prior so that it rebuilds the rescue.mk inside
your .OBJDIR (probably better to just do a full clean build). Note
that I don't know what kind of behavior may be present that leaves it
off-by-default in 11; Bryan put a lot of work into the build system
between 11 and 12.
Thanks,
Kyle Evans