Subject: Re: "xargs: A: No such file or directory"
To: Allen Briggs <>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
List: tech-userlevel
Date: 03/29/2005 21:22:14
>> xargs: A: No such file or directory
> What exactly were you doing at the time?

Watching output from a pkgsrc make, and later a make install, scroll

During the make, I got those when, I think, it was doing the make
install for required other packages, so I speculate that I get it
whenever doing a pkgsrc make install.

> My first thought there is that someone is not considering pathnames
> with spaces and it hit a file or directory like "A Name With Spaces".

If so I have no idea where or what it was.  As far as I know (I can't
tell right now, the machines are at work and turned off) there are no
such names on the entire machine.

The only place I can think of that it might possibly have come from is
that I have LS=A in my environment, because my ls uses $LS - and while
I used my "std" alias, which rips most localisms out

alias std 'set path = ( . /bin /usr/bin /sbin /usr/sbin /usr/games ); setenv SHELL /bin/csh; unsetenv HOSTALIASES; unsetenv LD_LIBRARY_PATH; unsetenv LPATH; unsetenv MANPATH'

it doesn't affect $LS.  But why this would turn into xargs input?
That's the baffling part.  Even if some Makefile does something like
LS=/bin/ls and then use ${LS}, I can't see how that would get an A into
xargs input - or an xargs command, which latter is more likely because
I can't think of anything xargs could get ENOENT for except its
command-to-run executable file.

> I usually use xargs with find(1) and I've taken to almost always
> using find ... -print0 | xargs -0

Yeah.  That's one of the reasons I have my own xargs, which _doesn't_
insist on treating whitespace as separators.  (But even if my xargs
were doing funky things, that wouldn't explain this, since it's in a
directory that "std" rips out of my path, and I did (std;make) and
(std;make install) here.)

/~\ The ASCII				der Mouse
\ / Ribbon Campaign
 X  Against HTML
/ \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B