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

Rodney M. Bates rodney_bates at lcwb.coop
Sun May 31 21:13:46 CEST 2015


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?)

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.

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

On 05/31/2015 02:41 AM, John Marino wrote:
> On 5/29/2015 20:43, John Marino wrote:
>> On 5/29/2015 20:15, Olaf Wagner wrote:
>>>
>>> Well, yes, I understand that. I would have tried your exact setup,
>>> but I have no system available to test that on.
>>>
>>> At least I have validated that based on the origianl 5.8.6 installation
>>> archive for AMD64_FREEBSD you can build the new compiler from the current
>>> sources with a simple call of the upgrade.sh script. which I still doubted
>>> yesterday.
>>
>>
>> The card I still have left to play is to extract the bootstrap, let it
>> overwrite itself per Rodney's technique and then build the real compiler
>> (dumping the whole "intermediate" area).
>
> FWIW, this did not work either.  Rodney's technique doesn't seem to work
> with the ports bootstrap.  I don't know why it would work with provided
> 5.8.6 but not rebuilt one.  As far as I can tell, I did what he said
> would always work.
>
> I'm at a loss as to where to go from here.  It's starting to look like I
> have to throw away the ports 5.8.6 bootstrap and start over somehow.  I
> don't think it should be this hard. :(
>
> John
>

-- 
Rodney Bates
rodney.m.bates at acm.org



More information about the M3devel mailing list