make, PATH & "Win32 error 487"

Satish Balay balay@fastmail.fm
Thu May 23 15:14:00 GMT 2013


Hi,

I'm seeing the following behavior with make, PATH on cygwin. Google
brought up a related post [with PATH and same error]
http://comments.gmane.org/gmane.os.cygwin/137168 with reference to
http://cygwin.com/acronyms/#BLODA as the issue - but I don't
understand how this would apply to this case. Hence this post.

Attaching a makefile that demonstrates this problem. The following are
my observations.

- The breakage is observable - when I have 2 commands invoked via 'make'
  either as 'cmd1|cmd2' or 'cmd1; cmd2'.  The same command executed directly
  by a shell script runs fine. Or single command from make runs fine as well.
- It appears to be related to the huge length of one of the commands - and
  length of PATH
- I tried it on 3 different machines [with differences in default installed software]
  win2008/x64  - breaks when PATH is over 1.5K chars
  win2003/x32 - breaks when PATH is over  2K chars
  win7/x32    - breaks when PATH is over 20K chars.

Any ideas on how to debug this further to better understand the issue
- or workarrounds? This is with latest cygwin [and rebaseall done
correctly]

[Note: I won't have control over cygwin-registery or user env such as
PATH - but I will have control over what I can add to makefile which I
distribute]

BTW: wrt BLODA - I'm increasing the PATH length with: 'export
PATH=$PATH:$PATH' - so the "Big List Of Dodgy Apps" should be the same
in both cases?

thanks,
Satish

----------------

balay@msnehalem2 ~
$ echo $PATH
/usr/local/bin:/usr/bin:/cygdrive/c/Program Files/Microsoft HPC Pack 2012/Bin:/usr/bin:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/Program Files/MPICH2/bin:/cygdrive/c/Program Files (x86)/Microsoft SQL Server/100/Tools/Binn:/cygdrive/c/Program Files/Microsoft SQL Server/100/Tools/Binn:/cygdrive/c/Program Files/Microsoft SQL Server/100/DTS/Binn:/cygdrive/c/Program Files/Microsoft Windows Performance Toolkit:/cygdrive/c/Program Files (x86)/Microsoft SQL Server/90/Tools/binn:/cygdrive/c/Program Files (x86)/Intel/Compiler/Fortran/10.1.019/EM64T/Lib:/cygdrive/c/Program Files/Mellanox/WinMFT:/cygdrive/c/Program Files/Mellanox/MLNX_VPI/IB/Tools:/usr/lib/lapack

balay@msnehalem2 ~
$ echo $PATH |wc -c
765

balay@msnehalem2 ~
$ ./test.sh
30621

balay@msnehalem2 ~
$ make -f test.mk
30621

balay@msnehalem2 ~
$ export PATH=$PATH:$PATH

balay@msnehalem2 ~
$ echo $PATH |wc -c
1530

balay@msnehalem2 ~
$ ./test.sh
30621

balay@msnehalem2 ~
$ make -f test.mk
      0 [main] sh 6952 child_info_fork::abort: can't commit memory for stack 0x28A000(90112), Win32 error 487
/bin/sh: fork: retry: Resource temporarily unavailable
      0 [main] sh 7580 child_info_fork::abort: can't commit memory for stack 0x28A000(90112), Win32 error 487
/bin/sh: fork: retry: Resource temporarily unavailable
      0 [main] sh 10048 child_info_fork::abort: can't commit memory for stack 0x28A000(90112), Win32 error 487
/bin/sh: fork: retry: Resource temporarily unavailable
      0 [main] sh 3000 child_info_fork::abort: can't commit memory for stack 0x28A000(90112), Win32 error 487
/bin/sh: fork: retry: Resource temporarily unavailable
      0 [main] sh 5380 child_info_fork::abort: can't commit memory for stack 0x28A000(90112), Win32 error 487
/bin/sh: fork: Resource temporarily unavailable
test.mk:2: recipe for target `all' failed
make: *** [all] Error 254

balay@msnehalem2 ~
$
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test.mk
Type: application/octet-stream
Size: 30642 bytes
Desc: 
URL: <http://cygwin.com/pipermail/cygwin/attachments/20130523/0447b732/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test.sh
Type: application/x-sh
Size: 30645 bytes
Desc: 
URL: <http://cygwin.com/pipermail/cygwin/attachments/20130523/0447b732/attachment.sh>
-------------- next part --------------
--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


More information about the Cygwin mailing list