<html><head></head><body bgcolor="#ffffff" text="#2e3436" link="#2a76c6" vlink="#2e3436"><div><br></div><div>On Sat, 2018-11-17 at 06:59 +0100, Paul Gevers wrote:</div><blockquote type="cite"><pre>Hi Abou,

Thanks for your response.
</pre></blockquote><div>You are welcome</div><blockquote type="cite"><pre>
On 16-11-18 21:58, Abou Al Montacir wrote:
<blockquote type="cite">
On Mon, 2018-11-12 at 20:44 +0100, Paul Gevers wrote:
<blockquote type="cite">
recently. In my last upload, I revisited the autopkgetest that we (I)
have added to the package. While going through some of the (currently
accepted) failures, I was wondering what it means if package A depends
on package B, both are available, but not compiled by default. It seems
</blockquote>

Can you please explain this a bit more? Do you mean that these packages
are not compiled by the make file upon build of lazarus?
</blockquote>

Yes, as discussed already in the past.

<blockquote type="cite">
<blockquote type="cite">
that $(lazbuild A) fails to find (and) compile package B, even if
package B was compiled just before. It seems the logic of lazbuild
</blockquote>

So you compiled package B and then try to compile package A that depends
on B, isn't it?
</blockquote>

Well, I just compile ALL packages found in the lazarus tree (see
<a href="https://salsa.debian.org/pascal-team/lazarus/blob/experimental/debian/tests/build-lpk-lpi#L20">https://salsa.debian.org/pascal-team/lazarus/blob/experimental/debian/tests/build-lpk-lpi#L20</a>
The order is determined by the find. But in several cases it seems that
package B is compiled before A indeed.
</pre></blockquote><div>I've ran the script (on my 1.8.4 installation) and I've got this:</div><pre>...</pre><pre>The following files failed expectedly:</pre><pre>/usr/lib/lazarus/default/components/activex/LazActiveX.lpk</pre><pre>/usr/lib/lazarus/default/components/fppkg/src/fppkgpackagemanager.lpk</pre><pre>/usr/lib/lazarus/default/components/fpweb/lazwebextra.lpk</pre><pre>/usr/lib/lazarus/default/components/lazdebuggergdbmi/test/gdbmitestutils/gdbmitestutils.lpk</pre><pre>/usr/lib/lazarus/default/components/lazreport/source/addons/addfunction/lr_add_function.lpk</pre><pre>/usr/lib/lazarus/default/components/lazreport/source/addons/lrOfficeImport/lr_officeimport.lpk</pre><pre>/usr/lib/lazarus/default/components/lazreport/source/addons/lrspreadsheetexport/lrspreadsheetexport.lpk</pre><pre>/usr/lib/lazarus/default/components/lazreport/source/addons/pdfexport/lazreportpdfexport.lpk</pre><pre>/usr/lib/lazarus/default/components/lazreport/source/addons/ZeosDB/lr_zeosdb.lpk</pre><pre>/usr/lib/lazarus/default/components/PascalScript/Source/pascalscriptfcl.lpk</pre><pre>/usr/lib/lazarus/default/components/tachart/aggpas/tachartaggpas.lpk</pre><pre>/usr/lib/lazarus/default/components/tachart/tachartbgra.lpk</pre><pre><br></pre><pre>The following files failed unexpectedly:</pre><pre>/usr/lib/lazarus/default/components/tachart/tachartwmf.lpk</pre><pre>/usr/lib/lazarus/default/components/turbopower_ipro/design/turbopoweriprodsgn.lpk</pre><div><br></div><div>There are only 2 unexpected failures.</div><div>I've ran the first one manually:</div><pre>...</pre><pre>Free Pascal Compiler version 3.0.4+dfsg-18 [2018/04/22] for x86_64</pre><pre>Copyright (c) 1993-2017 by Florian Klaempfl and others</pre><pre>(1002) Target OS: Linux for x86-64</pre><pre>(3104) Compiling tachartwmf.pas</pre><pre>(3104) Compiling tadrawerwmf.pas</pre><pre>/usr/lib/lazarus/1.8.4/components/tachart/tadrawerwmf.pas(18,3) Fatal: (10022) Can't find unit Windows used by TADrawerWMF</pre><pre>Fatal: (1018) Compilation aborted</pre><pre>Error: /usr/bin/ppcx64 returned an error exitcode</pre><pre>Error: (lazarus) Compile package TAChartWMF 0.0: stopped with exit code 256</pre><pre>Error: (lazbuild) TAChartWMF 0.0 compilation failed</pre><pre></pre><div><br></div><div>This package looks for Windows unit, I don't think it will compile under Linux.</div><div><br></div><div>The second one compiled correctly manually. So I suppose it was depending on a package that was compiler after it in the list.</div><div><br></div><blockquote type="cite"><pre>
<blockquote type="cite">
Did you install the package B first? Please refer to --add-package
command line option of lazbuild.
</blockquote>

No. --add-package is not documented in the man page (in the testing
package). Why would I need to specify this myself? If the dependencies
are correctly documented, lazbuild should be able to figure it out in my
opinion.
</pre></blockquote><div>I think the man pages are legacy. Use lazbuild -h for that.</div><blockquote type="cite"><pre>
<blockquote type="cite">
<blockquote type="cite">
should grow some "please also look into the $HOME/.lazarus/ folder for
the compiled units".
</blockquote>

Normally the primary config path is set to this path. So Idon't think we
need to change anything for that to work. I assume it is only a matter
of installing the packages using --add-package
</blockquote>

So how do I figure out which packages I need to add to the command line
automatically? Can you maybe change the file linked above for me?
</pre></blockquote><div>In fact you don't need to add a package each time. Lazarus uses a kind of list of compiled and installed packages that is stored in a cache. Once you add a package it will remain added until you remove it. However I don't see how to remove it using lazbuild. It seems you need to use the IDE for that.</div><blockquote type="cite"><pre>
<blockquote type="cite">
They don't seem to appreciate the
split on multiple packages and they do distribute their own unique deb
package.
</blockquote>

I haven't checked, but I doubt they build these packages in their own
deb, as these packages are not build by the makefile.</pre><pre></pre></blockquote><div><br></div><div>I didn't check too if they include these packages.</div><div><br></div><div>According to help of lazbuild, you may want to use -r instead of -B but I'm not sure it will do it and it will cause compilation time to increase as every package will be recompiled.</div><div><pre>-- <br></pre><span style="font-family: monospace; white-space: pre;">Cheers,
Abou Al Montacir</span></div></body></html>