make-w32
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GNU make 4.2 (and 4.2.1) failing due to length of command-line


From: Eli Zaretskii
Subject: Re: GNU make 4.2 (and 4.2.1) failing due to length of command-line
Date: Wed, 22 Jun 2016 17:48:14 +0300

> From: Adrian Muresan <address@hidden>
> Date: Tue, 21 Jun 2016 22:53:50 +0000
> 
> For more complete info, go to here
> 
> http://stackoverflow.com/questions/37932984/gnu-make-4-2-and-4-2-1-on-windows-bug

That discussion is full of misinformation, so let's ignore it, OK?

> I am making this target only
> 
> deploy_marketProperties: 
> echo Copying application data... && $(MKDIR)
> "C:/Users/User1/Desktop/A/Proj/src/../lib/armle-v7/release/marketProperties" 
> && $(COPY_DIR) $(wildcard
> C:/Users/User1/Desktop/A/Proj/src/subProj/marketProperties/*)
> "C:/Users/User1/Desktop/A/Proj/src/../lib/armle-v7/release/marketProperties"
> 
> Using following command
> make deploy_marketProperties --debug=vjm
> 
> On GNU make 3.81, it works fine. But on make 4.2 and 4.2.1, I get an error:
> 
> cp: target `C' is not a directory
> 
> The problem appears to be the length of the command. If I delete some JSON 
> files, it works fine.

I cannot reproduce this.  in general, Make on Windows uses APIs that
support command lines up to 32K bytes.  I just successfully ran a
Makefile that invoked a command with 23K bytes (which is more than
your 18K, as reported on Stackoverflow), with no problems.

So I think some other factor is at work here.  The first suspect is
the way you built Make 4.2.  Could you please try the binaries
available from this site:

  https://sourceforge.net/projects/ezwinports/files/?source=navbar

(I'm guessing you don't need Guile support in Make, so the
"without-guile" binary zip is for you.)  This is the binary I used in
the experiment described above.  The command line I tried was this:

  echo 123456789 123456789 123456789 123456789 123456789 ...

etc., up to 23K characters.  Also, since you seem to be using the MSYS
Bash, I used it as well (I have MSYS installed here).  I don't know
what kind of Bash build you got from the QNX toolkit, but at least the
output of "sh --help" I get here is identical to what you show, so
there's hope it's the same or similar binary.

So please try the above-mentioned binary distribution of Make 4.2, and
please try the simple command I used.  If that works, then I suggest
to try your real target with the same binary of Make.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]