Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 6 Dec 2015 07:21:19 -0800
From:      Mark Millard <markmi@dsl-only.net>
To:        FreeBSD PowerPC ML <freebsd-ppc@freebsd.org>, FreeBSD Toolchain <freebsd-toolchain@freebsd.org>, FreeBSD Current <freebsd-current@freebsd.org>
Subject:   11.0-CURRENT SRC_ENV_CONF file vs. MAKEOBJDIRPREFIX in the file: they do not mix
Message-ID:  <A9ECA670-0B14-455E-BB22-7B546CE182CB@dsl-only.net>

next in thread | raw e-mail | index | archive | help
After successfully using the likes of:

env MAKEOBJDIRPREFIX=3D. . . make . . .

from the usual /usr/src starting point.

I tried following:

>  The environment of make(1) for the build can be controlled via the
>      SRC_ENV_CONF variable, which defaults to /etc/src-env.conf.  Some
>      examples that may only be set in this file are MAKEOBJDIRPREFIX,
>      WITH_DIRDEPS_BUILD, and WITH_META_MODE as they are =
environment-only
>      variables.

by using

env SRC_ENV_CONF=3D. . . make . . .

and having the file pointed to contain the MAKEOBJDIRPREFIX=3D. . . .

This did not work.

Say MAKEOBJDIRPREFIX=3D/usr/obj/xtoolchain then I'd get errors for the =
likes of

/usr/obj/xtoolchain/legacy/usr/lib/

not existing during an install operation during buildworld.

If I forced a such legacy directory tree to exist there by copying the =
empty tree from /usr/obj/xtoolchain/usr/src/tmp/legacy/. . . (that it =
had created) I continued to have problems elsewhere, such as:

--- _libinstall ---
sh /usr/src/tools/install.sh -C -o root -g wheel -m 444   libctf.a =
/usr/obj/xtoolchain/usr/lib/
install: /usr/obj/xtoolchain/usr/lib/: No such file or directory
*** [_libinstall] Error code 71

In essence the dynamic, local additions to the path such as usr/src/tmp/ =
sometimes end up missing.

My guess is that it is picking up the

MAKEOBJDIRPREFIX=3D/usr/obj/xtoolchain

definition again and so replacing the built-up prefix for the local =
context.

May be the quoted paragraph from "man src.conf" should not suggest that =
MAKEOBJDIRPREFIX is valid in a file to be referenced by SRC_ENV_CONF:

>  The environment of make(1) for the build can be controlled via the
>      SRC_ENV_CONF variable, which defaults to /etc/src-env.conf.  Some
>      examples that may only be set in this file are MAKEOBJDIRPREFIX,
>      WITH_DIRDEPS_BUILD, and WITH_META_MODE as they are =
environment-only
>      variables.


=3D=3D=3D
Mark Millard
markmi at dsl-only.net




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?A9ECA670-0B14-455E-BB22-7B546CE182CB>