Recent

Author Topic: Package build dependencies path  (Read 597 times)

zim

  • New Member
  • *
  • Posts: 17
Package build dependencies path
« on: December 13, 2023, 08:33:29 am »
Hi all !
Lazarus 2.2.6, Debian

Trying to build ZEOS library packages for Lazarus, got errors on the very first step.
Library has several packages, referring different folders. First package build is ok.
Second package is refering the first one. But compiler reports "Cannot find ..." for the file used from the first package.
Why IDE does not see first package files ?

P.S. Trying to change IDE language - setting is "EN", but the IDE ignores the setting !
What a major disappointment in 2023

TRon

  • Hero Member
  • *****
  • Posts: 2534
Re: Package build dependencies path
« Reply #1 on: December 13, 2023, 09:26:25 am »
Trying to build ZEOS library packages for Lazarus, got errors on the very first step.
Did you use OPM ?

If you install manually then usually packages come with a readme detailing the instructions on how to build.

Quote
P.S. Trying to change IDE language - setting is "EN", but the IDE ignores the setting !
It changes the dialogs on-the-fly but for the IDE (menu's) it requires a restart.
« Last Edit: December 13, 2023, 09:28:30 am by TRon »

zim

  • New Member
  • *
  • Posts: 17
Re: Package build dependencies path
« Reply #2 on: December 13, 2023, 10:44:27 am »
No. OPM contains some extremely old version of ZEOS 7.2, while I need last one (SVN release 7.3).
Finally I found a way to build the package itself by manually add all search folder paths to every package.

But after that I tried to install this package...
Stable Lazarus 2.2.6 - all own packages build ok, and last-in-list zcomponentdesign fail reporting "not found"
Btw, the problem with language appeared after I did apt update in Debian, some minor version change happened, and I got a permanent error in Lazarus launcher saying that config is wrong - and no chance to resolve it.

I tried to install Lazarus 3 RC2 - now config problem was resolved automatically and menu language is ok.
This one failed to build at the very beginning. jcfidelazarus.lpk does not see it's own runtime package files, until I manually add ../../ReadWrite to jcfidelazarus.lpk. That helped to build jcfidelazarus, now next datetimectrls.lpk fail. Problem is the same - designtime package does not see units in runtime package.
Here manual adding search path does not help - next error is "Can't find DateTimePicker".

wp

  • Hero Member
  • *****
  • Posts: 11917
Re: Package build dependencies path
« Reply #3 on: December 13, 2023, 10:52:23 am »
If you install from OPM it's a one-click procedure: Check "ZEOSDBO" and click "Install"; confirm the prompt to rebuild the IDE and wait until the IDE restarts (this may take a while...).

If you install from the svn sources, load all packages into the IDE, via "Package" > "Open Package File (*.lpk)". In the package editor of each package, go to "Options" > "Package Options" > "IDE Integration". Those packages which have "Package Type" "Runtime" can be closed because the IDE now already knows where their files are, simply by having opened them (in case of ZEOS, the runtime packages are: ZPlain, ZParseSQL, ZDBC, ZCore, ZComponent). The remaining packages are either pure "DesignTime" or combined "Designtime and runtime" packages - they must be "installed": Click "Use" > "Install". In case of ZEOS, there is only one, ZComponentDesign, confirm to rebuild the IDE and wait until the IDE restarts.

Sometimes rebuilding the IDE chokes on compilation errors, because some compiled units are not up-to-date or are found duplicate at another place. In this case, go to "Tools" > "Configure 'Build Lazarus'" and check "Clean all" and "Switch after building to automatically" in the "Clean up" box. Click "Build".

[P.S.]
I tested this description on Windows and on a VM with Linux Mint (Laz 3.0RC1, ZEOS from svn://svn.code.sf.net/p/zeoslib/code-0/trunk).
« Last Edit: December 13, 2023, 11:26:02 am by wp »

zim

  • New Member
  • *
  • Posts: 17
Re: Package build dependencies path
« Reply #4 on: December 13, 2023, 11:26:48 am »
Sorry, OPM will not help me. There're changes in ZEOS in 7.3, that are critically important for me.
Finally I made ZEOS packages build autonomous, but cannot build IDE itself. Actually ZEOS has all packages for Lazarus with all options prepared.
But. Lazarus does not see references from units in one package that refer modules in another - for example, core.lpk build successfully, but dbc.lpk fail.
Until I manually add search path to the corresponding folder.

Btw, in IDE build I got warnings that "other unit files search path ... contains ... which belongs to package zcore".
That is expected, I hope I will solve this problem later.

But. The problem now is that IDE fail to build.
When "clean up" option defaults to "automatically" - I got errors as I wrote before. I changed it to "clean all" and run build - "interfaces/carbon: no such fule or directory".
After I changed it back to "automatically", there're some improvements - those errors with "can't find" disappeared, and final error was "cannot find zcomponentdesign"


zim

  • New Member
  • *
  • Posts: 17
Re: Package build dependencies path
« Reply #5 on: December 13, 2023, 01:34:52 pm »
I finally had built it, after changing paths in ZEOS lpk files

 

TinyPortal © 2005-2018