Date: Mon, 10 Apr 2017 12:12:05 -0700 From: Mark Millard <markmi@dsl-only.net> To: John Marino <freebsdml@marino.st>, FreeBSD Ports <freebsd-ports@freebsd.org> Subject: lang/gcc6-aux build error due to internal Makefile/sh syntax: $${PWDCMD-pwd} is missing a ":" Message-ID: <1626B3C1-0B4E-4070-A830-0EEEF38E0F87@dsl-only.net>
next in thread | raw e-mail | index | archive | help
Context (on a BPI-M3 arm64 board): # 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 I was trying to build synth on an arm64 (BPI-M3) and it in turn tried to build gcc6-aux. That failed with: 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 Looking around in: /usr/obj/portswork/usr/ports/lang/gcc6-aux/work/build/Makefile shows. . . SHELL =3D /bin/sh # 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} . . . # 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 \ && : with line 875 being the one with: @r=3D`${PWD_COMMAND}` It appears to me that the notation $${PWDCMD-pwd} is not what was intended. My guess is that a ":" is missing: PWD_COMMAND =3D $${PWDCMD:-pwd} (/bin/sh notation to avoid an empty PWDCMD by then using pwd). NOTE on arm64 and fork() behavior: head (12) has received 2 fixes to arm64 fork behavior in recent times: -r316679 -r313772 stable/11 is supposed to get an MFC for -r316679 in a couple of weeks. -r313772 was from February and has yet to be MFC'd but is needed. No explicit MFC schedule has been set. =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?1626B3C1-0B4E-4070-A830-0EEEF38E0F87>