From: Reini U. <ru...@x-...> - 2006-11-28 22:22:38
|
Aaron Brown schrieb: > This question has Cygwin-related aspects, but I figured I'd > ask here first. While I was building on Cygwin, ./configure > gave me the following message: > >> # The default stack size on your platform is insufficient >> # and must be increased to at least 8192. You must do either >> # 'ulimit -s 8192' (for Bourne shell derivatives, e.g., bash and zsh) or >> # 'limit stacksize 8192' (for C shell derivarives, e.g., tcsh) > But ulimit just gives me an error ("stack size: cannot > modify limit: Invalid argument"). hmm. > A little googling turned up this message: > > http://www.cygwin.com/ml/cygwin/2003-03/msg01394.html > >> [...] The system call to which the ulimit shell built-in >> delegates its work is not implemented in Cygwin. >> >> I believe link-time is the only way to override the >> default stack allotment is during compilation (or linking, >> as the case may be): E.g. (from a message by Gerrit P. >> Haase, subject "Re: increase stacksize" sent Wed, 17 Jul >> 2002 15:54:42 +0200): You can also change the stack size in the exe afterwards by using some COFF capable binutil, like EDITBIN from MSVC or maybe some perl script. EDITBIN /STACK:8192000 clisp.exe http://msdn2.microsoft.com/en-us/library/35yc2tc3.aspx The similar gnu tool objcopy cannot do that. >> gcc -Wl,--stack,8388608 -o your.exe your.source.c > > In an attempt to apply this knowledge I added > --stack,8388608 to $CLFLAGS in src/Makefile. This made make > tell me: > >> cc1: error: unrecognized option `-fstack,8388608' man ld --stack reserve,commit Specify the amount of memory to reserve (and optionally commit) to be used as stack for this program. The default is 2Mb reserved, 4K committed. [This option is specific to the i386 PE targeted port of the linker] > so I undid my change and compiled with the existing stack > size (2043k as reported by ulimit). > How important is this? Is it a hard limit, in the sense > that certain things will break under my current stack size, > or is it just a matter of things running more or less > quickly? If it is a hard limit, is there a way for me to > increase the stack size? Well, your recursion depth is limited. I'll try to use the new LDFLAGS --stack 8192000 setting on the next release. With libsvm included. -- Reini Urban http://phpwiki.org/ http://murbreak.at/ http://helsinki.at/ http://spacemovie.mur.at/ |