Building on Raspberry Pi 3

5 posts / 0 new
Last post
WZ0W
WZ0W's picture
Building on Raspberry Pi 3

I have installed FPC 3.1.1 and lazarus 1.7 on my Raspberry Pi 3. When I try to build the CQRLog v2.0.2 source, it fails as follows:

(3104) Compiling fSQLConsole.pas
(10001) PPU Loading /usr/share/lazarus/components/synedit/units/arm-linux/gtk2/syneditsearch.ppu
(10011) PPU Source: syneditsearch.pp not found
(10011) PPU Source: synedit.inc not available
(10028) Recompiling SynEditSearch, checksum changed for RegExpr
/usr/share/lazarus/components/synedit/units/arm-linux/gtk2/syneditsearch.ppu:syneditsearch.pp(10,53) Fatal: (10022) Can't find unit SynEditSearch used by SynEdit
Fatal: (1018) Compilation aborted
Error: /usr/bin/ppcarm returned an error exitcode
Error: (lazarus) Compile Project, Target: cqrlog: stopped with exit code 256
Error: (lazbuild) failed compiling of project /home/pi/projects/cqrlog/cqrlog-2.0.2/src/cqrlog.lpi
Makefile:9: recipe for target 'cqrlog' failed

The files syneditsearch.pp and syneditsearch.ppu are present in the appropriate lazarus directories, so I'm not sure what the problem is. Any help?

Scott WZ0W

gi7kmc
I am getting the same issue.

I am getting the same issue. If I get any where with it I will let you know

Jonathan GI7KMC

WZ0W
WZ0W's picture
Thanks, Jonathan. I tried

Thanks, Jonathan. I tried again with the new release, v 2.0.4, and I also installed libmysqld-dev and libmysqlclient-dev, but ended up with the exact same failure.
 
Scott

oh1kh
Building on Raspberry Pi 3

Hi!
Had this same error when I did merge from Petr's master at Github to one of my devel folders.

This command helped:
cp /usr/lib64/fpc/3.0.4/units/x86_64-linux/regexpr/regexpr.ppu /home/saku/lazarus/cqrlog-devel/src/RegExpr.ppu

Paths are not same for Rasp.
This is a "tape & iron wire fix". Actually something is making ppu files to source directory because if all *.ppu are removed they appear again.
But I could not yet find out where is the definition for this.

To end up to this do (in lazarus-ide):
Project -> project options -> button: "test"

You will get a list of files like:

