Re: buildworld not using proper build environment

From: Ruslan Ermilov <ru_at_freebsd.org>
Date: Mon, 22 Aug 2005 12:07:58 +0300
On Sun, Aug 21, 2005 at 09:55:58PM -0700, Kevin Oberman wrote:
> > Date: Sun, 21 Aug 2005 09:16:42 +0200
> > From: Stefan Farfeleder <stefan_at_fafoe.narf.at>
> > 
> > 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.
> 
That's fine, it's what should be used, /usr/obj/usr/src/tmp/usr/include/histedit.h.
"diff /usr/obj/usr/src/tmp/usr/include/histedit.h /usr/src/include/histedit.h"
should be empty.

> 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.
> 
That means that for some reason "stage 4.1: building includes" wasn't
run or did something odd.

> 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.
> 
The magic is in Makefile.inc1, TOOLS_PREFIX=${WORLDTMP}.  The cross-tools
are built with this as a prefix, causing the standard headers to be looked
up in ${WORLDTMP}/usr/include, libraries in ${WORLDTMP}/usr/lib and so on.

See if there's something odd in your /etc/make.conf, or in your command
line.  Or put the compressed output (stdout+stderr) from running the
"make buildworld" command available somewhere for download.


Cheers,
-- 
Ruslan Ermilov
ru_at_FreeBSD.org
FreeBSD committer

Received on Mon Aug 22 2005 - 07:08:03 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:41 UTC