[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