HINT: using config file /etc/fpc.cfg
WARNING: ppu exists twice: /home/saku/lazarus/cqrlog-devel/src/lnet/lib/lclnet.ppu, /home/saku/lazarus/cqrlog-devel/src/lclnet.ppu
WARNING: ppu exists twice: /home/saku/lazarus/cqrlog-devel/src/lnet/lib/lcommon.ppu, /home/saku/lazarus/cqrlog-devel/src/lcommon.ppu
WARNING: ppu exists twice: /home/saku/lazarus/cqrlog-devel/src/lnet/lib/lcontrolstack.ppu, /home/saku/lazarus/cqrlog-devel/src/lcontrolstack.ppu
WARNING: ppu exists twice: /home/saku/lazarus/cqrlog-devel/src/lnet/lib/levents.ppu, /home/saku/lazarus/cqrlog-devel/src/levents.ppu
WARNING: ppu exists twice: /home/saku/lazarus/cqrlog-devel/src/lnet/lib/lnetcomponents.ppu, /home/saku/lazarus/cqrlog-devel/src/lnetcomponents.ppu
WARNING: ppu exists twice: /home/saku/lazarus/cqrlog-devel/src/lnet.ppu, /home/saku/lazarus/cqrlog-devel/src/lnet/lib/lnet.ppu
WARNING: ppu exists twice: /home/saku/lazarus/cqrlog-devel/src/ltelnet.ppu, /home/saku/lazarus/cqrlog-devel/src/lnet/lib/ltelnet.ppu
WARNING: ppu exists twice: /home/saku/lazarus/cqrlog-devel/src/synapse/blcksock.ppu, /home/saku/lazarus/cqrlog-devel/src/blcksock.ppu
WARNING: ppu exists twice: /home/saku/lazarus/cqrlog-devel/src/synapse/ftpsend.ppu, /home/saku/lazarus/cqrlog-devel/src/ftpsend.ppu
WARNING: ppu exists twice: /home/saku/lazarus/cqrlog-devel/src/synapse/httpsend.ppu, /home/saku/lazarus/cqrlog-devel/src/httpsend.ppu
WARNING: ppu exists twice: /home/saku/lazarus/cqrlog-devel/src/synapse/ssl_openssl_lib.ppu, /home/saku/lazarus/cqrlog-devel/src/ssl_openssl_lib.ppu
WARNING: ppu exists twice: /home/saku/lazarus/cqrlog-devel/src/synapse/ssl_openssl.ppu, /home/saku/lazarus/cqrlog-devel/src/ssl_openssl.ppu
WARNING: ppu exists twice: /home/saku/lazarus/cqrlog-devel/src/synapse/synachar.ppu, /home/saku/lazarus/cqrlog-devel/src/synachar.ppu
WARNING: ppu exists twice: /home/saku/lazarus/cqrlog-devel/src/synapse/synacode.ppu, /home/saku/lazarus/cqrlog-devel/src/synacode.ppu
WARNING: ppu exists twice: /home/saku/lazarus/cqrlog-devel/src/synapse/synafpc.ppu, /home/saku/lazarus/cqrlog-devel/src/synafpc.ppu
WARNING: ppu exists twice: /home/saku/lazarus/cqrlog-devel/src/synapse/synaicnv.ppu, /home/saku/lazarus/cqrlog-devel/src/synaicnv.ppu
WARNING: ppu exists twice: /home/saku/lazarus/cqrlog-devel/src/synapse/synaip.ppu, /home/saku/lazarus/cqrlog-devel/src/synaip.ppu
WARNING: ppu exists twice: /home/saku/lazarus/cqrlog-devel/src/synaser.ppu, /home/saku/lazarus/cqrlog-devel/src/synapse/synaser.ppu
WARNING: ppu exists twice: /home/saku/lazarus/cqrlog-devel/src/synautil.ppu, /home/saku/lazarus/cqrlog-devel/src/synapse/synautil.ppu
WARNING: ppu exists twice: /home/saku/lazarus/cqrlog-devel/src/synsock.ppu, /home/saku/lazarus/cqrlog-devel/src/synapse/synsock.ppu
WARNING: ppu exists twice: /usr/lib64/fpc/3.0.4/units/x86_64-linux/fv/dialogs.ppu, /usr/lib64/lazarus/lcl/units/x86_64-linux/dialogs.ppu
WARNING: ppu exists twice: /usr/lib64/fpc/3.0.4/units/x86_64-linux/fv/menus.ppu, /usr/lib64/lazarus/lcl/units/x86_64-linux/menus.ppu
WARNING: ppu exists twice: /usr/lib64/fpc/3.0.4/units/x86_64-linux/regexpr/regexpr.ppu, /home/saku/lazarus/cqrlog-devel/src/RegExpr.ppu

The last line made me try what happens if I copy library file to source folder. And after it compile went OK.

There must be setting in somewhere to use only library versions. And it seems to go with source code.

But where?

--
Saku
OH1KH

oh1kh
Building on Raspberry Pi 3

HI!
While checking more I found following unneeded files in /src directtory:

blcksock.pas
fdxchat.lfm
fDXChat.lfm
fdxchat.pas
fDXChat.pas
ftpsend.pas
httpsend.pas
kozememo.pas
RegExpr.pas
ssfpc.pas
ssl_cryptlib.pas
ssl_openssl_lib.pas
ssl_openssl.pas
ssl_sbb.pas
ssl_streamsec.pas
synachar.pas
synacode.pas
synafpc.pas
synaicnv.pas
synaip.pas
synaser.pas
synautil.pas
synsock.pas

But I will note that I merged Peter's git repo over my own devel .

If you have downloaded clean repo there should not be so many extra files! Just look after RegExpr.pas in /src. That is the one causing problems that will show up as:

Recompiling SynEditSearch, checksum changed for RegExpr
/usr/share/lazarus/components/synedit/units/arm-linux/gtk2/syneditsearch.ppu:syneditsearch.pp(10,53) Fatal:

--
Saku
OH1KH