[Lazarus] Strange problem compiling IDE

Martin Frb lazarus at mfriebe.de
Tue Mar 28 23:17:11 CEST 2017

On 28/03/2017 21:53, C Western via Lazarus wrote:
> On 28/03/17 18:56, Martin Frb via Lazarus wrote:
>> "checksum changed for spe.ppu" was the first error. That is exactly what
>> happens.
> Isn't the full path to the ppu available to the compiler? If the error 
> message had been checksum changed for 
> components/tachart/numlib_fix/spe.ppu (or wherever the found ppu was) 
> that would have given me a much better prompt as to where to look.

I dont know, but probably. That needs to be asked on the fpc list.
IIRC fpc has an option to report *ALL* paths, but that includes all 
paths where nothing was found, so really lots of msgs.

Yet the thing is, you only need to add the path, if you assume that the 
unit exists twice (which it shouldnt).

FPC afaik always assumes that each unit exists only once.
If it did not, then it would have to search all path to the end for each 
unit. Instead of taking the first found ppu. Continuing the search after 
the first found, would slow down compilation.

You have to keep in mind that checksum changed is not always leading to 
an error. Sometimes, the checksum changes and this is correct (and the 
unit is in just one place), and a dependen unit will be recompiled, and 
that will work. (or it will not, depends again).

That can happen with circular references, where the unit was not yet 
finished compiling. (And there are some condition about inlining that 
trigger this case).

If you compile an app, that does not use packages (it can use rtl, or 
any packes compiled for release / there is a special flag), then this 
error is unlikely to occur.
So you can say this is not even a fault of fpc, the problem is in how 
packages in lazarus are organized. (Though there probably is no better way)

Anyway if it is about the error, best to take it to the fpc list

More information about the Lazarus mailing list