Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-devel / 2011-07

How to solve a checksum error

5 messages · 2 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Felipe Monteiro de Carvalho

Hello,

I am unable to build lazarus-ccr/applications/fpbrowser/fpbrowser.lpi in Windows =(

With an error which seams almost the same as reported here: http://bugs.freepascal.org/view.php?id=15218

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?/

I read in the bug tracker something about a fpc bug related to interfaces, but this project has no interfaces...

Here is the final parts of the -va output of the project build:

Load from HTMLUN2 (implementation) unit HTMLVIEW
Second load for unit HTMLVIEW
Previous state of HTMLVIEW: Load
Loading unit HTMLVIEW
Unitsearch: htmlview.ppu
Unitsearch: F:\Programas\lazarusccr\components\thtmlport\package\units\i386-win32\htmlview.ppu PPU Loading F:\Programas\lazarusccr\components\thtmlport\package\units\i386-win32\htmlview.ppu PPU Name: F:\Programas\lazarusccr\components\thtmlport\package\units\i386-win32\htmlview.ppu PPU Time: 2011/07/01 15:47:24
PPU Flags: 217216
PPU Crc: BA8050B7
PPU Crc: 268EB50D (intfc)
Number of definitions: 1039
Number of symbols: 2168
PPU Source: htmlview.pas not found
PPU Source: htmlcons.inc not found
Load from HTMLVIEW (interface) unit SYSTEM
Add dependency of HTMLVIEW to SYSTEM
Load from HTMLVIEW (interface) unit OBJPAS
Add dependency of HTMLVIEW to OBJPAS
Load from HTMLVIEW (interface) unit SYSUTILS
Add dependency of HTMLVIEW to SYSUTILS
Load from HTMLVIEW (interface) unit CLASSES
Add dependency of HTMLVIEW to CLASSES
Load from HTMLVIEW (interface) unit LCLINTF
Add dependency of HTMLVIEW to LCLINTF
Load from HTMLVIEW (interface) unit LMESSAGES
Add dependency of HTMLVIEW to LMESSAGES
Load from HTMLVIEW (interface) unit TYPES
Add dependency of HTMLVIEW to TYPES
Load from HTMLVIEW (interface) unit LCLTYPE
Add dependency of HTMLVIEW to LCLTYPE
Load from HTMLVIEW (interface) unit FPIMAGE
Add dependency of HTMLVIEW to FPIMAGE
Load from HTMLVIEW (interface) unit HTMLMISC
Add dependency of HTMLVIEW to HTMLMISC
Load from HTMLVIEW (interface) unit GRAPHICS
Add dependency of HTMLVIEW to GRAPHICS
Load from HTMLVIEW (interface) unit CONTROLS
Add dependency of HTMLVIEW to CONTROLS
Load from HTMLVIEW (interface) unit STDCTRLS
Add dependency of HTMLVIEW to STDCTRLS
Load from HTMLVIEW (interface) unit HTMLUN2
Add dependency of HTMLVIEW to HTMLUN2
Recompiling htmlview, checksum changed for htmlun2 Unitsearch: htmlview.pp
Unitsearch: htmlview.pas
Unitsearch: F:\Programas\lazarusccr\components\thtmlport\package\units\i386-win32\htmlview.pp Unitsearch: F:\Programas\lazarusccr\components\thtmlport\package\units\i386-win32\htmlview.pas Unitsearch: F:\Programas\lazarussvn\ideintf\units\i386-win32\htmlview.pp Unitsearch: F:\Programas\lazarussvn\ideintf\units\i386-win32\htmlview.pas Unitsearch: F:\Programas\synapse\lib\i386-win32\htmlview.pp Unitsearch: F:\Programas\synapse\lib\i386-win32\htmlview.pas Unitsearch: F:\Programas\lazarussvn\components\printers\lib\i386-win32\win32\htmlview.pp Unitsearch: F:\Programas\lazarussvn\components\printers\lib\i386-win32\win32\htmlview.pas Unitsearch: F:\Programas\lazarussvn\lcl\units\i386-win32\win32\htmlview.pp Unitsearch: F:\Programas\lazarussvn\lcl\units\i386-win32\win32\htmlview.pas Unitsearch: F:\Programas\lazarussvn\lcl\units\i386-win32\htmlview.pp Unitsearch: F:\Programas\lazarussvn\lcl\units\i386-win32\htmlview.pas Unitsearch: F:\Programas\lazarussvn\packager\units\i386-win32\htmlview.pp Unitsearch: F:\Programas\lazarussvn\packager\units\i386-win32\htmlview.pas Unitsearch: htmlview.pp
Unitsearch: htmlview.pas
Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\rtl\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\rtl\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\zlib\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\zlib\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\winunits-jedi\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\winunits-jedi\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\winunits-base\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\winunits-base\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\unzip\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\unzip\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\tcl\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\tcl\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\symbolic\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\symbolic\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\sqlite\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\sqlite\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\sdl\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\sdl\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\rsvg\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\rsvg\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\regexpr\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\regexpr\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\pxlib\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\pxlib\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\postgres\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\postgres\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\pcap\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\pcap\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\paszlib\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\paszlib\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\pasjpeg\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\pasjpeg\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\oracle\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\oracle\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\openssl\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\openssl\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\opengl\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\opengl\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\opencl\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\opencl\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\openal\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\openal\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\oggvorbis\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\oggvorbis\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\odbc\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\odbc\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\numlib\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\numlib\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\mysql\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\mysql\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\mad\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\mad\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\libxml2\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\libxml2\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\libpng\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\libpng\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\libgd\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\libgd\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\lexyacc\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\lexyacc\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\imagemagick\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\imagemagick\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\ibase\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\ibase\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\httpd20\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\httpd20\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\httpd13\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\httpd13\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\hash\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\hash\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\gtk2\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\gtk2\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\gtk1\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\gtk1\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\graph\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\graph\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\gmp\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\gmp\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\gdbint\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\gdbint\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\fv\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\fv\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\fppkg\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\fppkg\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\fpmkunit\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\fpmkunit\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\fpgtk\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\fpgtk\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\fftw\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\fftw\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\fcl-xml\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\fcl-xml\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\fcl-web\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\fcl-web\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\fcl-res\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\fcl-res\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\fcl-registry\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\fcl-registry\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\fcl-process\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\fcl-process\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\fcl-passrc\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\fcl-passrc\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\fcl-net\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\fcl-net\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\fcl-json\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\fcl-json\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\fcl-image\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\fcl-image\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\fcl-fpcunit\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\fcl-fpcunit\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\fcl-extra\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\fcl-extra\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\fcl-db\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\fcl-db\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\fcl-base\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\fcl-base\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\fastcgi\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\fastcgi\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\chm\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\chm\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\cdrom\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\cdrom\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\cairo\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\cairo\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\bzip2\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\bzip2\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\bfd\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\bfd\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\a52\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\a52\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\httpd22\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\units\i386-win32\httpd22\htmlview.pas Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\bin\i386-win32\htmlview.pp Unitsearch: F:\Programas\lazarus30\fpc\2.4.2\bin\i386-win32\htmlview.pas Can't find unit htmlview used by htmlun2
Searching file mainform.pas... found
Compilation aborted
Error: F:\Programas\lazarus30\fpc\2.4.2\bin\i386-win32\ppc386.exe returned an error exitcode (normal if you did not specify a source file to be compiled)

Felipe Monteiro de Carvalho

Reply by email

Jonas Maebe
to Felipe Monteiro de Carvalho: I am unable to build lazarus-ccr/applications/fpbrowser/fpbrowser.lpi in Windows =( With…
Felipe Monteiro de Carvalho wrote 5 lines
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

Reply by email

Felipe Monteiro de Carvalho
to Jonas Maebe
Jonas Maebe wrote
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

Any more examples? There is no usage of inline nor external in my package / project combination (excluding the LCL, FCL and RLT, of course, but I guess that they can't be the cause of the problem).

It seams like it would be excelent if the compiler could issue a warning when it decides that a unit has the interface / implementation problem and requires recompilation...

Also curious is the intermittent nature of the problem. My solution was to add the path to the project options so that fpc could build the html package twice, but now I removed that path and it still works, even after rebuilding clean the LCL + all packages, which previously would fail.

Felipe Monteiro de Carvalho

Reply by email

Jonas Maebe
to Felipe Monteiro de Carvalho
Felipe Monteiro de Carvalho wrote 6 lines
On Mon, Jul 4, 2011 at 4:15 PM, Jonas Maebe wrote: > 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 Any more examples?

No.

It seams like it would be excelent if the compiler could issue a warning when it decides that a unit has the interface / implementation problem and requires recompilation...

If you compile with -vtu, the compiler says exactly that when it says that the interface crc has changed. It cannot say which particular definition is responsible for that.

Jonas

Reply by email