Subject: Re: 11/17/99 make build error
To: John F. Woods <firstname.lastname@example.org>
From: Bill Studenmund <email@example.com>
Date: 11/17/1999 13:53:42
On Wed, 17 Nov 1999, John F. Woods wrote:
> dependall ===> games/fortune/strfile
> mkdep -a -nostdinc -idirafter /work/DESTDIR/usr/include /work/src/games/fortune
> cc -O -c /work/src/games/fortune/strfile/strfile.c
> In file included from /work/src/games/fortune/strfile/strfile.c:62:
> /work/src/games/fortune/strfile/strfile.h:42: sys/endian.h: No such file or dire
> *** Error code 1
> I am doing the compilation using the July snapshot.
> There is no /usr/include/sys/endian.h, but there is a
> /work/DESTDIR/usr/include/sys/endian.h, which I see was checked in
> 8/21/99. /usr/src/games/fortune/strfile/Makefile overrides the
> standard compilation rules, and it does not take into account the
> delicacies of $(DESTDIR). (Should it? Possibly not, in which case
> this is just yet another "can't get there from here" mine left in the
> upgrade build process...)
I'm afraid this is a "can't get there from here" mine.
Looking at src/games/fortune/strfile/Makefile, we see it uses
bsd.hostprog.mk. That means it's a program which runs on the host (i.e.
build) machine. So it needs include files in /usr/include. The reason for
this is so that all works well when you say cross compile.
$DESTDIR/usr/include and /usr/include could point to opposite endianisms,
and it would all just work right.