$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: John Maddock (john_at_[hidden])
Date: 2005-07-18 07:22:35
I've tracked down the cause of the random_test failures with some Win32 
compilers (Borland and Intel 8 and 9 certainly).
Within the test, the random number generator gets passed around by value 
when constructing a variate_generator.  However there are a couple of 
generators that contain large arrays of long's (the mersenne twister is the 
first to be tested that has this problem).  It's reasonably well known that 
on Windows, copying large arrays on the stack can overrun Window's stack 
protection and growth mechanism, resulting in the program trying to write to 
an invalid address.
For the Borland compiler, adding:
<linkflags>-lS:8000000 <linkflags>-lSc:8000000
Fixes the regression.
For Intel adding:
<linkflags>-STACK:8000000:8000000
Works most of the time, but seems to be a bit capricious (it appears you 
have to delete all temporary linker files before attempting the link, 
otherwise strange things happen).
I'm not even sure if this is the right fix: should we really be passing such 
large arrays around on the stack in the first place?
John.