[Lazarus] A lazbuild/project dependency issue

Michael Van Canneyt michael at freepascal.org
Thu Aug 28 16:19:40 CEST 2014


Hi (mostly Mattias, I suppose ;) ),

I am using Lazbuild to compile a project that depends on a package "wwclient".
It failed, for no understandable reason.

What am I supposed to do with a message like this:

ERROR: Broken dependency: wwclient 1.0>wwclient 1.0

Besides the fact that the "wwclient 1.0>wwclient 1.0" is obviously wrong, 
I'd like to see in more detail what is really the matter when I get such a message,
so I can fix the problem...

I looked at the sources of lazbuild and packagemanager, but I can't even find the 
line in the code where this error is generated :(

To fix my problem, I opened the project with the IDE, and found that the "wwclient" 
package depends on another package ("synasnap") that cannot be found.

To fix this, I had to raise the version of the "wwclient" package dependency of the project.
In the new version of the "wwclient" package, the dependency on "synasnap" is changed to the 
correct dependency "laz_synapse".

After all this, the original project compiled, both in the IDE and using lazbuild.

To say the least, the initial error is completely useless in detecting the actual problem !
Maybe a better/more correct reason can be given than "wwclient 1.0>wwclient 1.0" ?

To raise the version of a dependency of a project is also cumbersome:
there is no way to set the version of a dependency once it is added to the project inspector 
(this is possible in the package editor). 
I have removed and re-add it, but it would be better if it was directly settable in the project inspector, 
as it is in the package editor.

Finally, so as not to appear entirely negative, here a positive thing:

when specifying a 'Minimum version' for the 'wwclient' requirement, the IDE correctly warned me that 
it could not find the version I specified. I was surprised, and it turned out the IDE was correct,
I had still to check out the correct version. That was a nice thing :)

Suggestion for improvement:
As a hint to the user, the edit box for 'minimum' and 'maximum' versions of a dependency could be 
replaced with a dropdown listing all 'known' versions ?

Michael.




More information about the Lazarus mailing list