Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2022-01

commit 6c3286c7 broke LCL compilation attn: matthias

4 messages · 2 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Marcus Sackrow

Hi,

usually for certain targets (amiga-likes) I only compile the LCL, because lazarus itself will not work.

I did that in the past on my jenkins server with

make registration .....

make lazutils ....

make codetools ....

make lcl ....

it seems lazutils and codetools are removed with the commit 6c3286c7? as targets. But doing registration and lcl to compile the LCL does not work:

tried to clone a fresh lazarus and do a

make registration

make lcl

just for x86_64-linux ... seems also not to work, with the same error message, cannot find lazutils stuff.

Output:

-- snip

alb at Leo:~/lazarus$ make registration
make -C packager/registration
make[1]: Entering directory '/home/alb/lazarus/packager/registration' /bin/rm -f ../units/x86_64-linux/fcllaz.ppu
/bin/mkdir -p ../units/x86_64-linux
/usr/bin/ppcx64 -MObjFPC -Scghi -O1 -g -gl -l -vewnhibq -Fu. -Fu/usr/lib/fpc/3.2.0/units/x86_64-linux/rtl -FE.
-FU../units/x86_64-linux -Cg -Fl/usr/lib/gcc/x86_64-linux-gnu/9 -dx86_64 fcllaz.pas
Hint: (11030) Start of reading config file /etc/fpc.cfg Hint: (11031) End of reading config file /etc/fpc.cfg Free Pascal Compiler version 3.2.0 [2020/06/14] for x86_64 Copyright (c) 1993-2020 by Florian Klaempfl and others (1002) Target OS: Linux for x86-64
(3104) Compiling fcllaz.pas
(3104) Compiling lazaruspackageintf.pas
(1008) 124 lines compiled, 0.1 sec
(1022) 2 hint(s) issued
/bin/cp -f Makefile.compiled ../units/x86_64-linux/FCL.compiled make[1]: Leaving directory '/home/alb/lazarus/packager/registration' alb at Leo:~/lazarus$ make lcl
make -C components/freetype
make[1]: Entering directory '/home/alb/lazarus/components/freetype' /bin/rm -f lib/x86_64-linux/freetypelaz.ppu
/bin/mkdir -p lib/x86_64-linux
/usr/bin/ppcx64 -MObjFPC -Scghi -O1 -g -gl -l -vewnhibq -Fu../../packager/units/x86_64-linux -Fu../lazutils/lib/x86_64-linux -Fu. -Fu/usr/lib/fpc/3.2.0/units/x86_64-linux/rtl -FE. -FUlib/x86_64-linux -Cg -Fl/usr/lib/gcc/x86_64-linux-gnu/9 -dx86_64 freetypelaz.pas
Hint: (11030) Start of reading config file /etc/fpc.cfg Hint: (11031) End of reading config file /etc/fpc.cfg Free Pascal Compiler version 3.2.0 [2020/06/14] for x86_64 Copyright (c) 1993-2020 by Florian Klaempfl and others (1002) Target OS: Linux for x86-64
(3104) Compiling freetypelaz.pas
(3104) Compiling easylazfreetype.pas
/home/alb/lazarus/components/freetype/easylazfreetype.pas(22,31) Fatal: (10022) Can't find unit Laz_AVL_Tree used by EasyLazFreeType Fatal: (1018) Compilation aborted
make[1]: *** [Makefile:3294: freetypelaz.ppu] Error 1 make[1]: Leaving directory '/home/alb/lazarus/components/freetype' make: *** [Makefile:3708: lcl] Error 2
alb at Leo:~/lazarus$
-- snip

Any idea how to solve that?

Greetings,

Marcus

Reply by email

Mattias Gaertner
to Marcus Sackrow
Show quoted text 18 lines
[...] usually for certain targets (amiga-likes) I only compile the LCL, because lazarus itself will not work. I did that in the past on my jenkins server with make registration ..... make lazutils .... make codetools .... make lcl .... it seems lazutils and codetools are removed with the commit 6c3286c7 as targets. But doing registration and lcl to compile the LCL does not work:

That was me, thinking, no one uses it anymore.

First of all:
If you are using lazbuild to compile your projects, it will compile the LCL automatically.

And you can compile the lcl using lazbuild:
./lazbuild lcl/interfaces/lcl.lpk

If you can't use lazbuild, you can use "make" to compile a package:

make -C components/codetools

I re-added "make" target "lazutils", so this works again:

make registration lazutils lcl

[...]

Mattias

Reply by email

Marcus Sackrow
to Mattias Gaertner

Hi,

Mattias Gaertner wrote 22 lines
On Mon, 17 Jan 2022 11:58:22 +0100 Marcus Sackrow via lazarus wrote: > [...] > usually for certain targets (amiga-likes) I only compile the LCL, > because lazarus itself will not work. > > I did that in the past on my jenkins server with > > make registration ..... > > make lazutils .... > > make codetools .... > > make lcl .... > > > it seems lazutils and codetools are removed with the commit 6c3286c7 > as targets. But doing registration and lcl to compile the LCL does > not work: That was me, thinking, no one uses it anymore.

Thanks for fixing that, it works again for me.

Show quoted text 6 lines
First of all: If you are using lazbuild to compile your projects, it will compile the LCL automatically. And you can compile the lcl using lazbuild: ./lazbuild lcl/interfaces/lcl.lpk

I would like to use that, but I didn't figure out the needed options, for crosscompiling for m68k-amiga with an dedicated compiled fpc and units folder (not systemwide installed)

./lazbuild --cpu=m68k --os=amiga lcl/interfaces/lcl.lpk --compiler=./fpc-pack/ppcross68k

That works so far but the fpc compiler needs some additional options some "-Fu"? "-XV" "-Avasm" because I want to use the fresh compiled trunk (or now git main) version of FPC and not the systemwide installed one including its units of course.

is there are way to do that? (except writing a fpc4amiga.sh script and pass that as compiler, which I tried and works but it's a bit annoying for automatic compilation inside jenkins)

I re-added "make" target "lazutils", so this works again: make registration lazutils lcl

That works for me just now, thanks again

Greetings,

Marcus

Reply by email

Mattias Gaertner
to Marcus Sackrow
[...] is there are way to do that? (except writing a fpc4amiga.sh script and pass that as compiler, which I tried and works but it's a bit annoying for automatic compilation inside jenkins)

You could create a project with these options (Compiler Options / Additions and Override) and compile that.

Or edit /etc/fpc.cfg

Mattias

Reply by email