[mercury-users] detstack overflow on install and simple invocation of mmc

Julien Fischer juliensf at csse.unimelb.edu.au
Sun Aug 2 17:45:45 AEST 2009


Hi,

On Sun, 2 Aug 2009, Paul Bone wrote:

> On Sat, Aug 01, 2009 at 01:00:16PM +1000, Mark Wassell wrote:
>> Hi,
>>
>> I am getting the following error at the end of the install and whenever
>> I run mmc with no parameters.
>>
>> mmc --generate-dependencies --grade hlc.gc      --mercury-linkage shared
>> --flags LIB_FLAGS   --flags INTER_FLAGS
>> -R/usr/local/mercury-0.13.1/lib/mercury/lib/hlc.gc
>> -R/usr/local/mercury-0.13.1/lib/mercury/lib  --no-warn-nothing-exported
>> mer_std
>>
>> Mercury runtime: memory zone detstack#0 overflowed
>> This may have been caused by a stack overflow, due to unbounded recursion.
>>
>> I am running:
>>
>> Debian - Release 5.0.2
>> Kernel Linux 2.6.26-2-amd64
>> Memory: 1005.3 MiB
>>
>> I believe I have enough memory and no other application is giving a
>> problem. I am running through VMWare.
>
> We've noticed a number of problems with recent versions of GCC.  What version
> of GCC are you using?  If it helps we know that gcc-3.4 works fine,
> unfortunatly it will be removed from Debian soon.  Otherwise some workarrounds
> are available.  Please see the FAQ.

Actually, don't see the FAQ because the 0.13 version doesn't say
anything useful here and the ROTD version contains advice that doesn't
apply to version 0.13.X.  I've described an equivalent workaround to
that in the ROTD FAQ that will work with version 0.13.X below.

> I'm also activly working on packages for
> Debian.  Before they make it into the main repositories I'll host them in our
> own bleeding-edge repositories.  Let me know and I"ll e-mail you when they're
> ready.  (They only support the asm_fast.gc grade with static linking for now).

For Mercury 0.13.X (only):

If gcc 3.4 is available, then tell Mercury to use that and everthing
should be fine.  This can be done by invoking configure script with

     --with-cc=/usr/bin/gcc-3.4

If gcc 3.4 is not available or you don't wish to use it.

(1) In the top-level of the Mercury source tree (the same directory in
     which the configure script is located), create a file named
     Mmake.params that contains the following line:

         GRADE=none.gc

(2) Invoke configure with

     --enable-libgrades=none.gc,hlc.gc --with-default-grade=hlc.gc

     This will produce a minimal Mercury installation.

(3) If you want to build and install the libraries in other grades
     as well then (some of) the following would be a reasonable choice
     for your system:

     hlc.gc.tr
     hlc.gc.prof
     hlc.gc.memprof
     hlc.par.gc
     none.gc.tr.debug
     none.gc.decldebug
     none.gc.profdeep

     You can tell configure to build some or all of them by adding them
     to the value of configure's --enable-libgrades option.

(4) Do make and make install.

Julien.
--------------------------------------------------------------------------
mercury-users mailing list
Post messages to:       mercury-users at csse.unimelb.edu.au
Administrative Queries: owner-mercury-users at csse.unimelb.edu.au
Subscriptions:          mercury-users-request at csse.unimelb.edu.au
--------------------------------------------------------------------------



More information about the users mailing list