Date: Sat, 11 Mar 2017 18:35:33 -0800 From: "Ngie Cooper (yaneurabeya)" <yaneurabeya@gmail.com> To: Lawrence Stewart <lstewart@freebsd.org> Cc: Ian Lepore <ian@freebsd.org>, FreeBSD Current <freebsd-current@freebsd.org> Subject: Re: Deterministic rescue buildworld error with custom make.conf/src.conf/MAKEOBJDIRPREFIX Message-ID: <F2F9089D-0174-4D42-8F14-11CAF7105D6B@gmail.com> In-Reply-To: <0aa75720-7670-9b64-a536-9958ff332eea@freebsd.org> References: <f81368cc-14bc-6fe8-9c57-c410615ebbfe@freebsd.org> <1489274995.40576.65.camel@freebsd.org> <0aa75720-7670-9b64-a536-9958ff332eea@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--Apple-Mail=_FDB09B60-3DC2-410F-AF10-6449417BCAC7
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
charset=utf-8
> On Mar 11, 2017, at 18:27, Lawrence Stewart <lstewart@freebsd.org> =
wrote:
>=20
> Hi Ian,
=E2=80=A6
>> The MAKEOBJDIRPREFIX variable must be set in the environment, not in
>> make.conf or on the make command line (documented in build(7)).
>=20
> Your assertion seems at odds with my past experience and my reading of
> the man page... from build(7):
>=20
> The build may be controlled by defining make(1) variables
> described in the ENVIRONMENT section below, and by the
> variables documented in make.conf(5).
>=20
> ... which indicates they are make variables, not environment variables
> specifically. As a concrete example, TARGET and DESTDIR are listed =
under
> the "ENVIRONMENT" section of the man page, yet "EXAMPLES" shows:
>=20
> make TARGET=3Dsparc64 buildworld
> make TARGET=3Dsparc64 DESTDIR=3D/clients/sparc64 =
installworld
>=20
> I've certainly always set build vars documented in the "ENVIRONMENT"
> section of the man page on the make command line without issue. Pretty
> sure I've set MAKEOBJDIRPREFIX from the make command line also in the
> past, though perhaps it has been working for me "by accident" and a
> documentation tweak is in order if the distinction you make is in fact
> relevant...
Hi Lawrence,
Ian=E2=80=99s right per historical behavior, which should still be in =
effect today.
Unfortunately, setting MAKEOBJDIRPREFIX on the command line will result =
in bad things happening because of how bsd.obj.mk works and how =
MAKEOBJDIRPREFIX is manipulated in the build itself (see =
Makefile.libcompat =E2=80=94 it affects some architectures, but maybe =
not sparc64). =46rom =E2=80=A6/Makefile (which should have triggered =
this error message to begin with):
171 MAKEOBJDIRPREFIX?=3D /usr/obj
172 _MAKEOBJDIRPREFIX!=3D /usr/bin/env -i PATH=3D${PATH} MK_AUTO_OBJ=3Dno =
${MAKE} \
173 ${.MAKEFLAGS:MMAKEOBJDIRPREFIX=3D*} __MAKE_CONF=3D${__MAKE_CONF} =
\
174 -f /dev/null -V MAKEOBJDIRPREFIX dummy
175 .if !empty(_MAKEOBJDIRPREFIX)
176 .error MAKEOBJDIRPREFIX can only be set in environment, not as a =
global\
177 (in make.conf(5)) or command-line variable.
178 .endif
Are you sure your script/process didn=E2=80=99t catch a relevant build =
error?
Cheers,
-Ngie
--Apple-Mail=_FDB09B60-3DC2-410F-AF10-6449417BCAC7
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename=signature.asc
Content-Type: application/pgp-signature;
name=signature.asc
Content-Description: Message signed with OpenPGP using GPGMail
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org
iQIcBAEBCgAGBQJYxLP1AAoJEPWDqSZpMIYVKekP/29g3k29s6BEwtCft0XqfiSs
JAEIQkx5B+YrCphaTyMyYUoWu/m0thgJXqlLrD0vnUQYpHKff525W+YNGnpE7jvS
TdkZrm8rOt0HalEfGX3YFhmP7jrGwyjLkmfnd7WhNSQ4KnGCOTrKRzJ8DjcJD2dj
cBYZ3czlYd41hvc4spKJQ7Vv+dAVDNRQS3qo//8XNwD2MQVBSnVjWPJacT+B1O9S
SUG1M1TvauLgkzGZQgGbzDAIH5SksjwsZL8a9BOpMQ9qlutwZStACYAsgzWhGwHd
INViKy9GRbPTFBk2ymDW46s8eqxwhkAiKbUXb4x8coP0239xnUPypspdSGdyHKNH
DIu33mXIESCxGcwOQPRQ9qvBSbG+TZ2sNR7X18OPHPGewY1jIsjv+fmEt0VunfkB
dZTSLaxT7MFxmYwNHhzVAssqBAE+52TARua12ZLClEltda5E0ql+cy4G+tvjNJeb
1gjkyn2VBZUhaXfP6Gd+jm/4UELRz0vm7rQKXaIhY7Zb7VMeYRkf6YtMvXsPVakN
ZVklhVd6ZdHOwLXh2LGLZG2FlGGso+pyWHGp9GnDxinbXQkMW/S0qK9RTGRObXE2
H9BabQL2zDVsb1dSEnBqwmfwl42EJK11OcbA0FnyrcLNTolRRb6banqh5RZqkJIx
txSpgRB5plnBWLOBxh0z
=2q9C
-----END PGP SIGNATURE-----
--Apple-Mail=_FDB09B60-3DC2-410F-AF10-6449417BCAC7--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?F2F9089D-0174-4D42-8F14-11CAF7105D6B>
