[tex-live] Can't spawn "cmd.exe": No such file or directory at F:/TeXLive/2008/tlpkg/TeXLive/TLUtils.pm line 459.
t34www at googlemail.com
Wed Dec 24 11:10:26 CET 2008
2008/12/24 Dan Luecking <luecking at uark.edu>:
> I get this error only when there are a huge number of files going
> into the backup file. The error message is always accompanied by
> screen after screen of filenames. I think this might be due to
> running tar with all the files listed on the command line. This
> might result in buffer overflow and throw Windows into confusion.
> The definition of make_container has the following comments
> # Get list of files. We have to pass them all on the command line,
> # because there is no portable way to pass them on stdin. This can be
> # a lengthy command line, but modern systems have enough argv space.
> # our biggest package is tex4ht, which needs about 200k.
> tar allows one to pass the list of files in an external file
> (--files-from or -T). If the too-long list is the problem, that
> would be a way to work around it.
> The command line limit for cmd.exe is variously given as 8K characters
> (on an interactive command line, before expansion) 16K (after expansion
> or if cmd.exe is used non-interactively). There are other claimed
> limits, the largest I ran across was 32K. The list of venturisadf files
> is about 43K.
That could be the cause, indeed. There is a hard limit for command
line size of 32K. This is the maximum size that CreateProcess API can
accept. But there are others as well: 2K if you use ShellExecute API,
8K for cmd.exe on XP (2K on win2000).
What I don't understand is why the error says cmd.exe when the call
out is made to tar.exe? Does 'system' function in Perl automatically
adds cmd.exe at the beginning or what? I would expect that this is a
wrapper around CreateProcess API.
Anyway, it should be easy to test if this is what causes the problems.
More information about the tex-live