[M3devel] m3cgc1: fatal error: *** bad M3CG version stamp (0x100), expected 0x110
Olaf Wagner
wagner at elegosoft.com
Fri May 29 08:57:50 CEST 2015
On Thu, 28 May 2015 22:18:36 -0500
"Rodney M. Bates" <rodney_bates at lcwb.coop> wrote:
> On 05/28/2015 05:15 PM, Rodney M. Bates wrote:
> >
> > On 05/28/2015 12:06 PM, Olaf Wagner wrote:
> >> On Thu, 28 May 2015 17:56:20 +0200
> >> John Marino <adacore at marino.st> wrote:
> >>
> >>> On 5/28/2015 17:01, Rodney M. Bates wrote:
> >>>> I don't know why that happened. I don't have experience with the
> >>>> Python scripts.
> >>>>
> >>>> Jay?
> >>>>
> >>>> Also, this script built the compiler before the support libraries
> >>>> m3core and libm3. I think there may have been one bootstrap scenario
> >>>> where this was the way it needed to be done, but usually it is the
> >>>> other way around--these two libraries first.
> >>>>
> >>>>> Am I doing some kind of obvious mistake?
> >>>>>
> >>>> No, it's a bootstrap barrier. These pop up somewhat regularly. We
> >>>> all usually just build from the most recent development build, which
> >>>> works for getting new things tried out initially. But we need to
> >>>> make a habit of regularly rebuilding from the previous release to
> >>>> flush these out.
> >>>
> >>> Olaf said, IIUC, that the current code can't be built by the last
> >>> release compiler. Putting aside that I believe that should be a hard
> >>> requirement for the project, it sounds like maybe the last release can
> >>> build it if the build order is fixed (e.g. a better upgrade.py script)?
> >>> It's not clear to me what the real situation is.
> >>
> >> No, this is a misunderstanding. I just said or tried to say that there
> >> is no script (yet) that is smart enough to do all the things necessary to
> >> build the current compiler on base of 5.8.6.
> >>
> >>>> You might try scripts/do-cm3-front.sh realclean
> >>>> scripts/do-cm3-front.sh buildship
> >>>>
> >>>> (I usually save /usr/local/cm3/bin/cm3 and /usr/local/cm3/bin/cm3cg
> >>>> at this point. The step below does it somewhat redundantly, but only
> >>>> one level, unless the version number changes.)
> >>>>
> >>>> scripts/install-cm3-compiler.sh upgrade.
> >>>> From here, you are using the new compiler.
> >>>> scripts/do-cm3-<whatever-else-you-want>.sh buildship
> >>>>
> >>>> That this works, starting with the previous release compiler, is my
> >>>> criterion for having removed bootstrap barriers.
> >>
> >> Rodney, have you really tried that? I'm not sure the steps above will
> >> work. I had the feeling that we're missing some intermediate releases, but
> >> I might be wrong there.
> >>
> >
> > I have done it a number of times for AMD64_LINUX and LINUXLIBC6, using the
> > last release compiler, and successfully building a development compiler,
> > for several different development snapshots. The last time was probably
> > a few months ago, and I don't think much has happened in the compiler
> > and library packages that would make them not compile. It will take a
> > me a little time, but I will try it again on these platforms.
> >
>
> OK, this is working for me on LINUXLIBC6.
>
> With the release compiler installed:
>
> $ cm3 -version
> Critical Mass Modula-3 version 5.8.6
> last updated: 2010-04-11
> compiled: 2013-09-13 21:38:06
> configuration: /usr/local/cm3/bin/cm3.cfg
> host: AMD64_LINUX
> target: AMD64_LINUX
>
> And a freshly pulled git repository from github,
> in cm3/scripts:
>
> 1) $ ./do-cm3-all.sh realclean #Clean everything
> 2) $ ./do-cm3-front.sh buildship #Build a compiler & its support libraries
>
> All compiles succeeded.
>
> 4) $ ./install-cm3-compiler.sh upgrade # Install the compiler
>
> $ cm3 -version
> Critical Mass Modula-3 version d5.10.0
> last updated: 2015-05-21
> compiled: 2015-05-29 02:54:41
> configuration: /usr/local/cm3/bin/cm3.cfg
> host: AMD64_LINUX
> target: AMD64_LINUX
>
> Now repeat steps 1 and 2. This will use the newly compiled head compiler.
> to rebuild itself. All compiles succeeded.
>
> Finally, $./do-cm3-all.sh buildship #Build the rest.
>
> This compiles all the remaining stuff, none of which is involved in bootstrapping.
> All compiles succeeded.
>
> In the past, I often will install the second-time-compiled head compiler and
> do it all a third time. After getting this far, this has never failed, and
> I didn't do it this time.
>
> New package libunicode uses an addition to Compiler.i3 that is not in the release, so
> you have to install the new compiler before compiling libunicode.
Great. So the situation is better than I assumed after my struggles
a week ago. Thanks for verifying that.
Olaf
--
Olaf Wagner -- elego Software Solutions GmbH -- http://www.elegosoft.com
Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany
phone: +49 30 23 45 86 96 mobile: +49 177 2345 869 fax: +49 30 23 45 86 95
Geschäftsführer: Olaf Wagner | Sitz: Berlin
Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194
More information about the M3devel
mailing list