Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 10 Apr 2017 13:12:09 -0700
From:      Mark Millard <markmi@dsl-only.net>
To:        John Marino <freebsdml@marino.st>, FreeBSD Ports <freebsd-ports@freebsd.org>
Subject:   Re: lang/gcc6-aux build error due to internal Makefile/sh syntax: $${PWDCMD-pwd} is missing a ":"
Message-ID:  <A3BFEC8A-EF5E-4AB8-8E22-3C267E06784E@dsl-only.net>
In-Reply-To: <1626B3C1-0B4E-4070-A830-0EEEF38E0F87@dsl-only.net>
References:  <1626B3C1-0B4E-4070-A830-0EEEF38E0F87@dsl-only.net>

next in thread | previous in thread | raw e-mail | index | archive | help

On 2017-Apr-10, at 12:12 PM, Mark Millard <markmi at dsl-only.net> =
wrote:

> Context (on a BPI-M3 arm64 board):

I had been thinking of the BPI-M3 for other reasons
and typed that instead of the correct: pine64+ 2GB.
(True elsewhere as well.) I do really mean arm64
here.

> # svnlite info /usr/ports/ | grep "Re[plv]"
> Relative URL: ^/head
> Repository Root: svn://svn.freebsd.org/ports
> Repository UUID: 35697150-7ecd-e111-bb59-0022644237b5
> Revision: 438141
> Last Changed Rev: 438141
>=20
>=20
> I was trying to build synth on an arm64 (BPI-M3) and it in turn tried
> to build gcc6-aux. That failed with:
>=20
> checking for autoheader... no
> configure: updating cache ./config.cache
> configure: creating ./config.status
> config.status: creating Makefile
> config.status: creating config.intl
> config.status: creating config.h
> config.status: executing default-1 commands
> gmake[3]: Leaving directory =
'/usr/obj/portswork/usr/ports/lang/gcc6-aux/work/build'
> gmake[2]: *** [Makefile:875: all] Error 2
> gmake[2]: Leaving directory =
'/usr/obj/portswork/usr/ports/lang/gcc6-aux/work/build'
> *** Error code 2
>=20
> Looking around in:
>=20
> /usr/obj/portswork/usr/ports/lang/gcc6-aux/work/build/Makefile
>=20
> shows. . .
>=20
> SHELL =3D /bin/sh
>=20
> # pwd command to use.  Allow user to override default by setting =
PWDCMD in
> # the environment to account for automounters.  The make variable must =
not
> # be called PWDCMD, otherwise the value set here is passed to make
> # subprocesses and overrides the setting from the user's environment.
> # Don't use PWD since it is a common shell environment variable and we
> # don't want to corrupt it.
> PWD_COMMAND =3D $${PWDCMD-pwd}
>=20
> . . .
>=20
> # The target built for a native non-bootstrap build.
> .PHONY: all
> all:
>        @: $(MAKE); $(unstage)
>        @r=3D`${PWD_COMMAND}`; export r; \
>        s=3D`cd $(srcdir); ${PWD_COMMAND}`; export s; \
>          $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-host all-target \
>        && :
>=20
>=20
>=20
> with line 875 being the one with: @r=3D`${PWD_COMMAND}`
>=20
> It appears to me that the notation $${PWDCMD-pwd} is not
> what was intended. My guess is that a ":" is missing:
>=20
> PWD_COMMAND =3D $${PWDCMD:-pwd}
>=20
> (/bin/sh notation to avoid an empty PWDCMD by then using pwd).
>=20
>=20
> NOTE on arm64 and fork() behavior:
>=20
> head (12) has received 2 fixes to arm64 fork behavior in recent times:
>=20
> -r316679
> -r313772
>=20
> stable/11 is supposed to get an MFC for -r316679 in a couple
> of weeks.
>=20
> -r313772 was from February and has yet to be MFC'd but is needed.
> No explicit MFC schedule has been set.
>=20

=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?A3BFEC8A-EF5E-4AB8-8E22-3C267E06784E>