Discussion:
[m-dev.] Build problem of ROTD and Git trunk
Michael Richter
2015-02-27 09:01:05 UTC
Permalink
.

.

.

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.

Linux isolde 3.13.0-24-generic #47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014
x86_64 x86_64 x86_64 GNU/Linux
--
"Perhaps people don't believe this, but throughout all of the discussions
of entering China our focus has really been what's best for the Chinese
people. It's not been about our revenue or profit or whatnot."
--Sergey Brin, demonstrating the emptiness of the "don't be evil" mantra.
Zoltan Somogyi
2015-02-27 09:51:33 UTC
Permalink
Post by Michael Richter
I've attached the tree234.err file,
but it's pretty simple: it can't find "private_builtin.trace_set_io_
state/1".
That tells me that you are trying to compile the current ROTD
with an installed compiler that dates from before an incompatible
change to the Mercury standard library. If you install the ROTD
from the source distribution, setting your path to *not* include
any Mercury compilers when you invoke the configure script,
this problem should not occur.
Post by Michael Richter
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.
I will update the configure script to detect this problem.

Zoltan.
Paul Bone
2015-02-27 09:58:29 UTC
Permalink
Hi Micheal
Post by Michael Richter
.
.
.
cd library && PATH=../scripts:../util:../mfilterjavac:../../mfilterjavac:$PATH
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
*** [tree234.c_date] Error 1make[2]: Leaving directory
*** [library] Error 2make[1]: Leaving directory
*** [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
Julien Fischer
2015-02-27 10:10:49 UTC
Permalink
Hi Paul,
Post by Paul Bone
Post by Michael Richter
.
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.
It might be worth adding a note to the downloads page that compilers from
rotd-2014-12-18 onwards
cannot be compiled with compilers before that. (An ideal opportunity of
doing this might be when you
upload today's ROTD!)

Cheers,
Julien.
Paul Bone
2015-02-28 00:09:13 UTC
Permalink
Post by Julien Fischer
Hi Paul,
Post by Paul Bone
Post by Michael Richter
.
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.
It might be worth adding a note to the downloads page that compilers from
rotd-2014-12-18 onwards
cannot be compiled with compilers before that. (An ideal opportunity of
doing this might be when you
upload today's ROTD!)
Does this look correct?

http://dl.mercurylang.org/index.html
--
Paul Bone
Julien Fischer
2015-02-28 02:35:12 UTC
Permalink
The message looks fine, but it should be on the version from 18 December
2014. That's was the first
build after the change to private_builtin was completed.

Cheers,
Julien.
Post by Paul Bone
Post by Julien Fischer
Hi Paul,
Post by Paul Bone
Post by Michael Richter
.
I'm kind of at a loss as to where to go from here. ./configure said
the
Post by Julien Fischer
Post by Paul Bone
Post by Michael Richter
mmc version I had was fine for bootstrapping so I'm not sure what
went
Post by Julien Fischer
Post by Paul Bone
Post by Michael Richter
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
Post by Julien Fischer
Post by Paul Bone
detect incompatible versions. I'll try to get that fixed.
It might be worth adding a note to the downloads page that compilers from
rotd-2014-12-18 onwards
cannot be compiled with compilers before that. (An ideal opportunity of
doing this might be when you
upload today's ROTD!)
Does this look correct?
http://dl.mercurylang.org/index.html
--
Paul Bone
Paul Bone
2015-02-28 02:48:46 UTC
Permalink
Post by Julien Fischer
The message looks fine, but it should be on the version from 18 December
2014. That's was the first
build after the change to private_builtin was completed.
Sorry, I didn't notice. Fixed.
--
Paul Bone
Loading...