Subject: Re: "xargs: A: No such file or directory"
To: None <tech-userlevel@NetBSD.org>
From: Alan Barrett <apb@cequrux.com>
List: tech-userlevel
Date: 03/30/2005 13:58:49
On Tue, 29 Mar 2005, der Mouse wrote:
> I recently tried to set up some packages on a 2.0 machine.  In the
> process, I noticed a line appearing
> 
> xargs: A: No such file or directory

The "print-pkg-size-this" target in pkgsrc/mk/bsd.pkg.mk runs "${XARGS}
-n 256 ${LS} -ld".  This will not play nicely with LS=A in your
environment.

Many makefiles in pkgsrc and the base system use variables to represent
command names.  In most cases, the variable name is simply an uppercase
version of the command name (e.g. ${XARGS}, ${LS}, ${SED}, ${SORT},
etc.).  In a few cases, where the variable that would have been
chosen is known to have another purpose, a different name is used
(e.g. ${GZIP_CMD}, because ${GZIP} is known to have another purpose).

The workaround is to unset ${LS} in your environment before doing pkgsrc
builds.  The fix is to change ${LS} to ${LS_CMD} in all the pkgsrc and
base system makefiles.

--apb (Alan Barrett)