[fpc-devel] How to solve a checksum error

Jonas Maebe jonas.maebe at elis.ugent.be
Mon Jul 4 16:15:41 CEST 2011


On 01 Jul 2011, at 15:52, Felipe Monteiro de Carvalho wrote:

> I searched everywhere about how to improve my configuration, but I
> simply cannot find anything to fix this and build the project. There
> is some indication that this could be a FPC bug, and I have the same
> results with fpc 2.4.2 and 2.5.1 ... so, any ideas what I can do to
> work around this?/

This is virtually always caused by differences in the interface and implementation definition of some routines. Examples of ways in which this can happen:
a) inline routines: the body of the inline routine changes the interface definition as far as the compiler is concerned
b) routines that are declared normally in the interface, but as "external" in the implementation

If you want to figure out which definition causes the problem, you can compile the compiler with -dINTFPPU. It will then for each unit also generate a "*.intf" file, which contains the definitions from the unit right after the interface. You can then run ppudump on that file and on the *.ppu file and look for differences that indicate problems. Note that *not* all differences will actually cause problems, because some changes are ignored by design by the compiler (e.g. whether or not the body of a procedure has been parsed, since that will always be false after parsing the interface and always be true for non-external routines after parsing the implementation).


Jonas


More information about the fpc-devel mailing list