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

--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus-ide.org/listinfo/lazarus

Reply via email to