[Pkg-pascal-devel] compiling packages as user (and autopkgtest)

Abou Al Montacir abou.almontacir at sfr.fr
Sat Nov 17 07:47:49 GMT 2018


On Sat, 2018-11-17 at 06:59 +0100, Paul Gevers wrote:
> Hi Abou,
> 
> Thanks for your response.
You are welcome
> On 16-11-18 21:58, Abou Al Montacir wrote:
> > On Mon, 2018-11-12 at 20:44 +0100, Paul Gevers wrote:
> > > 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
> > 
> > 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?
> 
> Yes, as discussed already in the past.
> 
> > > that $(lazbuild A) fails to find (and) compile package B, even if
> > > package B was compiled just before. It seems the logic of lazbuild
> > 
> > So you compiled package B and then try to compile package A that depends
> > on B, isn't it?
> 
> Well, I just compile ALL packages found in the lazarus tree (see
> https://salsa.debian.org/pascal-team/lazarus/blob/experimental/debian/tests/bu
> ild-lpk-lpi#L20
> The order is determined by the find. But in several cases it seems that
> package B is compiled before A indeed.
I've ran the script (on my 1.8.4 installation) and I've got this:
...The following files failed
expectedly:/usr/lib/lazarus/default/components/activex/LazActiveX.lpk/usr/lib/la
zarus/default/components/fppkg/src/fppkgpackagemanager.lpk/usr/lib/lazarus/defau
lt/components/fpweb/lazwebextra.lpk/usr/lib/lazarus/default/components/lazdebugg
ergdbmi/test/gdbmitestutils/gdbmitestutils.lpk/usr/lib/lazarus/default/component
s/lazreport/source/addons/addfunction/lr_add_function.lpk/usr/lib/lazarus/defaul
t/components/lazreport/source/addons/lrOfficeImport/lr_officeimport.lpk/usr/lib/
lazarus/default/components/lazreport/source/addons/lrspreadsheetexport/lrspreads
heetexport.lpk/usr/lib/lazarus/default/components/lazreport/source/addons/pdfexp
ort/lazreportpdfexport.lpk/usr/lib/lazarus/default/components/lazreport/source/a
ddons/ZeosDB/lr_zeosdb.lpk/usr/lib/lazarus/default/components/PascalScript/Sourc
e/pascalscriptfcl.lpk/usr/lib/lazarus/default/components/tachart/aggpas/tacharta
ggpas.lpk/usr/lib/lazarus/default/components/tachart/tachartbgra.lpk
The following files failed
unexpectedly:/usr/lib/lazarus/default/components/tachart/tachartwmf.lpk/usr/lib/
lazarus/default/components/turbopower_ipro/design/turbopoweriprodsgn.lpk
There are only 2 unexpected failures.
I've ran the first one manually:
...Free Pascal Compiler version 3.0.4+dfsg-18 [2018/04/22] for x86_64Copyright
(c) 1993-2017 by Florian Klaempfl and others(1002) Target OS: Linux for x86-
64(3104) Compiling tachartwmf.pas(3104) Compiling
tadrawerwmf.pas/usr/lib/lazarus/1.8.4/components/tachart/tadrawerwmf.pas(18,3)
Fatal: (10022) Can't find unit Windows used by TADrawerWMFFatal: (1018)
Compilation abortedError: /usr/bin/ppcx64 returned an error exitcodeError:
(lazarus) Compile package TAChartWMF 0.0: stopped with exit code 256Error:
(lazbuild) TAChartWMF 0.0 compilation failed
This package looks for Windows unit, I don't think it will compile under Linux.

The second one compiled correctly manually. So I suppose it was depending on a
package that was compiler after it in the list.

> > Did you install the package B first? Please refer to --add-package
> > command line option of lazbuild.
> 
> 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.
I think the man pages are legacy. Use lazbuild -h for that.
> > > should grow some "please also look into the $HOME/.lazarus/ folder for
> > > the compiled units".
> > 
> > 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
> 
> 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?
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.
> > They don't seem to appreciate the
> > split on multiple packages and they do distribute their own unique deb
> > package.
> 
> I haven't checked, but I doubt they build these packages in their own
> deb, as these packages are not build by the makefile.

I didn't check too if they include these packages.

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.
-- 
Cheers,
Abou Al Montacir
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-pascal-devel/attachments/20181117/de73421a/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: This is a digitally signed message part
URL: <http://alioth-lists.debian.net/pipermail/pkg-pascal-devel/attachments/20181117/de73421a/attachment-0001.sig>


More information about the Pkg-pascal-devel mailing list