<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'><div>"1" is because gcc is structured as having the gcc "driver" and "frontends" like cc1 and cc1plus.</div><div>cm3cg is a frontend from the gcc point of view. So it has/had a "1" in iis name.</div><div>I believe we rename from m3cgc1 to cm3cg.</div><div>The gcc backends are always linked into the frontends anyway -- libbackend.a.</div><div>If this wasn't the case, they'd probably be called things like cc2.</div><div><br></div><div><br></div><div>With Visual C++, for example, the "driver" is cl.exe and the frontends are c1.dll and c1xx.dll and the backend is c2.dll.</div><div>Most compilers are structured in about the same way.</div><div><br></div><div>Your .log:</div><div><br></div><div>--- building in AMD64_FREEBSD ---</div><div><br></div><div>ignoring ../src/m3overrides</div><div><br></div><div>new source -> compiling RTHooks.i3<br>m3cgc1: fatal error:  *** bad M3CG version stamp (0x100), expected 0x110<br>compilation terminated.<br>  m3_backend => 1</div><div><br></div><div><br></div><div><br></div><div> > cp -Pv /mech/construction/mech/ptrees/default/lang/modula3/work/cm3-8c1b86a/m3-sys/cminstall/src/config-no-install/ALPHA32_VMS /mech/construction/mech/ptrees/default/lang/modula3/work/cm3-8c1b86a/bin/config/ALPHA32_VMS</div><div><br></div><div><br></div><div>I think the problem is that upgrade wants to do things in-place, but you have asked to ship/install to a new place.</div><div>It kind of does install while it builds.</div><div><br></div><div><br></div><div>make-dist.py kinda does this better.</div><div><br></div><div><br>It builds into a new place, but first copies from the old.<br>Can you do that?</div><div><br></div><div><br>Or, similarly, if you are building into a new empty place, can you add it to the start of $PATH,<br>so as it fills in, it will take precedence?</div><div><br></div><div><br>I understand this is all not ideal.<br>The default method of "ugprade.py" building should be more like make-dist.<br>The result should be a directory or .tar.gz that the user is told to copy or extract.<br>No in-place updates ought to be done.<br>make-dist.py is really better.</div><div><br></div><div><br></div><div><b>Or, can you try make-dist.py??</b></div><div><br></div><div>Maybe if people use that a bit, we can delete upgrade and just point people at make-dist.py instead.</div><div>It does "min" and "all".</div><div><br></div><div><br></div><div> - Jay<br><br><br></div><div>> Date: Thu, 28 May 2015 10:17:08 -0500<br>> From: rodney_bates@lcwb.coop<br>> To: m3devel@elegosoft.com<br>> Subject: [M3devel] Too many names for the gcc backend. Was: m3cgc1: fatal error ...<br>> <br>> BTW, the gcc-derived back end has too many names.<br>> <br>>    m3cc:   The package name<br>>    m3cg:   The directory containing glue code to gcc<br>>    m3cgc1: The executable built inside m3cc.<br>>            Also, what it identifies itself as in error messages<br>>    cm3cg:  The executable, when installed in /usr/local/cm3/bin<br>> <br>> Did I even get it complete or right?<br>> <br>> On 05/28/2015 06:49 AM, John Marino wrote:<br>> > I got stuck again trying to build the latest on FreeBSD.<br>> ><br>> > 1. tar extracted to working directory along with a bootstrap compiler<br>> > 2. CM3 and CM3_INSTALL defined in environment<br>> > 3. executed scripts/python/upgrade.py<br>> ><br>> > result:<br>> > http://leaf.dragonflybsd.org/~marino/m3.log<br>> ><br>> > I could guess that something is picking up a bootstrap component instead<br>> > of a newly built one.  I guess it's trying to build the c backend?<br>> ><br>> > Am I doing some kind of obvious mistake?<br>> ><br>> > John<br>> ><br>> <br>> -- <br>> Rodney Bates<br>> rodney.m.bates@acm.org<br></div>                                       </div></body>
</html>