[m-rev.] For review: New FAQ entries for installation.

Peter Wang novalazy at gmail.com
Wed Sep 3 13:34:47 AEST 2008


On 2008-08-20, Paul Bone <pbone at csse.unimelb.edu.au> wrote:
> 
> For review by anyone.
> 
> Estimated hours taken: 0.5
> Branches: main
> 	
> Add a new FAQ section 'installation', and create two questions within it.
> 
> The first question describes a work-around for bugs 66 and 77.
> 
> The second question describes why the make install process takes a while and
> directs the user to the Grades section in the User Guide.
> 
> doc/faq.texi:
> 	As above.
> 
> 
> Index: doc/faq.texi
> ===================================================================
> RCS file: /home/mercury/mercury1/repository/mercury/doc/faq.texi,v
> retrieving revision 1.33
> diff -u -p -r1.33 faq.texi
> --- doc/faq.texi	14 Jan 2008 00:08:01 -0000	1.33
> +++ doc/faq.texi	20 Aug 2008 02:03:20 -0000
> @@ -75,12 +75,54 @@ into another language, under the above c
>  @node Top,,, (mercury)
>  @top The Mercury Frequently Asked Questions List, version <VERSION>
>  @menu
> +* Installing::      Problems during compilation and installation.
>  * Programming::     Common programming errors.
>  * Unimplemented::   Problems caused by unimplemented Mercury features.
>  * Last resort::     What to do when all else fails.
>  @end menu
>  @end ifnottex
>  
> + at node Installing
> + at chapter Problems during compilation and installation.
> +
> + at enumerate
> +
> + at item
> + at emph{The compiler crashes during the ``make install'' phase}
> + at sp 1
> +
> +An incompatibility between Mercury's low-level C backend and some GCC
> +optimizations in GCC 4.2 seems to be causing problems.  Try using a different
> +version of GCC, otherwise the following instructions may help.
> +
> +After unpacking the tarball but before running @samp{configure}, create a file in
> +the root directory of the unpacked source named @samp{Mmake.params} containing
> +the line @samp{-EXTRA_CFLAGS=-O0}, and run @samp{configure} as
> + at samp{./configure --with-llds-base-grade=none --with-default-grade=hlc.gc}.
> +This disables GCC's optimizations and some of Mercury's optimizations for the

nearly all of Mercury's optimizations

> +low-level C backend.  Programs build using this Mercury installation will use

built

> +the high-level C backend by default.
> +
> +See bugs 66 and 77.

in the bug database.

(Unless I'm mistaken, you would still need to set -O0 when building any
programs with the low-level C grade, so you may want to write something
about that.)

> +
> + at sp 1
> + at item
> + at emph{The ``make install'' phase takes ages!  What's going on?}
> + at sp 1
> +
> +Mercury supports many grades, a grade is a combination the target language and

many grades. A grade ...

> +feature options.  These features include garbage collection, debugging and
> +profiling support.  See ``Grades and grade components'' in the User's Guide.
> +
> +During the ``make install'' phase the newly built compiler is used to compile
> +the standard library in each of the selected grades, the runtime system is also

each of the selected grades. The runtime

> +rebuild for each grade. 

rebuilt

> +
> +To install fewer grades and reduce the time ``make install'' takes, see the
> +configure script's options, in particular @samp{--disable-most-grades}.

Alternatively, run ``make install LIBGRADES=<grades>'' instead, where
<grades> is a space-separated list of grades.


> +
> + at end enumerate
> +
>  @node Programming
>  @chapter Common programming errors
>  



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



More information about the reviews mailing list