[M3devel] current tinderbox status, broken by me?

Olaf Wagner wagner at elegosoft.com
Tue Dec 30 11:01:24 CET 2008


This is a known problem; see http://www.opencm3.net/known-problems.html#p_1_5
for details. It occurs whenever you add or remove target platforms.

It is exactly what the last-ok build was made for :-)

As for your other comments, I would appreciate if the compiler would
output the exact conflicting file paths, but I believe that the
information is not easily available at that point.

Olaf

Quoting Jay <jay.krell at cornell.edu>:

>
>  NEXT    Fatal Error: bad version stamps: SocketPosix.m3
> 4678
> 4679          version stamp mismatch: Compiler.Platform
> 4680             => SocketPosix.m3
> 4681             => Compiler.i3
> 4682          version stamp mismatch: Compiler.ThisPlatform
> 4683             => SocketPosix.m3
> 4684             => Compiler.i3
> 4685  NEXT     *** execution of cm3 -build   
> -DROOT=´/home/m3/work/cm3-ws/birch.elegosoft.com-2008-12-30-01-00-04/cm3´   
> -DCM3_VERSION_TEXT=´d5.7.0´ -DCM3_VERSION_NUMBER=´050700´   
> -DCM3_LAST_CHANGED=´2008-03-16´  && cm3 -ship   
> -DROOT=´/home/m3/work/cm3-ws/birch.elegosoft.com-2008-12-30-01-00-04/cm3´   
> -DCM3_VERSION_TEXT=´d5.7.0´ -DCM3_VERSION_NUMBER=´050700´   
> -DCM3_LAST_CHANGED=´2008-03-16´  failed ***
> 4686          compile return value: 0
> 4687          [end compile 2008.12.30 02:25:17]
> 4688          *** COMPILE FAILED
> No More Errors
>
>
> 1)
> Is it reasonable to suggest that the compiler output the source to   
> clashing definitions?
> Or is that a bogus naive suggestion?
> It is probably legitimate, at least to identify the files in question.
> Could be that not enough information is around to identify "what   
> changed", just some "summary hash".
>
>
> 2) Is it really broken?
> I did go slightly round and round on this.
> I had another new platform defined in one or another file and then   
> when I backed down and just did one reasonly finished platform, I   
> forgot at first to cleanup all the debris.
> But it certainly worked when I commited.
> I'm progressing on the native build, so if it is broken, I expect to  
>  run into it myself.
>
>
> 3) Is it reasonable to annotate a type with some sort of "relax,   
> additions are safe" annotation?
> Probably not. It's probably too gray and more complicated than that,  
>  since additions in general are not as safe as people thing. Adding   
> to a record -- folks might be copying based on the size and might   
> get back an older smaller version. Adding to an enum, folks might be  
>  switching on it and expect to have the range covered. Adding a   
> function to an interface though, probably ok. Not the case here, and  
>  perhaps not something the compiler even complains about.
> One that that might be eek-out-able is adding to an enum, and such   
> annotated types, switches on them must have an else clause, and they  
>  must not be used for array indexing?
> Eh, maybe just leave it alone.
>
>
> Anything else? Is this just basically how it has to be?
> OR, how about, can the duplicity be eliminated?
> Like, can Compiler.i3 be fully generated by the compiler?
> Similarly, Csetjmp.i3 should be generated by the compiler, eh?
>  Or at least partly? You know, the size and alignment of the jmp_buf  
>  is recorded in both Csetjmp.i3 and Target.i3. Duplication is   
> generally bad imho



-- 
Olaf Wagner -- elego Software Solutions GmbH
                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
    http://www.elegosoft.com | Geschäftsführer: Olaf Wagner | Sitz: Berlin
Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194




More information about the M3devel mailing list