[M3devel] m3cgc1: fatal error: *** bad M3CG version stamp (0x100), expected 0x110

John Marino adacore at marino.st
Thu May 28 17:56:20 CEST 2015


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.


> 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.

My work takes place within a Makefile and moving things in /usr/local
(for example) is actually illegal.  Now I could do all this manually for
the purpose of building a new bootstrap, but as I mentioned in a
previous post, it might be more effective to emulate what you guy have
done: essentially build a series of bootstraps at strategic hashes until
I've acquired a compiler that can build this (and then use that product
as bootstrap for FreeBSD ports).

If I did that approach, I could use a hint on the hashes to try...

John



More information about the M3devel mailing list