<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style>
</head>
<body class='hmmessage'>
<pre>/home/mika/cm3/cm3/m3-sys/m3cc/AMD64_LINUX/cm3cg<br><br>That is the problem.<br>For a long time, my config file were willing to run that.<br>Instead of cm3cg in $PATH or cm3cg next to cm3.<br>It bit me a bit too so I stopped doing it that way.<br><br>The instructions are ok. Certainly the skipgcc.<br>Nocleangcc depends on underlying correct incrementality, so might be a bit fragile.<br>The backend has no need or obligation to be forward or backward compatible<br>with any cm3/m3front. It need only be compatible with the one it goes with.<br><br>The upgrading of cm3 and cm3cg is carefully coordinated to avoid any mismatch.<br>Whenever the uprading has gone wrong, it has been fixed. Not any sort<br>of compatibility restored.<br><br>Granted, we could better use the version declaration and error right away clearly.<br>I can make a change there.<br><br> - Jay<br></pre>> To: m3devel@elegosoft.com<br>> Date: Sun, 13 Feb 2011 15:16:26 -0800<br>> From: mika@async.caltech.edu<br>> Subject: Re: [M3devel] bootstrapping problems<br>> <br>> I should probably not have "nocleangcc" and "skipgcc" in there huh...<br>> <br>> still a bit weird that the back-end isn't backward compatible?<br>> <br>>     Mika<br>> <br>> Mika Nystrom writes:<br>> >Jay sent me the following instructions for bootstrapping a while back:<br>> ><br>> >./upgrade.py nocleangcc && <br>> >    ./do-cm3-all.py realclean skipgcc && <br>> >    ./do-cm3-all.py buildship skipgcc<br>> ><br>> >It seems reasonable enough for me. <br>> ><br>> >I unpacked the REL distribution, checked everything out, etc.<br>> ><br>> >However something is very wrong.  The newer back-end does not seem<br>> >compatible with the old m3front (not even backward-compatible), and it's<br>> >getting called at the wrong time:<br>> ><br>> >ignoring ../src/m3overrides<br>> ><br>> >rm .M3SHIP<br>> >rm .M3OVERRIDES<br>> >rm .generic.tmp<br>> >rm .generic.tmp<br>> >inhale libsysutils.m3x<br>> >inhale /usr/local/cm3/pkg/m3core/AMD64_LINUX/libm3core.a<br>> >inhale /usr/local/cm3/pkg/libm3/AMD64_LINUX/libm3.a<br>> ><br>> >new source -> compiling EnvUtils.i3<br>> >m3front ../src/EnvUtils.i3 -w1<br>> >/home/mika/cm3/cm3/m3-sys/m3cc/AMD64_LINUX/cm3cg -gstabs+ -m64 -fPIC -mno-alig<br>> >n-double -funwind-tables -quiet -fno-reorder-blocks EnvUtils.ic -o EnvUtils.is<br>> >cm3cg: fatal error:  *** illegal type: 0x17, at m3cg_lineno 4<br>> >compilation terminated.<br>> >  m3_backend => 1<br>> >m3cc (aka cm3cg) failed compiling: EnvUtils.ic<br>> >rm EnvUtils.is<br>> ><br>> >Why is it calling the new back end?  This is the very first thing it does (it <br>> >hasn't cleaned m3cc for some reason).<br>> ><br>> >The new back end doesn't like the output of the old compiler:<br>> ><br>> >(119)ukdsl204:~/cm3/cm3/m3-libs/sysutils/AMD64_LINUX>/home/mika/cm3/cm3/m3-sys<br>> >/m3cc/AMD64_LINUX/cm3cg -gstabs+ -m64 -fPIC -mno-align-double -funwind-tables <br>> >-quiet -fno-reorder-blocks EnvUtils.ic -o EnvUtils.is<br>> >cm3cg: fatal error:  *** illegal type: 0x17, at m3cg_lineno 4<br>> >compilation terminated.<br>> ><br>> >But the old one in /usr/local/cm3/bin likes it just fine...<br>> ><br>> >(120)ukdsl204:~/cm3/cm3/m3-libs/sysutils/AMD64_LINUX>cm3cg -gstabs+ -m64 -fPIC<br>> > -mno-align-double -funwind-tables -quiet -fno-reorder-blocks EnvUtils.ic -o E<br>> >nvUtils.is<br>> >(121)ukdsl204:~/cm3/cm3/m3-libs/sysutils/AMD64_LINUX><br>> ><br>> >Is something going wrong with the bootstrapping process?  I'm going to<br>> >try to delete the newer back end and see if that fixes it.<br>> ><br>> >     Mika<br>                                          </body>
</html>