[Lazarus] Packages can't compile - checksum changed error

Graeme Geldenhuys mailinglists at geldenhuys.co.uk
Thu Jun 25 13:26:39 CEST 2015


Hi Mattias,

Many thanks for your response.


On 2015-06-25 12:05, Mattias Gaertner wrote:
> If you let the compiler choose between source and ppu file it
> often chooses source, because source rulez.

That's what I assumed is happening.


> Make sure your packages have their own separate unit output directories
> (separate from sources and from other packages)

That is already the case. The first packages outputs to:

  lib/$(TargetCPU)-$(TargetOS)/

and the second package outputs to:

  lib/$(TargetCPU)-$(TargetOS)/lcl


> and that the second
> package unit paths do not include any directories of the first package.

This is a problem.

 1) All units in tiOPF share a common tiDefines.inc include file that
    controls some behaviour of the framework and defines new compiler
    defines used throughout the framework. This include file lives in
    the <tiopf>/Core/ directory. So the second package needs that
    path to compile the tiOPF+LCL units.

 2) The second package uses a unit tiDataset.pas (VCL and LCL specific)
    that is located in the <tiopf>/Options/ directory. So Lazarus
    automatically added the <tiopf>/Options/ directory to the unit
    search path otherwise it couldn't find that unit.

Any suggestions?

The Options directory contains optional units not required by the core
framework, but often used. It contains things like alternative
persistence layer for various database backends, alternative ID
generators etc. The first package (eg: alternative persistence layers)
compiles these units based on the LINK_xxx compiler defines found in the
Other compiler options. So the first package needs the Options unit
search path setting to know where to find these if they are enabled.


>> -Fu/data/devel/lazarus/packager/units/x86_64-freebsd
>> -Fu/data/devel/Wisa/fpcpackages/tiopf/Compilers/FPC/lib/x86_64-freebsd
>> -Fu/data/devel/lazarus/components/lazutils/lib/x86_64-freebsd
>> -Fu/data/devel/lazarus/lcl/units/x86_64-freebsd
>> -Fu/data/devel/lazarus/lcl/units/x86_64-freebsd/gtk2
>> -Fu/data/devel/Wisa/fpcpackages/tiopf/Compilers/FPC/
> 
> And that one.

I don't specify them, Lazarus must be adding them somewhere. They don't
appear in the "Compiler Options -> Paths" dialog.


Regards,
  - Graeme -

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/




More information about the Lazarus mailing list