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

John Marino adacore at marino.st
Sun May 31 21:26:45 CEST 2015


On 5/31/2015 21:13, Rodney M. Bates wrote:
> The error message you keep getting pretty certainly means it is running a
> new cm3cg with an old cm3.  And it consistently happens immediately after
> cm3cg is rebuilt.
> 
> The build of cm3cg (package m3cc) appears to be the first use of cm3 in all
> your failed builds, and I don't think that package would ever run cm3cg, as
> there is no Modula-3 code in it.  Which means there is no proof that the
> version of cm3cg that would have been used before it was rebuilt is the old
> one.  (Could it be a new one left over from a previous incomplete build?)

That's not possible.  The bootstrap is packaged in a compressed tarball
and extracted for the sole purpose of building M3.  It would have not
leftovers in it.

It comes with cm3, cm3cg, m3bundle, and mklib in the bin directory.

the contents of the bootstrap M3 cm3.cfg are:
INSTALL_ROOT = path() & "/.."
include (path() & "/../etc/modula3/AMD64_FREEBSD")


> One experiment that would prove this would be, in the state your are
> starting from before trying a full build, try any means of running
> cm3 on a package that contains Modula-3 code, to see if it avoids the
> recurring problem.

I think this is N/A.  The bootstrap compiler is extracted to a directory
that is not on the path (and only exists right before trying to build
modula3 port)


> But I have another theory.  I don't know what this ports bootstrap
> is, but there was a time when things where set up so that cm3, instead
> of looking in just the same directory as its own executable was found,
> was looking several alternative places for an executable cm3cg. This

It's 5.8.6 and the cm3.cfg is listed above.  You can download it
yourself here:
http://downloads.dragonlace.net/m3/m3-bootstrap.AMD64.FREEBSD.92.tar.bz2


> caused the same problem to occur in a different way.  Even when the
> newly rebuilt cm3cg executable was not copied to the bin directory
> right away, its mere existence where it was built was causing it to
> be found the next time cm3 started up, leading to the same failure.
> 
> I don't remember how this was fixed, but either Jay or I did something
> about it.  Perhaps the ports bootstrap was made during a time when this
> behavior was happening.

Probably not as I am 99% sure the bootstrap was built from the release
source.

Thanks,
John






More information about the M3devel mailing list