aicasm build error
Ian Lepore
ian at FreeBSD.org
Sat Sep 14 19:17:14 UTC 2013
On Sat, 2013-09-14 at 20:42 +0200, Dimitry Andric wrote:
> On Sep 14, 2013, at 19:50, Ian Lepore <ian at freebsd.org> wrote:
> > For a while I've been getting a build error on aicasm during the early
> > steps of the build. Today I finally dug into it and discovered it's
> > because the build is using a mix of header files, some from /usr/include
> > on the build host, and some from obj/... for the target being built. It
> > happens because dev/aic7xxx/aicasm/Makefile contains CFLAGS+= -I. and
> > the current directory when aicasm builds is obj/.../<kernconf>. In my
> > case it was picking up machine/_types.h from objdir.
> >
> > Apparently this is usually harmless, but if the build host system and
> > the target versions are far enough apart, or with a cross-build where
> > the host and target are different architectures, you can get problems.
> >
> > After a little digging, I just now discovered Marcel fixed this long ago
> > in r70000, but then it got undone in r236578 a couple months ago. Is
> > there any reason not to restore Marcel's fix, such as with the attached
> > patch?
>
> It got undone for a specific reason, which is mentioned in the commit
> message for r236578.
>
> This hack might make it work, but it might also cause other issues. The
> problem really is how to make sure aicasm is compiled with the *host*
> compiler, not the compiler from /usr/obj.
>
> -Dimitry
>
Actually, the commit message that removed it talks about
-Wunused-arguments and -Werror and -nostdinc, and then says -nostdinc is
removed, and says nothing at all about the fact that -I/usr/include was
also removed at the same time. I'm proposing adding back the -I but not
the -nostdinc.
Another possibly-viable fix is to remove the -I. so that it doesn't pick
up headers from obj/..., which makes buildkernel work for me, but maybe
it would cause the aicasm build to fail if built separately or
something.
-- Ian
More information about the freebsd-current
mailing list