Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Date: Sun, 8 May 2005 20:02:17 -0400 (EDT) From: Igor Pechtchanski Reply-To: cygwin AT cygwin DOT com To: cygwin AT cygwin DOT com Subject: Re: Solution, possible FAQ entry: make problem: execvp: /bin/sh: Illegal Argument In-Reply-To: <20050508230637.GD3896@trixie.casa.cgf.cx> Message-ID: References: <427BE5FE DOT 7020000 AT fabeljet DOT com> <20050508003215 DOT GA24398 AT trixie DOT casa DOT cgf DOT cx> <20050508230637 DOT GD3896 AT trixie DOT casa DOT cgf DOT cx> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII On Sun, 8 May 2005, Christopher Faylor wrote: > On Sun, May 08, 2005 at 04:11:08PM -0400, Igor Pechtchanski wrote: > >On Sun, 8 May 2005, Joshua Daniel Franklin wrote: > > > >> > >On 5/6/05, J?rgen Havsberg Seland wrote: > >> > >> This problem is (often) due to the command-line being to long for the > >> > >> windows execution model. To circumvent this, mount the path of the > >> > >> executable using the -X switch. For instance, use > >> > > > >> > On Sat, May 07, 2005 at 05:11:39PM -0700, Joshua Daniel Franklin wrote: > >> > >I don't mind adding an FAQ, it looks like it's been asked few times. Any > >> > >problem with replacing this ancient entry about MAKE_MODE (which is > >> > >covered in the User's Guide)? > >> > > > >> > >http://cygwin.com/faq/faq_3.html#SEC93 > >> > > >> On 5/7/05, Christopher Faylor wrote: > >> > Fine with me. > >> > >> Updated with the following text (thanks, J?rgen): > >> > >> Errors of `make: execvp: /bin/sh: Illegal Argument' or `make: execvp: > >> /bin/sh: Argument list too long' are often caused by the command-line > >> being to long for the Windows execution model. To circumvent this, > >> mount the path of the executable using the -X switch to enable cygexec > >> for all executables in that folder; you will also need to exclude > >> non-cygwin executables with the -x switch. Enabling cygexec causes > >> cygwin executables to talk directly to one another, which increases > >> the command-line limit. To enable cygexec for `/bin' and `/usr/bin', > >> you can use these commands in a batch file: > >> > >> mount -X -b -f c:\cygwin\bin /bin > >> mount -X -b -f c:\cygwin\bin /usr/bin > >> mount -x -b -f c:\cygwin\bin\strace.exe /usr/bin/strace.exe > >> mount -x -b -f c:\cygwin\bin\strace.exe /bin/strace.exe > >> mount -x -b -f c:\cygwin\bin\cygcheck.exe /usr/bin/cygcheck.exe > >> mount -x -b -f c:\cygwin\bin\cygcheck.exe /bin/cygcheck.exe > >> > >> Note that you must specifically exclude strace and cygcheck, which are > >> not linked to the Cygwin DLL. > > > >Unless I'm mistaken, you'll also need to mention that invoking > >/bin/cygcheck and /bin/strace (and /usr/bin/cygcheck, and /usr/bin/strace) > >won't work with the above -- you'll need to also add > > > >mount -x -b -f c:\cygwin\bin\strace.exe /usr/bin/strace > >mount -x -b -f c:\cygwin\bin\strace.exe /bin/strace > >mount -x -b -f c:\cygwin\bin\cygcheck.exe /usr/bin/cygcheck > >mount -x -b -f c:\cygwin\bin\cygcheck.exe /bin/cygcheck > > > >to be able to omit the .exe extension. > > Rather than theorize about what's needed, why not actually *try it*? > > I don't know which of the above is needed but I doubt that all of > them are. Well, I don't know of an easy way of testing whether the cygexec functionality works, but I did try mounting /bin/cygcheck under another name, and referring to it via cygcheck.exe didn't work (and vice versa). Thus I concluded that mounting both the .exe version and the no-extension version is needed. Multiply that by all the various paths (/usr/bin vs. /bin), and that gives 4 mounts for cygcheck (and 4 for strace). Does the above make sense? Igor -- http://cs.nyu.edu/~pechtcha/ |\ _,,,---,,_ pechtcha AT cs DOT nyu DOT edu ZZZzz /,`.-'`' -. ;-;;,_ igor AT watson DOT ibm DOT com |,4- ) )-,_. ,\ ( `'-' Igor Pechtchanski, Ph.D. '---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow! "The Sun will pass between the Earth and the Moon tonight for a total Lunar eclipse..." -- WCBS Radio Newsbrief, Oct 27 2004, 12:01 pm EDT -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/