Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 10 Jun 1996 11:34:59 +1000
From:      Bruce Evans <bde@zeta.org.au>
To:        current@FreeBSD.org, terry@lambert.org
Subject:   Re: Minor nit in build process plus fix
Message-ID:  <199606100134.LAA23798@godzilla.zeta.org.au>

next in thread | raw e-mail | index | archive | help
>The ps build builds a -I/sys include line, but since there is no
>/sys/machine, it finds the correct /usr/include/sys directory,
>but gets the old /usr/include/machine directory.

>There is a fix:

>	ln -s i386/include /sys/machine

Better fix: remove `CFLAGS+=-I/sys' from ps/Makefile.  Then whatever
method you use to get the correct /usr/include/sys/* will work.  The
easiest method is for /usr/include/sys to be a symlink to /sys/sys.
This is the default except in releases.  /sys is wrong too (because
only root can change it, and it can only point to one place at a time),
but it's simpler than a maze of symlinks and -I options.

>The reason this is an issue is that the ps command includes sys/proc.h
>which includes files from the machine include directory, and while
>the sys directory is correctly redirected to the current /sys's
>includes, the machine directory is not.

Almost all headers in /usr/include include at least <machine/ansi.h>
from the machine directory, so mixing versions may break things.

>I would also like to see relative path dependencies disappear.  The
>/bin/csh relative path dependency on usr.bin/printf is especially
>annoying, given the relative prioritization of the bin and usr/bin
>directories in a live system.

Relative paths are used to avoid the problems with absolute paths :-].
usr.bin/printf is slightly less likely to be in the usual absolute
place than in the usual relative place.

Bruce



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199606100134.LAA23798>