[Lazarus] Cross-compiling to win32 from debian stretch

kardan kardan at riseup.net
Tue Nov 28 00:07:33 CET 2017


Hallo,

As a I am new to this list, FreePascal and Lazarus I need a little help
by you to crosscompile our project to win32. Compiling to win64 however
succeeds:

$ lazbuild --pcp=../../lazconf --os=win64 --cpu=x86_64 Tomboy_NG.lpi
...
Free Pascal Compiler version 3.1.1 [2017/11/27] for x86_64
Copyright (c) 1993-2017 by Florian Klaempfl and others
(1002) Target OS: Win64 for x64
(3104) Compiling Tomboy_NG.lpr
(9022) Compiling
resource /home/tomboy/src/tomboy/src/tomboy-ng/lib/x86_64-win64/Tomboy_NG.obj
(9015) Linking tomboy-ng.exe (1008) 25 lines compiled, 13.7 sec,
2336192 bytes code, 408468 bytes data (1022) 2 hint(s) issued

As you see, I installed FPC from trunk with the steps documented here:
https://github.com/traumschule/tomboy/issues/2

I had to use the repository as the zip version
ftp.freepascal.org/pub/fpc/snapshot/trunk/source/fpc.zip (3.1.1) did not
create ppcross386 for OS_TARGET=win32". With the version from trunk it
works however.

Now compiling our project for i386 compared to above output another fpc
is used and fails:

$ lazbuild --pcp=../../lazconf --os=win32 --cpu=i386 Tomboy_NG.lpi
Free Pascal Compiler version 3.0.4rc1 [2017/08/07] for i386
Copyright (c) 1993-2017 by Florian Klaempfl and others
(1002) Target OS: Win32 for i386
(3104) Compiling fcllaz.pas
Fatal: (10022) Can't find unit system used by fcllaz
Fatal: (1018) Compilation aborted
Error: /usr/bin/ppc386 returned an error exitcode
Error: (lazarus) Compile package FCL 1.0.1: stopped with exit code 256
Error: (lazarus) [TLazPackageGraph.CompileRequiredPackages] "Exit code
256" Error: (lazbuild) Project dependencies
of /home/tomboy/src/tomboy/src/tomboy-ng/Tomboy_NG.lpi

$ which fpc
/usr/local/bin/fpc
$ fpc -V|head -n1
Free Pascal Compiler version 3.0.4rc1 [2017/08/07] for i386
$ ls /usr/lib/fpc/*/units
/usr/lib/fpc/3.0.4/units:
i386-linux

/usr/lib/fpc/3.1.1/units:
i386-win32  x86_64-win64
$ ls /usr/bin/ppcross*
/usr/bin/ppcross386  /usr/bin/ppcrossx64
$ /usr/bin/ppcross386 -V|head -n1
Free Pascal Compiler version 3.1.1 [2017/11/27] for i386
$ /usr/bin/ppcrossx64 -V|head -n1
Free Pascal Compiler version 3.1.1 [2017/11/27] for x86_64

I assume the solution is to specify another compiler
in ../../lazconf/environmentoptions.xml so I attached it. I am using
Lazarus 1.8.0RC5 installed via deb from sourceforge. Without other
advise I will try again with Lazarus from trunk.

If you want to try my steps, this repository may be of help:
https://github.com/tomboy-notes/tomboy-ng

To build it, I use ansible for automation:
https://github.com/traumschule/tomboy

To explain the funny path above, these are the steps I did:
cd ~/src
git clone https://github.com/traumschule/tomboy
cd tomboy
./bin/configure.sh # this installs lazarus, patches KControls and
checks out tomboy-ng cd src/tomboy-ng
lazbuild --pcp=../../lazconf --os=win32 --cpu=i386 Tomboy_NG.lpi

Thanks!
kardan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: environmentoptions.xml
Type: application/xml
Size: 1060 bytes
Desc: not available
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20171128/3c3f02c8/attachment-0001.xml>


More information about the Lazarus mailing list