buildworld not using proper build environment

Kevin Oberman oberman at es.net
Mon Aug 22 04:56:06 GMT 2005


> Date: Sun, 21 Aug 2005 09:16:42 +0200
> From: Stefan Farfeleder <stefan at fafoe.narf.at>
> 
> On Sat, Aug 20, 2005 at 09:20:32PM -0700, Kevin Oberman wrote:
> > I'm not a make(1) expert, but something appears wrong with Makefile.inc1
> > and the build environment it provides for buildworld.
> > 
> > There has been a short thread on this with the subject:
> > Unable to build libedit
> > 
> > It turns out that buildworld is using the header files in /usr/include
> > and not those in /usr/obj/usr/src/tmp/usr/include when compiling. I've
> > looked at Makefile.inc1 and it looks like the proper environment is
> > made for AMD64, but perhaps not for other platforms (like i386). I'm not
> > sure what is wrong, but I have confirmed that buildworld is using
> > /usr/include/histedit.h in lieu of the new version in $WORLDTMP.
> > 
> > Am I wrong about all of this this or is something wrong with the
> > buildworld. 
> 
> I think the problem is that the files in lib/libedit include histedit.h
> with "" instead of <>.  This works for NetBSD because they have
> histedit.h in the same directory.  -I. should be dropped from CFLAGS
> probably too.  I once noticed a problem that #include <term.h> picks up
> the local term.h instead of the one in [..]/tmp/usr/include.

Dropping -I. breaks 'make depend', so that's not a good way to go. I
fails to find a LOT of stuff.

I really thought that the <histedit.h> would fix it, but it does not
help. I edited all occurrences of "histedit.h" to <histedit.h>, but
.depend still shows that the files in /usr/obj/usr/src/tmp are used. And
those files are used for everything. All header files listed in .depend
are in /usr/includeand none are in /usr/obj/usr/src/tmp/include.

I then looked at several other .depend files and I don't find any
indication that the new header files are ever used. 

Is my system somehow broken? I have completely removed /usr/obj and done
a fresh cvsup. I don't seem to find any stale files and would not expect
to on a system that was a fresh install three weeks ago. I'd just love
to find where in the makefiles the include environment is set to pull
header files from the build tree instead of the existing system.
-- 
R. Kevin Oberman, Network Engineer
Energy Sciences Network (ESnet)
Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab)
E-mail: oberman at es.net			Phone: +1 510 486-8634


More information about the freebsd-current mailing list