[Lazarus] Package issues

Mattias Gaertner nc-gaertnma at netcologne.de
Sat Jul 2 02:18:09 CEST 2016


On Fri, 1 Jul 2016 19:31:42 +0200
Werner Pamler <werner.pamler at freenet.de> wrote:

>[...]
> They share the same source folder[...]

In general this won't work, because you risk that the compiler may
recompile a ppu, invalidating a dependent ppu.
It works only in some special cases, for example
- if they do not use the same units
- or if they have different output directories and the packages are
  mutually exclusive


> - maybe this is a problem, but the same works for TAChart.
> 
> The three packages do compile fine separately. But the final step, 
> installation into the IDE, crashes. Compilation of Lazarus stops in 
> lazarus.lpi with the message
> 
>     "lazarus.pp(1,1) Fatal: Cannot find laz_visualplanit used by
>     Lazarus, incompatible
>     ppu=D:\Prog_Lazarus\svn\lazarus-ccr\components\tvplanit\packages\lib\i386-win32\laz_visualplanit.ppu,
>     multiple packages: laz_visualplanit, laz_visualplanit_sqlite3".

Yes, the IDE even warns that the ppu has two creators.

 
> Then I, blindly, erase folders with compiled units, do a clean rebuild, 
> sometimes a normal rebuild. And all of a sudden, after some time, the 
> compilation ends sucessfully.
>[...]
> Any idea?

With careful compilation order you can compile such a construct. But
as soon as you change a uses clause you can get into trouble again.
Solution: Either merge the packages or split the source directories.


Mattias


More information about the Lazarus mailing list