[m-dev.] Build problem of ROTD and Git trunk

Paul Bone paul at bone.id.au
Fri Feb 27 20:58:29 AEDT 2015

Hi Micheal

On Fri, Feb 27, 2015 at 05:01:05PM +0800, Michael Richter wrote:
> .
> .
> .
> cd library && PATH=../scripts:../util:../mfilterjavac:../../mfilterjavac:$PATH
> MMAKE_VPATH=. MMAKE_DIR=../scripts DESTDIR= ../scripts/mmakemake[2]:
> Entering directory
> `/home/michael/Development/Mercury/mercury-srcdist-rotd-2015-02-20/library'/usr/local/mercury/bin/mmc
> --compile-to-c --grade asm_fast.gc     --mercury-linkage shared
> --flags LIB_FLAGS   --flags INTER_FLAGS  --inline-vars-threshold 10000
> --structure-sharing-widening 1   tree234 > tree234.err 2>&1make[2]:
> *** [tree234.c_date] Error 1make[2]: Leaving directory
> `/home/michael/Development/Mercury/mercury-srcdist-rotd-2015-02-20/library'make[1]:
> *** [library] Error 2make[1]: Leaving directory
> `/home/michael/Development/Mercury/mercury-srcdist-rotd-2015-02-20'make:
> *** [all] Error 2
> That's the helpful error message I get when I ./configure && make the
> latest ROTD.  I've looked over the config.log (attached) and can't find
> anything that stands out as a problem.  I've attached the tree234.err file,
> but it's pretty simple: it can't find "private_builtin.trace_set_io_
> state/1".
> I'm kind of at a loss as to where to go from here.  ./configure said the
> mmc version I had was fine for bootstrapping so I'm not sure what went
> wrong.

Configure lied.  We updated the compiler in such a way that required
boostraping the new change and neglected to update the configre script to
detect incompatible versions.  I'll try to get that fixed.

The easiest solution is to delete and re-unpack your build tree, and repeat
your actions again except without mmc in your path.

One thing I like to do is use "stow" to manage my /usr/local filesystem.  if
I install things with --prefix /usr/local/stow/mercury-*VERSION* then from
within /usr/local/stow I run the "stow mercury-*VERSION*" command and it
creates symlinks to that version of Mercury.  This way I can have many
Mercurys installed at once, and uninstallation is as simple as stow -D
mercury-*VERSION*; rm -rf mercury-*VERSION*  This isn't required, I just
think it's a good idea.

Paul Bone

More information about the developers mailing list