[fpc-devel] strange error "checksum changed" in package, when compiling project.

Jonas Maebe jonas.maebe at elis.ugent.be
Sun Oct 20 21:40:18 CEST 2013


On 20 Oct 2013, at 19:33, Martin wrote:

> I see there are still open related issues, so maybe some hope...
> 
>> That is how the inlining is implemented by design currently. The availability of an inline function body changes the unit interface checksum, so that other units using that unit will be recompiled the next time and can use the inline body (since the first time the inline body was not yet available, it could not yet be inlined). 
> 
> I have a very limited understanding of this, but I think I disagree (well I do disagree, I think tha I am correct to do so...)
> 
> AFAIX, ppu already have more than one checksum?
> 
> Then it would just be a question to make that yet another checksum. And if *only* this new checksum has changed, then recompile *if* the source is available.
> If not, than keep things as they are.

Changing the behaviour of the compiler depending on whether or not the source code is available is not acceptable. The only reasonable alternative in my eyes would be to never inline anything in case of mutually dependent units (like Delphi does). Additionally, afaik compiling with -Ur already works around the problem today.


Jonas


More information about the fpc-devel mailing list