[Lazarus] Conflicting packages in fixes_0_9_30

Hans-Peter Diettrich DrDiettrich1 at aol.com
Mon Jun 20 07:36:09 CEST 2011


Mattias Gaertner schrieb:

> The problem is, that in 0.9.30 the LCL was using some Makefile and IDE
> magic.
> Anyway, adding LCLBase as dependency is not useful. The IDE now uses
> the LCL instead.

See below :-(

> Please test.

Done:

Create a new application, and project inspector shows LCL as the only 
dependency. Now add e.g. an button to the form, and Lazarus trunk adds 
LCLBase as a project dependency - while 0.9.30 does not. Removing the 
LCLBase dependency doesn't help much, the package is added to the trunk 
project whenever another control is added to a form.

A closer look at these packages reveals:

Trunk LCL only contains widgetsets, while all controls reside in 
LCLBase. It does no harm to remove the LCLBase dependency from the 
project itself, because LCL already requires LCLBase.

In 0.9.30 both LCL and LCLBase contain controls, and some units are part 
of both packages, what causes the package conflict. The LCL only 
requires FCL, not LCLBase.


I'd suggest to update the trunk IDE (project manager), to never add 
LCLBase to the immediate GUI project dependencies, for backwards 
compatibility of project files. As you already stated, adding a LCLBase 
dependency is not useful nor is it required.

Or, IMO better, switch the package names of LCL and LCLBase, so that the 
LCL contains the controls (as before), and LCLBase contains the 
widgetsets. Or remove LCLBase entirely, and put everything into the LCL...

DoDi





More information about the Lazarus mailing list